【发布时间】:2017-05-05 08:38:10
【问题描述】:
我想通过使用 JVM 属性禁用不需要的密码来实现完美前向保密 (PFS)
我想通过在 java.security 文件中使用 Java 的“jdk.tls.disabledAlgorithms”属性来实现这一点。
目前我将属性设置如下 jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, MD5, DESede, DH keySize
Supported versions: TLSv1.2
Deflate compression: no
Supported cipher suites (ORDER IS NOT SIGNIFICANT):
TLSv1.2
RSA_WITH_AES_128_CBC_SHA
DHE_RSA_WITH_AES_128_CBC_SHA
RSA_WITH_AES_256_CBC_SHA
DHE_RSA_WITH_AES_256_CBC_SHA
RSA_WITH_AES_128_CBC_SHA256
RSA_WITH_AES_256_CBC_SHA256
DHE_RSA_WITH_AES_128_CBC_SHA256
DHE_RSA_WITH_AES_256_CBC_SHA256
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
我仍然找不到摆脱不提供 PFS 的网站的机制。例如。 'TLS_RSA_WITH_AES_128_GCM_SHA256'。
我可以通过“jdk.tls.disabledAlgorithms”来完成这项工作吗?如果没有,有没有其他JVM级别的机制?
【问题讨论】:
-
您在什么情况下尝试禁用它们?你在用(非禁用的)密码套件做什么?
-
根据link 中的博客文章,完美前向保密 (PFS) 由算法标准名称列表中以 TLS 开头后跟一种 DHE 的任何内容提供。我想通过在 java.security 文件中使用 Java 的 'jdk.tls.disabledAlgorithms' 属性来实现这一点。所以我想删除其他不遵循此规则的密码
-
你还没有回答我的问题。除非你回答我的问题,否则我无法回答你的问题。或许,其他人也不能。
-
我认为原因在那里 :)。让我解释一下,没有任何特定的上下文,我想在我的 Web 应用程序的传输级通信期间删除弱密码。所以要做到这一点,我需要在属性 jdk.tls.disabledAlgorithms 中进行什么修改,这将删除我上面提到的不启动的密码。即需要删除以下密码 RSA_WITH_AES_128_CBC_SHA DHE_RSA_WITH_AES_128_CBC_SHA RSA_WITH_AES_256_CBC_SHA DHE_RSA_WITH_AES_256_CBC_SHA RSA_WITH_AES_128_CBC_SHA256 RSA_WITH_AES_256_CBC_SHA256 DHE_RSA_WITH__128_CBC
-
我在security.stackexchange.com/questions/145855/… 上提出了完全相同的问题。仍在等待正确的答案。
标签: java security encryption