何时安装密钥库以及何时仅安装包装在密钥库中的证书
我有一个PKCS#12文件,我认为它是一个密钥库文件,因为它包含一个密钥条目和一个证书条目。
在Android中,我看到人们通过以下方式以编程方式安装密钥库(代码来自Android开发人员博客):
byte[] keystore = . . (read from a PKCS#12 keystore)
Intent installIntent = KeyChain.createInstallIntent();
installIntent.putExtra(KeyChain.EXTRA_PKCS12, keystore);
startActivityForResult(installIntent, INSTALL_KEYSTORE_CODE);
我还看到人们以编程方式仅安装包装在密钥库中的证书:
Intent intent = KeyChain.createInstallIntent();
intent.putExtra(KeyChain.EXTRA_CERTIFICATE, cert);
startActivity(intent);
此外,我还看到人们同时安装了密钥库和包装在密钥库中的证书。例如,本文向我们展示了如何首先安装密钥库,然后以编程方式安装包装在密钥库中的证书。
我真的对何时应该只安装密钥库以及何时应该只安装证书(包装在密钥库内)感到困惑?我应该什么时候安装两者?有人可以让我清楚这一点吗?
例如,我的密钥库PKCS#12文件(mycert.p12)包含密钥/证书对,它用于连接到VPN服务器。我的 Android 客户端何时应该同时安装密钥库和包装在密钥库中的证书?客户端何时应仅安装包装在密钥库中的证书?有什么区别?我对此感到非常困惑。