0

我对 ssl 很陌生,但我设法在我的 java 应用程序上设置服务器和客户端认证。我使用 keytool 生成了密钥库和信任库。这很好用。

现在我正在寻找将新客户端证书添加到我的服务器信任库的方法,如果这样做,我的服务器将接受来自新客户端的连接。

我目前的计划是:

  1. 让客户打电话给我并请求启动程序
  2. 让客户端运行生成证书的小程序
  3. 让客户发送证书给我
  4. 现在我可以将证书添加到服务器信任库

听起来很简单,但是当您想到它时,可能会出错:

  1. 当客户向我发送证书时,有人可以拦截它。当我从密钥库导出证书时,生成的证书是否足以建立客户端连接?还是证书只包含公共信息,而“私人”信息是否仍在密钥库中?
  2. 在服务器端实现我自己的 TrustManager 以便我可以轻松管理受信任的客户端证书是否明智?这是一件很难做的事情,还是我应该在 keytool 周围添加一个小包装。

感谢您的想法!

4

1 回答 1

1

还是证书只包含公共信息,而“私人”信息是否仍在密钥库中?

是的。

在服务器端实现我自己的 TrustManager 以便我可以轻松管理受信任的客户端证书是否明智?

不,你应该让信任库系统做它想要做的认证,然后使用握手监听器获取对等证书来授权它。不要混淆或混淆这两个步骤:它们是不同的,并且两个部分都是必需的。

于 2013-05-09T09:23:15.203 回答