如何在Java v1.8中启用和使用密码套件TLS_RSA_和_AES_128_CBC_SHA
我正在尝试通过ssl建立连接。客户端仅启用了TLSv1.0,并支持以下提到的有限数量的密码套件:如何在Java v1.8中启用和使用密码套件TLS_RSA_和_AES_128_CBC_SHA,java,ssl,Java,Ssl,我正在尝试通过ssl建立连接。客户端仅启用了TLSv1.0,并支持以下提到的有限数量的密码套件: TLS_RSA_与_3DES_EDE_CBC_SHA TLS_RSA_与_AES_128_CBC_SHA TLS_RSA_与_AES_256_CBC_SHA 我正在Java 1.8.0_151-b12上运行服务器。当客户端请求建立SSL连接时,我在服务器控制台上看到以下异常: https-jsse-nio-9080-exec-8,致命:引擎已关闭。 重试javax.net.ssl.SSLHand
- TLS_RSA_与_3DES_EDE_CBC_SHA
- TLS_RSA_与_AES_128_CBC_SHA
- TLS_RSA_与_AES_256_CBC_SHA
重试javax.net.ssl.SSLHandshakeException:没有通用的密码套件 我尝试了Java加密扩展(JCE)无限强度,但没有成功 有没有办法在JavaV1.8中启用这些密码套件
谢谢你的期待。@dave\u thompson\u 085谢谢你调查我的问题。我能够解决这个问题,以下是步骤
TLS\u RSA\u与\u AES\u 128\u CBC\u SHA
和TLS\u RSA\u与\u AES\u 256\u CBC\u SHA
(无限制管辖权政策文件到位时)。您使用的是哪种服务器;服务器端是否有任何自定义SSL处理代码可以在此处发挥作用?服务器是否已配置(或创建)包含RSA privatekey的密钥存储库以及合适的证书或链?@MickMnemonic我使用的是SpringBoot v1.5.3+Tomcat v8.5.14。服务器端没有任何自定义SSL处理代码。@dave_thompson_085我在创建证书时使用了keyalg作为RSA。在创建证书时有没有办法指定密码套件?另外,如果我在放置无限强度的策略jar之前创建了cert,这有关系吗?@MickMnemonic+我没有立即注意到,但8u151(和152,以及j9)最终删除了愚蠢的策略文件要求,现在您只需要在JRE/lib/security/java.security中进行简单的文本编辑——请参阅发行说明。但是Oracle非测试版不应该有a-b(num)元素;只有OpenJDK能做到这一点,而且OpenJDK从一开始就没有策略文件的错误特性。此外,即使您有政策限制,也只会影响AES256;即使存在限制,也允许使用AES128和3DES。