如何在WebSphere Liberty 8.5.5.6中启用TLSv1.2?

时间:2016-02-09 19:15:01

标签: ssl websphere-liberty tls1.2

我正在尝试在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流量。但是我需要为控制器&lt; - &gt;成员通信设置其他东西来使用TLSv1.2吗?或者在某个地方我可以将其关闭以进行服务器间通信,如果它不受支持那么?

1 个答案:

答案 0 :(得分:2)

控制器和成员具有SSL的其他配置。要将其配置更新为TLSv1.2,这就是我所做的:

  1. 在每个服务器的server.xml中(您已经拥有第一部分,但为了完整性,我再次包括它):
  2. <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文件:
    2.   

      JVM_ARGS = -Dhttps.protocols = TLSv1.2工作