Pra*_*ash 1 java security encryption
我想通过使用JVM属性禁用不需要的密码来实现完美前向保密(PFS)
我想通过在java.security文件中使用Java的'jdk.tls.disabledAlgorithms'属性来实现这一点。
当前,我将属性设置如下jdk.tls.disabledAlgorithms = SSLv3,TLSv1,TLSv1.1,RC4,MD5,DESede,DH keySize <1024,RSA keySize <2048,并且当我使用服务器使用TestSSLServer进行测试时,得到以下信息输出
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
Run Code Online (Sandbox Code Playgroud)
我仍然找不到摆脱不提供PFS的网站的机制。例如“ TLS_RSA_WITH_AES_128_GCM_SHA256”。
我可以通过“ jdk.tls.disabledAlgorithms”完成此操作吗?如果不是,是否还有其他JVM级别的机制?
小智 5
I have been able to get forward secrecy to work in our Java server by changing this in the java.security file:
1) Uncomment (remove #) in front of
crypto.policy=unlimited
(You will need at least Java 1.8.0_151 for this)
2) set jdk.tls.disabledAlgorithms to
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, MD5, DESede, DH keySize < 1024, RSA keySize < 2048, 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, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_GCM_SHA384
(to get this list, I tested my site on ssllabs.com and listed all cipher suites SSLLabs said to be weak)
While you're working on this, you might also want to consider setting the following two variables when starting the java process, but that actually isn't needed to get forward secrecy to work:
-Djdk.tls.ephemeralDHKeySize = 2048 -Djdk.tls.rejectClientInitiatedRenegotiation = true
| 归档时间: |
|
| 查看次数: |
1039 次 |
| 最近记录: |