我正在使用最新的码头和jdk,它应该支持TLS_DHE_DSS之类的DSA密码套件。 。但是在那之后,我无法使用任何浏览器打开该服务器的任何页面。我所看到的只是页面上的一条错误消息:ERR_SSL_VERSION_OR_CIPHER_MISMATCH。

有人可以帮我吗? DSA码头有什么问题吗?

最佳答案

毫无意义地向stackoverflow和github issues都发送垃圾邮件(我们要注意两者)

在您的keytool / keystore中,DSA不能将其用于SSL / TLS(Jetty,Java甚至各种SSL / TLS协议版本本身都不支持。DSA只是一种签名/验证算法,它不会到SSL / TLS所需的加密/解密/密钥交换)。

将RSA用于密钥库,并指定SHA256算法(或更高版本)和4096(或更高)的位大小。

转储您的启动,并查看为什么禁用了您感兴趣的密码。

$ cd /path/to/my/jettybase
$ java -jar /path/to/jetty-dist/start.jar jetty.server.dumpAfterStart=true


查找SslContextFactory树和Cipher Suites分支。
Disabled部分将列出每个禁用的密码套件,并指出该特定密码套件的禁用位置。

你会看到的...


JreDisabled表示JVM本身已将其禁用。
ConfigExcluded表示您的${jetty.base}配置已禁用它。


无论哪种方式,您都希望查看文档中的Enabling / Disabling Specific Cipher Suites,以了解如何设置它以满足您的特定需求。

09-30 15:38
查看更多