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"

И это странно, потому что

  1. prKey.getAlgorithm() верните правильный алгоритм.
  2. cert.getPublicKey().getAlgorithm() также верните правильный алгоритм.
  3. 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

Итак, все параметры верны, но почему это исключение?

0 ответов

Другие вопросы по тегам