我有一个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 客户端何时应安装密钥库中包含的密钥库和证书?客户端何时应仅安装包装在密钥库中的证书?有什么区别 ?我对此感到很困惑。