我们的 Java 应用程序公开了许多不同的接口(SMTP、FTP、HTTP),由 SSL/TLS 保护。现在的目标是将这些接口上允许的密码套件限制为仅包含“强”密码套件。我已经有一个列表,并且很清楚如何使它适用于特定的套接字
socket.setEnabledCipherSuites(ENABLED_SECURE_CIPHER_SUITES);
或用于 Tomcat 连接器
<Connector port="443" ciphers="..."/>
问题是应用程序中已经有 5 个地方我应该手动应用此限制。Common SocketFactory 似乎没有帮助,因为向第三方 API 或框架提供自定义 SocketFactory 并不总是可行的。是否有可能以某种方式在 JRE 级别引入这种限制,例如使用 JCE 提供程序配置或策略文件?
JRE:甲骨文 JRE 1.7.0_17