【发布时间】:2018-04-21 13:09:25
【问题描述】:
我正在尝试创建一个 Java SSL 套接字服务器应用程序,一些 Java SSL 套接字客户端应用程序将连接到该应用程序。为保证通信双方的可信度,
(1) 仅当客户端的证书使用服务器的私钥签名时,服务器才应接受客户端连接
(2) 仅当服务器的证书包含在客户端的受信任存储中时,客户端才应与服务器通信。
因为我是 JSSE 的新手,我只管理客户端应用程序连接到服务器,前提是它的证书包含在客户端的受信任存储中(条件 2)。但是,我不知道如何达到我的第一个条件......
我将不胜感激。
最好的问候,加尔维斯顿01
【问题讨论】:
-
您需要在您的服务器的 SSL 配置中设置接受的 CA 证书。然后客户端将在握手期间收到接受的 CA 列表
-
将单个证书用作服务器证书和 CA 证书是不寻常的,甚至是不可能的,但这就是您的问题所暗示的。您确定您了解您的要求吗?
-
是的,这正是我最初想要的,但@0xadecimal 的解决方案对我来说也足够了。
标签: java sockets ssl certificate jsse