首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSSE中的Java预共享密钥模式

JSSE中的Java预共享密钥模式
EN

Stack Overflow用户
提问于 2014-01-20 12:37:05
回答 2查看 1.2K关注 0票数 2

我正在为PC和Android手机开发安全通信框架,不需要使用证书和公钥交换。将使用预共享密钥。

该框架有自己的认证和密钥交换协议。

程序如下:

  1. 主机相互认证
  2. 在两个通信主机彼此进行身份验证后,它们共享会话私钥。
  3. 主机之间的通信是使用该密钥加密的。

我计划使用SSL进行流量加密,但不使用和第三方SSL库(只有标准的JSSE设施)。

实际上,SSL只用于流量加密(密钥交换和身份验证已经完成)。

如何显式地为SSL设置预共享密钥?

如果JSSE不直接支持它,但是可以通过重写默认的SSL类(SSLEngine、SSLSocketFactory等)来实现,那么该如何做呢?哪些班能对此负责?

EN

回答 2

Stack Overflow用户

发布于 2014-01-20 14:31:46

SSL/TLS允许您使用除证书之外的几种身份验证机制,例如。您可以使用共享秘密(PSK密码套件)或OpenPGP密钥等。然而,实际支持这些机制的实现并不多。我不知道Java内置密码技术是否支持它们。我们的SecureBlackbox确实支持TLS规范中定义的所有机制,包括我提到的那些机制。

票数 1
EN

Stack Overflow用户

发布于 2021-09-08 21:35:43

您可以在这里找到开放源码的TLS PSK JSSE套接字工厂,这些工厂由Bouncy城堡供电,并在Apache v2许可下发布:https://github.com/clover/pskfactories

该项目包括示例用法。

或者,WolfSSL似乎也有一个支持PSK的JSSE实现。它是由本机代码驱动的,因此与纯Java相比,启动和运行的工作量可能要大一些。除非你购买商业许可证,否则它也是GPLv2。

请参阅https://www.wolfssl.com/products/wolfssl-jni-jsse/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21234355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档