当前位置: 首页 > 知识库问答 >
问题:

Tomcat:TLSV1.2强密码不起作用

吕皓
2023-03-14

我安装了Tomcat-7,在端口8443上配置了对TLSV1.2的支持。
我的连接器配置:
protocol=“org.apache.coyote.http11.http11nioprotocol”sslenabled=“true”scheme=“https”secure=“true”sslprotocol=“tlsv1.2”sslenabledprotocols=“tlsv1.2”sslenabledprotocols=“tlsv1.2”

然后我配置了一个我想要使用的强密码列表。TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

正如我读到的,Tomcat可以使用Java JSSE或OpenSSL
JSSE protocol=“org.apache.coyote.http11.http11nioProtocol”
OpenSSL protocol=“org.apache.coyote.http11.http11aprProtocol”
我的Tomcat连接器配置了JSSE协议。

如果我用SHA1添加下面的密码,它就会起作用。(无带SHA1的GCM)TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA。

我已经下载了Java密码扩展策略文件。Java 7号和Java 8号都试过。

在安装加密扩展之前,我在启动Tomcat时遇到以下错误

INFO: Initializing ProtocolHandler ["http-nio-8443"]
mai 20, 2014 3:57:43 PM org.apache.tomcat.util.net.jsse.JSSESocketFactory     getEnableableCiphers
WARNING: None of the ciphers specified are supported by the SSL engine :     TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

根据Java 7文档,所有这些具有GCM-SHA384和CBC-SHA384的强密码都应该得到支持:http://docs.oracle.com/javase/7/docs/technotes/guides/security/standardnames.html#ciphersuites

如果我稍微改变一下密码:

INFO: Initializing ProtocolHandler ["http-nio-8443"]
mai 20, 2014 4:21:11 PM org.apache.tomcat.util.net.jsse.JSSESocketFactory getEnableableCiphers
WARNING: None of the ciphers specified are supported by the SSL engine : TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA584,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA584,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA584,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA584

这将表明我的密码列表由我的Tomcat/Java支持。

问题可能出在浏览器上吗?我已经尝试了最新的Chromium和Firefox。在检查了一些提交后,我发现Chromium确实支持SHA256、SHA384和AES-GCM。

共有1个答案

古棋
2023-03-14

发现Chromium和Firefox都不支持这些更高级的密码。
可用的最强/最高密码是TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
不支持SHA384和不支持AES_256_GCM

https://www.ssllabs.com/ssltest/viewmyclient.html
密码套件(按首选项顺序排列)
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256(0xC02B)
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256(0xC02F)
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256(0x9E)
TLS_ECDHE_WITH_AES_256_CBC_SHA

 类似资料:
  • 我使用下面的链接作为参考来实现从PostgreSQL DB懒惰加载图像: URL 在我的用户实体中,我声明字节数组字段: 在pom.xml文件我包括hiberante增强插件: 问题是,当我从数据库中获取用户实体时,也会加载化身字节数组,这是我不想要的。 我知道hibernate enhance maven插件应该增强/改变用户。类文件,这没有发生。 我错过什么了吗? 更新: 我执行增强目标: 组

  • 我正在尝试加密用于建立和连接到ActiveMQ队列的密码。我正在跟进这里的步骤,我能够使用新的activemq-security.xml文件启动ActiveMQ。我有一个脚本试图创建并连接到队列,但我不断收到用户名或密码无效的错误。 我为消费者用户加密了密码,并将加密的密码存储在credentials-enc.properties文件中,如下所示: 我尝试了不同的方法,我确信由于某种原因,cred

  • 我试图使用SwiftUI在SecureField中使用强密码建议功能,但它不起作用。只是想知道我是做错了什么还是虫子。 当我选择secureField时,它不建议使用强密码。 编辑: 经过进一步的测试和下面的评论,我添加了一个相关的域名,并在example.com/.well-known/apple-app-site-association.txt上传了以下网络凭据文件到我的网络服务器: 我的功能

  • 我是angular 5的新用户,在这里我试图根据一些条件来验证用户密码。 < li >最少六个字符,至少一个字母和一个数字 < li >最少八个字符,至少一个字母、一个数字和一个特殊字符 < li >最少八个字符,至少一个大写字母、一个小写字母和一个数字 用户可以为密码字段选择上述模式之一,验证错误消息将相应地更改。 对我来说,上述条件都不能正常工作。 有人能帮我解答一下吗? 注意:如果我直接用超

  • 在尝试让Liberty容器工作时,我遇到了以下问题。 对于数据库连接,我在server.xml中有一个像这样的AuthData部分: 当我试图用未编码的密码运行服务器时,数据库连接按预期工作,但是当密码被编码时,我得到这条消息:连接被拒绝(连接被拒绝)。错误代码=-4499,SQL State = 08001 dsra 0010 e:SQL State = 08001,错误代码=-4499 在设置

  • 我做了一个简单的文件加密/解密器。它将模式和要操作的文件作为参数。加密时,它生成随机字符串并使用该字符串加密文件。解密文件时,它会提示用户输入密码,并在解密时使用该密码。 我的问题是,解密时得到的不是明文,而是胡言乱语,尽管我小心翼翼地将相同的密钥写入输入。 非常感谢James K Polk提供的加密/解密代码!