我已经看到很多使用jdk.tls.disabledAlgorithms在java中禁用TLS密码的例子,例如:
jdk.tls.disabledAlgorithms=MD2, RSA keySize < 1024, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
Run Code Online (Sandbox Code Playgroud)
但是,我如何禁用某些协议的密码,使用jdk.tls.disabledAlgorithms或类似的配置?
例如,我怎么可以禁用TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256的TLSv1.1唯一?
它似乎不支持opensssl这样做的方式,就像这样:
TLSv1.1:!TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
Run Code Online (Sandbox Code Playgroud)
它不会导致任何错误,但仍然允许使用密码.
编辑:请注意,我只对基于JVM配置的答案感兴趣,因为我不控制许多这些服务器上的代码,只有JVM和JVM配置.有些甚至是第三方服务器,因此更多的是操作级别的东西.
编辑2:请注意,您可以运行一个Java应用程序并提供更改使用哪些协议和密码的参数,例如java -server -Djava.security.properties=./my/custom/java.security -jar myapp.jar它会这样做 - 但它不会让您通过协议过滤密码,只能从我看到的密码或协议中过滤密码.该文件将包含一个属性条目jdk.tls.disabledAlgorithms