Генерация CSR с использованием ключей Android KeyStore - PullRequest
1 голос
/ 02 мая 2020

Есть ли способ генерировать CSR ключей, хранящихся в Android KeyStore? Я знаю, что вы можете сгенерировать ключи, затем сгенерировать CSR и, наконец, сохранить ключи в Android KeyStore, но возможно ли также сгенерировать CSR в ранее сгенерированной точке и уже внутри хранимых ключей KeyStore?

Я попытался сделать это точно так же, как вы делали бы это со свежесгенерированными ключами, используя Spongycastle. Но я столкнулся с проблемой при создании JCAContentSigner. Запуск этого кода:

new JcaContentSignerBuilder("SHA256WithRSAEncryption").setProvider("SC").build(privateKey)

Будет выдано исключение:

org.spongycastle.operator.OperatorCreationException: cannot create signer: Supplied key (android.security.keystore.AndroidKeyStoreRSAPrivateKey) is not a RSAPrivateKey instance

Без установки SpongyCastle в качестве поставщика безопасности, я получаю это исключение:

org.spongycastle.operator.OperatorCreationException: cannot create signer: Keystore operation failed

Итак, мой вопрос, возможен ли один из этих трех вариантов:

  1. приведение android .security .keystore.AndroidKeyStoreRSAPrivateKey в экземпляр RSAPrivateKey?

  2. заставить его работать без установки SpongyCastle в качестве поставщика безопасности?

  3. создание CSR без SpongyCastle?

...