gpt4 book ai didi

java - 如何在Java中设置TLS1.2版本

转载 作者:搜寻专家 更新时间:2023-11-01 03:34:41 24 4
gpt4 key购买 nike

环境细节:

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版本:

  1. 控制面板-->程序-->Java-->高级选项卡-->高级安全设置检查了 TLS1.1 和 TLS1.2 并取消选中其余的旧版本。但仍然在 Wire shark 软件中,我们看到客户端仅在 TLSV1 中与服务器通信。

  2. -Ddeployment.security.SSLv2Hello=false -Ddeployment.security.SSLv3=false -Ddeployment.security.TLSv1=false -Ddeployment.security.TLSv1.1=true -Ddeployment.security.TLSv1。 2=真

    在启动脚本中给出,但在 Wire shark 软件中,我们看到客户端仅在 TLSV1 中与服务器通信。

    引用链接:https://superuser.com/questions/747377/enable-tls-1-1-and-1-2-for-clients-on-java-7

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

    jre/lib/security/java.securityjdk1.7.0_40/jre/lib/security/java.security 中。但仍然在 Wire shark 软件中,我们看到客户端仅在 TLSV1 中与服务器通信。

    引用链接:How to force java server to accept only tls 1.2 and reject tls 1.0 and tls 1.1 connections

谁能告诉我们如何为客户端和服务器强制执行 TLS1.2 版本。

最佳答案

我将 Tomcat 6 与 java 7 结合使用,因为 java 6 及更早版本不支持 TLS1.2。

为了配置我的服务器,我做了以下事情:

  1. 在其属性 sslEnabledProtocols 的标记连接器处修改文件 server.xml 如下:
<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" />
  1. 我测试了我的整个应用程序以避免不兼容。

关于java - 如何在Java中设置TLS1.2版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34609384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com