如何在Java KeyStore中加载多个SSL证书?

时间:2014-11-21 21:49:47

标签: java android ssl

我有两个SSL证书文件。第一个标记为“OU =证书颁发机构”,第二个标记为“OU =根证书”。我们的C ++应用程序加载这些证书以进行正确的客户端/服务器握手。

我现在需要在我的Android代码中使用这些证书。我已经能够使用CertificateFactory.generateCertificate()方法成功读取这些证书。

接下来,我需要将这些证书存储在密钥库中。以下是我找到的示例代码:

    String keyStoreType = KeyStore.getDefaultType();
    KeyStore keyStore = KeyStore.getInstance(keyStoreType);
    keyStore.load(null, null);
    keyStore.setCertificateEntry("ca", ca);

我对如何存储根证书感到困惑。我是否只是再次为第二个证书调用setCertificateEntry()并传入一些随机别名?

我在KeyStore上看到另一个名为setEntry的方法。我应该使用这种方法吗?问候。

1 个答案:

答案 0 :(得分:3)

请使用其他别名再次调用它。

示例:

keyStore.setCertificateEntry("ca", ca);
keyStore.setCertificateEntry("debug", ca2);

正如@Peter所提到的,可能没有与别名的交互。