KeyStore.setKeyEntry возвращает NullPointerException: попытка получить длину нулевого массива
Этот вопрос является дополнением к моему предыдущему вопросу Как импортировать закрытый ключ RSA, сгенерированный openssl, в AndroidKeyStore. Я пытаюсь импортировать мой privateKey в KeyStore следующим образом:
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
Итак, все параметры верны, но почему это исключение?