にAndroidKeyStoreエントリをインストールします。鍵ペアの生成時に、私は「AndroidKeyStore」を使用します。は、私は、<strong>キーペア</strong>を生成<strong>CSR</strong>を作成し、私の<strong>CA</strong>に送信するAndroidアプリケーションを使用AndroidCAStore
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のが生成され、キーストア内に格納されています。私は私のCAからのX509Certificate(CSRに署名した)を取得する場合
私はキーチェーンAPIを使用してのPrivateKeyと証明書をインストールしたいと思います:
PKCS12 = ?!
Intent intent = createInstallIntent();
intent.putExtra(KeyChain.EXTRA_PKCS12, PKCS12);
はそのような状況でAndroidKeyStoreを使用することが可能ですか?私はからAndroidKeyStoreにPrivateKeyを取得することは不可能だと読んでいます。
キーの素材をAndroidキーストアから抽出することはできません。 Android Keychainに証明書をインストールするためにPkcs12が必要な場合は、アプリのプライベートキーストアを使用する必要があります – pedrofb
別のキーストアを作成してKeyChain APIで使用することをお勧めしますか?キーストア内で秘密鍵を生成することは可能ですか?私はそれをAndroidKeyStoreだけで管理しました。 –
'KeyPairGenerator'を使って公開鍵と秘密鍵のペアを直接生成することができます。鍵と認証チェーンは後で 'KeyStore'に格納し、PKS12として直列化することができます。同様の例がhttps://stackoverflow.com/questions/13207378/saving-certificate-chain-in-a-pkcs12-keystoreにあります。 – pedrofb