【问题标题】:Determining which certificate to use in two way ssl以两种方式确定要使用的证书 ssl
【发布时间】:2014-09-23 22:27:12
【问题描述】:

我在 Web 服务调用期间将我们的证书(客户端)发送到另一台服务器时遇到问题。

我们应该返回带有 CN 的证书:

b2b-test

但是,每当我们收到服务器证书并尝试发送我们自己的证书时,我们都会得到:

Unable to find valid certificate path to requested target

据我了解,如果我将我们的证书 b2b-test 放在我们的密钥库 jre/lib/security/cacerts 中,那么当接收到服务器请求时,它应该发送适当的证书。

客户端如何知道它应该从密钥库中向服务器发送哪个密钥?我应该在我的请求期间指定要发送的确切证书,还是将其放在密钥库中就足够了?

目前服务器正在发回证书

b2b-a

证书链显示:

*** Certificate chain
chain [0] = [
[
  Version: V3
  Subject: CN=b2b-a, OU=Web Technologies

服务的网址是:

https://b2b-a/service

如果我将它配置为一种方式 ssl,并将服务器证书放入我们的 cacerts,那么它会获取他们的证书并导致握手失败(我假设是因为它期待我们的证书而不是他们的证书,因为它是两种方式设置)。

我在这里有点难过。非常感谢对我所说的任何澄清。

【问题讨论】:

    标签: java tomcat ssl https


    【解决方案1】:

    “无法找到请求目标的有效证书路径”错误通常发生在一方传递的证书另一方不信任链中的任何证书时。您通常会(总是?)在接收证书的一侧(缺少信任库的一侧)看到错误消息。

    如果您是客户端,而他们是服务器,单向 SSL 会将他们的证书从他们那里发送给您,您将对其进行验证(确保主机名与证书中的内容匹配),但它会不要将您的任何证书发送给他们,他们也不会进行任何验证。

    您需要确保配置的信任库包含 b2b-a 证书或用于对其进行签名的证书(但该证书似乎没有任何根 CA,因此您重新坚持直接导入证书本身)。所以,是的,您想做您在帖子中写的内容,并将他们的证书放入您的 cacerts 中。您还需要确保 b2b-a 服务信任您发送的证书(或用于签署您的证书的根 CA,如果有的话),因此您需要将您的证书放入他们的cacerts 也是如此,或者做类似的事情。

    请注意,将证书放入 cacerts(或信任库 JKS)不会将任何证书发送给任何人; 使用任何信任库来允许您验证您是否信任其他人提供给您的证书,因为您信任该证书或因为您信任用于签署该证书的 CA 证书。没有从 cacerts 目录中挑选证书发送到另一台机器。

    如果您使用的是 JKS 而不是 JRE 目录(这通常是一个更好的主意,因为您可以为您的进程指定一组不同的受信任证书,而无需更改在您的 JRE 中运行 Java 项目的任何人的默认设置),可以将相同的 JKS 用作密钥库和信任库(您只需为密钥库和信任库属性提供相同的文件名和密码),或者您可以拥有两个单独的文件;两种方法都行。

    【讨论】:

      【解决方案2】:

      据我了解,如果我将我们的证书 b2b-test 放在我们的密钥库 jre/lib/security/cacerts 中,那么当接收到服务器请求时,它应该发送适当的证书。

      当然不是。那是一个信任库。受信任证书的来源。不要惹它。它没有用于您需要的目的,并且在任何情况下都会更新每个 Java dot 版本,这会破坏您的更改。

      您自己的证书和私钥/公钥对应该放在您自己的文件中,即 keystore,该文件由 javax.net.ssl.keyStorejavax.net.ssl.keyStorePassword 系统属性或由JSSE 参考指南中描述的更复杂的方法。

      密钥库是一个珍贵的机密文件,其中包含您的私钥。保护和保护它。私钥泄露会危及您的安全和身份。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-23
        • 2011-07-02
        • 2016-04-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多