【发布时间】:2014-02-09 15:26:58
【问题描述】:
我正在为 PC 和 Android 手机开发安全通信框架,不使用证书和公钥交换。将使用预共享密钥。
该框架有自己的身份验证和密钥交换协议。
流程如下:
主机相互验证
两台通信主机相互认证后,共享会话私钥。
主机之间的流量使用该密钥加密。
我计划使用 SSL 进行流量加密,但不使用第三方 SSL 库(仅标准 JSSE 工具)。
实际上,SSL 只会用于流量加密(密钥交换和身份验证已经完成)。
如何为 SSL 显式设置预共享密钥?
如果 JSSE 不直接支持,但可以通过覆盖默认的 SSL 类(SSLEngine、SSLSocketFactory 等)来实现,该怎么做?哪些类可以负责?
【问题讨论】:
-
您似乎在重新发明 SSL。为什么?
-
不是重新发明,我打算使用 SSL,但没有 PKI、证书等。这是一个点对点框架,需要删除任何集中控制(尤其是证书和 CA) .
标签: java android ssl encryption cryptography