【问题标题】:SSL connection closed using a Java Keystore with multiple certificates in itSSL 连接使用包含多个证书的 Java 密钥库关闭
【发布时间】:2016-03-15 03:17:40
【问题描述】:

我的问题如下:

我需要建立与服务器的可信连接才能使用几个 Web 服务。问题是服务器管理配置文件,因此某些服务仅在作为特定用户请求时才提供。

目前有两个用户配置文件,每个都与一个特定的证书相关联(每个证书都打包为单独的 .pfx 文件)。为了能够与 Java 建立安全连接,我继续使用 keytool 将两个证书导入密钥库。

当我将每个证书导入到一个新的、单独的密钥库中时,一切都像一个魅力,我能够成功地连接和使用这些服务。当然,这导致我有两个不同的密钥库(现在,如果将来出现更多用户配置文件,可能会是“n”),因此我继续将两个 .pfx 导入到一个单个密钥库。

这就是事情开始变得混乱的地方:无论我应用哪种导入过程(相信我,我已经尝试了很多,包括不必要的中间步骤,例如导出到 .pem.der 文件首先使用 openSSL),其中一个用户配置文件总是被服务器拒绝。此外,无论我先导入两个中的哪一个,所述拒绝始终是相同的配置文件。

我应该注意我特别注意别名(这是我首先怀疑的事情之一),并且在导入期间明确声明了源别名和目标别名(-srcalias 和 @987654323 @)。

我目前正在使用 SoapUI 测试生成的密钥库,我可以让有问题的配置文件的证书正常工作的唯一方法是将它放在自己的单独密钥库中。我需要它们都在同一个密钥库中。

有人知道如何进行吗?

【问题讨论】:

    标签: java ssl certificate keystore keytool


    【解决方案1】:

    回答我自己的问题:

    证书或导入过程没有问题。问题是没有根据别名正确选择证书,这是因为 SSL_SOCKET_FACTORY 系统属性设置错误(因此,我的自定义 SSL Socket Factory 类没有被使用)。

    我附上了帮助我大大缩小问题范围的来源网址:

    【讨论】:

      猜你喜欢
      • 2013-01-02
      • 2011-08-17
      • 1970-01-01
      • 2012-03-08
      • 2021-02-09
      • 1970-01-01
      • 2015-02-17
      • 2016-07-10
      • 2017-05-10
      相关资源
      最近更新 更多