此问题是我之前的问题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"
这很奇怪,因为
prKey.getAlgorithm()
返回正确的算法。cert.getPublicKey().getAlgorithm()
也会返回正确的算法。ks.size()
正常工作。密钥和证书由以下人员生成:
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
所以,认为所有参数都是正确的,但为什么抛出异常?