环境详情:
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode).我们使用的是jboss-4.2.3.GA,厚客户端使用ejb。
我们尝试以下列方式设置TLS1.2版本:
-Ddeployment.security.SSLv2Hello=false -Ddeployment.security.SSLv3=false -Ddeployment.security.TLSv1=false -Ddeployment.security.TLSv1.1=true -Ddeployment.security.TLSv1.2=true
在启动脚本中给出,但在Wire软件中,我们看到客户机只在TLSV1中与服务器对话。
参考链接:https://superuser.com/questions/747377/enable-tls-1-1-and-1-2-for-clients-on-java-7jdk.tls.disabledAlgorithms= SSLv2Hello, SSLv3, TLSv1, TLSv1.1
在jre/lib/security/java.security和jdk1.7.0_40/jre/lib/security/java.security中。但是,在Wire软件中,我们仍然看到客户只在TLSV1中与服务器对话。
参考链接:如何强制java服务器只接受tls 1.2并拒绝tls 1.0和tls 1.1连接有人能告诉我们如何对客户端和服务器执行TLS1.2版本吗?
发布于 2016-07-29 16:36:57
我在java 7中使用Tomcat 6,因为java 6和更早版本不支持TLS1.2。
为了配置我的服务器,我执行了以下操作:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="450" scheme="https" secure="true"
keystoreFile="<your_keystore>" keystorePass="<somepasswd>" clientAuth="false"
keyAlias="tomcat" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"
URIEncoding="UTF-8" maxHttpHeaderSize="32768"
ciphers = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA" />发布于 2016-10-17 19:09:34
我正在使用一个Java命令应用程序,并且遇到了类似的问题。
来自甲骨文,java 7默认使用TLSv1,java 8默认使用TLSv1.2
尝试使用JRE8后,应用程序将自动使用TLSv1.2。以下是我的java信息:
java version "1.8.0_92"
Java(TM) SE Runtime Environment (build 1.8.0_92-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.92-b14, mixed mode)我继续研究如何用Java8配置什么运行时TLS版本,我尝试了您的第一种、第二种方式(也包括-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2),但没有什么真正的改变。
在java8:jdk.tls.disabledAlgorithms= SSLv2Hello, SSLv3, TLSv1, TLSv1.1中使用第三种方式时,我能够看到运行时的变化。我无法使用java7使其工作。不确定这是否是同一个问题。您修改了应用程序正在运行的正确的JRE配置吗?或者您是否可以升级到java 8,然后再试一次?
Oracle需要提供更好的文档,祝您好运!
https://stackoverflow.com/questions/34609384
复制相似问题