【问题标题】:How to upgrade TLS 1.0 to TLS 1.2 on wso2product如何在 wso2product 上将 TLS 1.0 升级到 TLS 1.2
【发布时间】:2019-12-13 00:25:51
【问题描述】:

我们正在尝试在 WSO2 BPS 中将 TLS 1.0 升级到 TLS 1.2 版本。使用此链接Reference Link From WSO2 升级 TLS 最新版本的步骤如下,我们的 JAVA 应用程序正在 JDK 1.8 中运行。

  1. 打开<PRODUCT_HOME>/repository/conf/tomcat/catalina-server.xml 文件。

  2. 删除了 sslProtocol="TLS" 属性并将其替换为 sslEnabledProtocols="TLSv1.2" 如下图。

> <Connector SSLEnabled="true"  port="9443"
> protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
> secure="true" server="WSO2 Carbon Server"
> sslEnabledProtocols="TLSv1.2"
> svns:secretAlias="Server.Service.Connector.keystorePass"/>
  1. 启动服务器。
  2. 为了验证配置是否全部设置正确,我们执行以下命令,java -jar TestSSLServer.jar localhost 9443 并仅以 TLSv1.2 获取 TLS 配置响应,
Supported versions: TLSv1.2
Deflate compression: no
Supported cipher suites (ORDER IS NOT SIGNIFICANT):
  TLSv1.2
     DHE_RSA_WITH_AES_128_CBC_SHA
     DHE_RSA_WITH_AES_256_CBC_SHA
     DHE_RSA_WITH_AES_128_CBC_SHA256
     DHE_RSA_WITH_AES_256_CBC_SHA256
     TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
     TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
     TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
     TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
     TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
     TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
     TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
     TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
----------------------
Server certificate(s):
  501fc1432d87155dc431382aeb843ed558ad61b1: CN=localhost, O=WSO2, L=Mountain View, ST=CA, C=US
----------------------
Minimal encryption strength:     strong encryption (96-bit or more)
Achievable encryption strength:  strong encryption (96-bit or more)
BEAST status: protected
CRIME status: protected
  1. 但是当我们捕获 pcap 文件并且在 Wireshark 中它显示为 TLSv1.0 时仍然如下所示:

更新:

我们已按照@user7294900 指令更改了jre/lib/security/java.security。 当我们在那个 java.security 文件中设置配置时,我们在 wso2BPMN 中遇到了这个错误消息。但是我们可以通过握手失败通知在 Wireshark 捕获中查看 TLS 版本 1.2。

Wso2BPMN,

Caused by: org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.office365.com:587
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1398)
at org.apache.commons.mail.Email.send(Email.java:1423)
at org.activiti.engine.impl.bpmn.behavior.MailActivityBehavior.execute(MailActivityBehavior.java:102)
... 192 more
Caused by: javax.mail.MessagingException: Can't send command to SMTP host;
  nested exception is:
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1420)
at com.sun.mail.smtp.SMTPTransport.sendCommand(SMTPTransport.java:1408)
at com.sun.mail.smtp.SMTPTransport.ehlo(SMTPTransport.java:847)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:384)
at javax.mail.Service.connect(Service.java:297)
at javax.mail.Service.connect(Service.java:156)
at javax.mail.Service.connect(Service.java:105)
at javax.mail.Transport.send0(Transport.java:168)
at javax.mail.Transport.send(Transport.java:98)
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1388)
... 194 more

那么,TLSv1.2版本升级需要什么配置吗?

【问题讨论】:

  • 这个 Change Cipher Spec 消息是从客户端还是服务器发送的?两者都应该发送一个,这可能只是客户端表明它能够使用 TLS 1.0(只是基于快速阅读 TLS 1.2 RFC 的猜测,所以我可能会离开)。
  • @JoachimSauer 这是从客户端还是服务器发送的 Change Cipher Spec 消息?它是客户端。我们需要对此进行澄清。

标签: java ssl wso2 tls1.2 wso2bps


【解决方案1】:

WSO2 打开许多随机端口。您可以尝试在 java.security 中禁用 TLSv1TLSv1.1。 设置如下:

jdk.tls.disabledAlgorithms= SSLv2Hello, SSLv3, TLSv1, TLSv1.1

在文件中

&lt;PRODUCT_HOME&gt;/jre/lib/security/java.security.

我在身份服务器上试过这个。你可以试试 BPS。

【讨论】:

  • 其实我们在BPS中尝试过这种方法。还是不行。
【解决方案2】:

你需要disable TLS below 1.2

设置

 jdk.tls.disabledAlgorithms= SSLv2Hello, SSLv3, TLSv1, TLSv1.1

在服务器上的文件 jre/lib/security/java.security 中。

还可以尝试将您的密码减少为@Dimtri suggested

设置仅受 TLSv1.2 支持的密码

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256

【讨论】:

猜你喜欢
  • 2018-10-20
  • 1970-01-01
  • 2021-01-02
  • 2015-10-13
  • 2016-12-21
  • 1970-01-01
  • 2017-09-25
  • 2018-10-17
  • 2018-08-06
相关资源
最近更新 更多