KeyStore.setKeyEntry返回NullPointerException:尝试获取null数组的长度

时间:2016-04-26 17:05:42

标签: openssl android-keystore

此问题是我之前的问题How to import RSA private key, which generated by openssl, into AndroidKeyStore的补充。我尝试通过以下方式在KeyStore中导入我的privateKey:

KeyStore ks = KeyStore.getInstance("AndroidKeyStore");
ks.load(null);
ks.setKeyEntry("myAlias", prKey, null, new Certificate[] {cert});

我得到一个例外:

"java.lang.NullPointerException: Attempt to get length of null array"

这很奇怪,因为

  1. prKey.getAlgorithm()返回正确的算法。
  2. cert.getPublicKey().getAlgorithm()也会返回正确的算法。
  3. ks.size()正常工作。
  4. 密钥和证书由以下人员生成:

    openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days XXX
    openssl x509 -outform der -in cert.pem -out certificate.der
    xxd -p certificate.der
    

    所以,认为所有参数都是正确的,但为什么抛出异常?

0 个答案:

没有答案