0
自己署名付きルートCAを使用してクライアント証明書を作成しました。clientcert.p12ファイルをAndroidデバイスにインストールしました。android証明書ストアからクライアント証明書を取得する方法
私のアプリでは、次のコードを試してみました。
KeyStore store = KeyStore.getInstance("PKCS12");
if (store != null)
{
store.load(null, new String("the keystore password").toCharArray());
Log.i("BIRAJENDU", "CERT CHECK" + "Type: "+ store.getType()+ " Size: " +store.size());
Enumeration<String> aliases = store.aliases();
if (!aliases.hasMoreElements()) {
Log.i("BIRAJENDU", "No cert found");
}
}
私は常にゼロとしてstore.size()を取得しています。
しかし、KeyStore store = KeyStore.getInstance("AndroidCAStore");
を使用すると、適切な店舗サイズが取得されています。しかしここに私の必要性は見つけることですPKCS12ストア。
はいこの情報は秘密鍵を見つけるのに便利でした。しかし、私の要件は、上記のKeyChainのアプローチでは、私はchoosePrivateKeyAlias()を呼び出す必要がありますユーザーの介入で、すべてのPKCS証明書チェーンにアクセスしていません。これは、証明書選択システムダイアログを開くことです。私のユースケースではこれを許可していません。 – Birajendu
その場合、証明書をアプリケーションにインポートする必要があります。そうでない場合は、デバイスを証明書をデバイスにインポートしたデバイス所有者またはプロファイル所有者のコンポーネントにする必要があります。 –
私のアプリはMDMアプリではないので、私はそれをデバイスの所有者またはプロフィールの所有者のアプリにすることはできないと思います。 – Birajendu