【发布时间】:2017-10-11 22:38:29
【问题描述】:
我尝试根据服务器首选项设置 HTTPS SSL 密码套件首选项,而不是根据客户端和服务器支持的最高强度通用密码套件自动选择。
我喜欢让服务器选择具有“TLS_ECDHE...”的服务器和客户端之间的共同点,以支持前向保密。 现在我在“www.ssllabs.com”中进行了测试,客户端浏览器会更喜欢具有“TLS_RSA...”而不是“TLS_ECDHE”的密码...
我注意到 java 8 支持设置密码套件首选项: http://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html#cipher_suite_preference
我假设 spring boot 嵌入式 Tomcat 将调用 Java 8 函数来选择密码
这是我在 spring boot application.properties 文件中设置服务器支持密码集所做的:
server.ssl.ciphers=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_DSS_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_SHA256,TLS_ECDHE_RSA_WITH_AES_128_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_SHA,TLS_ECDHE_RSA_WITH_AES_256_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_SHA384,TLS_ECDHE_RSA_WITH_AES_256_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_SHA,TLS_DHE_RSA_WITH_AES_128_SHA256,TLS_DHE_RSA_WITH_AES_128_SHA,TLS_DHE_DSS_WITH_AES_128_SHA256,TLS_DHE_RSA_WITH_AES_256_SHA256,TLS_DHE_DSS_WITH_AES_256_SHA,TLS_DHE_RSA_WITH_AES_256_SHA
希望有人可以指导我如何覆盖默认选择密码行为。
【问题讨论】:
标签: java spring tomcat ssl spring-boot