【问题标题】:How do you set a client side certificate in Websphere 8.5.5.9 for mSSL?如何在 Websphere 8.5.5.9 中为 mSSL 设置客户端证书?
【发布时间】:2016-11-28 16:11:02
【问题描述】:

我有一个当前部署在 WAS 8.5.5.9 中的应用程序。此应用程序通过 web 服务连接到另一台服务器,而另一台服务器的主机要求我使用 TLS 1.2 并通过相互 SSL 连接进行连接。

我已经在我的 WAS 的信任库中成功导入了(其他)服务器的主机证书,但由于这是 mSSL 而不是常规的单向 SSL,我还需要设置客户端证书以发送回其他服务器验证连接。

我该怎么做?我似乎在 WAS 管理控制台中找不到任何选项来指定要发送到远程服务器的 mSSL 客户端证书。

需要考虑的几点:

  • 我已经在 WAS 的 SSL 配置中选择了 TLSv1.2,它似乎可以正常工作
  • 客户端证书是由远程主机的所有者根据我们在 IKEYMAN 中创建的 CSR 提供​​给我的。
  • 我已尝试在 WAS 信任和密钥存储中导入客户端证书,但在尝试处理事务时仍然收到 handshake_failure 异常。
  • 远程服务器端的 TCP 转储表明服务器在接收客户端证书时长度为 0
  • 我这边的日志表明初始握手成功。 ClientHello 和 ServerHello 消息推送。但最后我收到了这条消息(虽然它并没有说明太多):
[11/28/16 20:57:15:836 CST] 000000e9 SystemOut O [原始读取]:长度 = 5 [11/28/16 20:57:15:836 CST] 000000e9 SystemOut O 0000: 15 03 03 00 02 ..... [11/28/16 20:57:15:836 CST] 000000e9 SystemOut O [原始读取]:长度 = 2 [11/28/16 20:57:15:836 CST] 000000e9 SystemOut O 0000: 02 28 .. [11/28/16 20:57:15:836 CST] 000000e9 SystemOut O Thread-142,读取:TLSv1.2 警报,长度 = 2 [11/28/16 20:57:15:836 CST] 000000e9 SystemOut O Thread-142,RECV TLSv1.2 警报:致命,handshake_failure

【问题讨论】:

    标签: java ssl websphere


    【解决方案1】:

    您可以使用“动态出站端点”功能将证书与目标服务器的连接相关联。要设置动态出站端点,请参阅:Associating a Secure Sockets Layer configuration dynamically with an outbound protocol and remote secure endpoint

    连接信息的格式为*,hostname,port。选择现有 SSL 配置 (CellDefaultSSLSettings) 后,单击“获取证书别名”按钮。然后从下拉列表中选择您的客户端证书。

    这应该允许您正确执行相互身份验证。请注意,您的客户端证书也必须存在于目标服务器的信任库中。

    【讨论】:

    • 非常感谢。不过只是快速询问。有没有办法在 Apache/IBM HTTPServer 中执行此操作?
    • @Avias,我不是网络服务器方面的专家,所以我无法可靠地回答这个问题。最好将其作为一个新问题发布。
    • 已注明。再次感谢:)
    猜你喜欢
    • 1970-01-01
    • 2018-04-06
    • 1970-01-01
    • 1970-01-01
    • 2018-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-23
    相关资源
    最近更新 更多