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