我使用 Android 应用程序生成KeyPair,创建CSR并将其发送到我的CA。在密钥对生成期间,我使用“AndroidKeyStore”:
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA","AndroidKeyStore");
keyPairGenerator.initialize(new KeyGenParameterSpec.Builder(
alias,
KeyProperties.PURPOSE_SIGN | KeyProperties.PURPOSE_VERIFY)
.setKeySize(KEY_PAIR_LENGTH)
.setDigests(KeyProperties.DIGEST_SHA256)
.setSignaturePaddings(KeyProperties.SIGNATURE_PADDING_RSA_PSS)
.build());
return keyPairGenerator.generateKeyPair();
所以 PrivateKey 被生成并存储在 KeyStore 中。
当我从我的 CA 获得 X509Certificate(签名 CSR)时,我想使用 KeyChain API 安装 PrivateKey 和证书:
PKCS12 = ?!
Intent intent = createInstallIntent();
intent.putExtra(KeyChain.EXTRA_PKCS12, PKCS12);
在那种情况下可以使用AndroidKeyStore吗?我读到无法从AndroidKeyStore获取 PrivateKey 。