アプリケーションの起動時にアプリケーションに証明書をインストールしています。以下のリンクのいくつかを確認し、証明書を正常にインストールしました。
ユーザーの操作なしに証明書をサイレント インストールできないことがわかりました。現在、ユーザーがアプリを開くたびにプロンプトを停止する方法がわかりません。
アプリケーションが現在起動するたびに、ユーザーに証明書のインストールを要求します。証明書(この場合は私の証明書)が既にインストールされているかどうかをプログラムで検出できる方法はありますか?
アプリに証明書をインストールしたコード スニペット
private void installCertificate()
{
try
{
BufferedInputStream bis = new BufferedInputStream(getAssets().open(MY_CERT));
byte[] keychain = new byte[bis.available()];
bis.read(keychain);
Intent installIntent = KeyChain.createInstallIntent();
X509Certificate x509 = X509Certificate.getInstance(keychain);
installIntent.putExtra(KeyChain.EXTRA_CERTIFICATE, x509.getEncoded());
installIntent.putExtra(KeyChain.EXTRA_NAME, MY_CERT);
startActivityForResult(installIntent, INSTALL_KEYCHAIN_CODE);
}
catch (IOException e) {
e.printStackTrace();
}
catch (CertificateException e)
{
e.printStackTrace();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == INSTALL_KEYCHAIN_CODE)
{
switch (resultCode)
{
case Activity.RESULT_OK:
doTheTask();
break;
case Activity.RESULT_CANCELED:
finish();
break;
default:
super.onActivityResult(requestCode, resultCode, data);
}
}
}
また、参考までに、installCertificate() は onCreate() から呼び出されます。
同じことで私を助けてください。どんな助けでも大歓迎です。
クエリ:証明書名のプロンプトが表示されると、入力されたテキストが選択されたとおりに表示され、向きを変更すると切り取り/コピー オプションが表示されます。プロンプトが表示されたときにテキスト選択を停止する方法を知っている人はいますか?!!!