【问题标题】:How do I enable TLSv1.2 in WebSphere Liberty 8.5.5.6?如何在 WebSphere Liberty 8.5.5.6 中启用 TLSv1.2?
【发布时间】:2016-02-09 19:15:01
【问题描述】:

我正在尝试在 WebSphere Liberty Profile 8.5.5.6 中启用 TLSv1.2。我有三个 WLP 服务器在集群/集合中运行。我有 TLSv1.2 用于处理到三个成员服务器以及控制器的传入 HTTPS 流量。没关系。

但是,当任何成员尝试与控制器通信以获取正常的集体内容时,它会失败,并且我在控制器上收到以下错误消息:

000000a3 com.ibm.ws.channel.ssl.internal.SSLHandshakeErrorTracker E
 CWWKO0801E: Unable to initialize SSL connection.
 Unauthorized access was denied or security settings have expired.
 Exception is javax.net.ssl.SSLHandshakeException:
 Client requested protocol TLSv1 not enabled or not supported

这是我的每台服务器中的内容,包括控制器:

<sslDefault sslRef="defaultSslConfig" />
<ssl id="defaultSslConfig"
     keyStoreRef="defaultKeyStore"
     trustStoreRef="defaultTrustStore"
     clientAuthenticationSupported="true"
     sslProtocol="TLSv1.2" />

就像我说的,这适用于传入的 HTTPS 流量。但是我还需要为控制器成员通信设置什么才能使用 TLSv1.2 吗?或者如果那里不支持服务器间通信,我可以在某个地方关闭它吗?

【问题讨论】:

    标签: ssl websphere-liberty tls1.2


    【解决方案1】:

    控制器和成员对 SSL 有额外的配置。要将他们的配置更新到 TLSv1.2,这就是我所做的:

    1. 在每个服务器的 server.xml 中(您已经有了第一部分,但为了完整起见,我再次包含它):
    <ssl id="defaultSSLConfig"
             sslProtocol="TLSv1.2"
             keyStoreRef="defaultKeyStore"
             trustStoreRef="defaultTrustStore"
             clientAuthenticationSupported="true" />
    
     <ssl id="controllerConnectionConfig"
             sslProtocol="TLSv1.2"/>
    
     <ssl id="memberConnectionConfig"
             sslProtocol="TLSv1.2"/>
    
    1. 在每个系统上的 ${wlp.install.dir}/etc(您可能需要创建 etc 文件夹),创建一个 server.env 文件,其内容为:

    JVM_ARGS=-Dhttps.protocols=TLSv1.2

    【讨论】:

    • 谢谢,史蒂夫。那么那些 id 的(“controllerConnectionConfig”和“memberConnectionConfig”)是在内部寻找的硬编码的吗?
    • 这些是集合组件的隐式配置元素,并且是它们使用的命名配置。这些 sn-ps 基本上覆盖了该配置中的内容。
    猜你喜欢
    • 2017-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-01
    相关资源
    最近更新 更多