我很清楚 Java 7 默认不支持基于 GCM 的密码。因此,我试图通过 Bouncy Castle 完成它。
我在 Tomcat 的 HTTPS 连接器中配置了以下密码:
ciphers="TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 "
我已经将bcprov-jdk15on-156.jar放在 jdk1.7.0_80/jre/lib/ext 中。
还向 jdk1.7.0_80/jre/lib/security/java.security 添加了以下属性
security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider
在 Tomcat 连接器中配置 GCM 密码时,客户端根本无法连接到我的服务器。似乎配置 Bouncy Castle 根本没有效果。
无论如何我可以使它工作吗?我可以使用的任何其他 JCE 提供程序吗?
注意:我使用的是 Oracle JDK 1.7.0_80。无法迁移到 Java 8。