加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 05:26:12 所属栏目:Java 来源:网络整理
导读:我想使用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在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”用于将密码实现添加到支持的列表.可能值得一试.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读