java – 在JCA中为TLS定义加密套件

前端之家收集整理的这篇文章主要介绍了java – 在JCA中为TLS定义加密套件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用JCA在TLS中支持以下密码套件:

> TLS_PSK_WITH_3DES_EDE_CBC_SHA
> TLS_PSK_WITH_AES_128_CBC_SHA
> TLS_PSK_WITH_NULL_SHA
> TLS_PSK_WITH_AES_128_CBC_SHA256
> TLS_PSK_WITH_NULL_SHA256

他们可以在JDK7而不是JDK6,不是BouncyCastle.

如果我想要JDK6中的支持,我可以扩展JCA来实现这些PSK扩展的支持,使用JSSE的SPI,提供者和回调方法.我可以在运行时重新定义或添加新的密码实现,但我不确定JCA提供了足够的粒度来在TLS中添加新的密码套件.

解决方法

干净的方式是实现自己的 SSLSocketFactory.

如果你想尝试添加我只看到通过反射来修改内部类的方法.

相关课程是:

com.sun.net.ssl.internal.ssl.CipherSuite

它有一个重载的私有静态方法“add”用于将密码实现添加支持的列表.可能值得一试.

猜你在找的Java相关文章