【问题标题】:How to load multiple SSL certificates in Java KeyStore?如何在 Java KeyStore 中加载多个 SSL 证书?
【发布时间】:2014-11-21 21:49:47
【问题描述】:

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

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

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

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

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

我在 KeyStore 上看到了另一种方法,称为 setEntry。我应该改用这种方法吗?问候。

【问题讨论】:

    标签: java android ssl


    【解决方案1】:

    只需用另一个别名再次调用它。

    例子:

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

    【讨论】:

    • @AstroCB。事实上,确实如此。
    • 就这么简单。通过更改,看起来我的客户端能够连接到服务器。猜猜别名对于客户端/服务器握手没有任何意义。感谢您的帮助。
    • @AstroCB 这里没有批评,我不需要作者的澄清,也不需要那些显然既没有读过这个问题也没有理解这个话题的人的荒谬cmet。
    猜你喜欢
    • 2018-11-03
    • 1970-01-01
    • 2018-12-12
    • 2020-10-23
    • 1970-01-01
    • 2013-03-31
    • 2015-11-06
    • 2020-12-09
    • 1970-01-01
    相关资源
    最近更新 更多