导出的证书包含私人信息/实施自己的信任管理员?

时间:2013-05-09 08:44:19

标签: java ssl keytool truststore

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

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

我目前的计划是:

  1. 让客户拨打我的电话并请求启动程序
  2. 让客户端运行生成证书的小程序
  3. 让客户向我发送证书
  4. 现在我可以将证书添加到服务器信任库
  5. 听起来很简单,但是当你想到它时,有些事情可能会出错:

    1. 当客户向我发送证书时,有人可以拦截它。当我从密钥库导出证书时,结果证书是否足以设置客户端连接?或者证书是否仅包含公共信息,是否仍在密钥库中的“私人”信息?
    2. 在服务器端实现我自己的TrustManager是否明智,以便我可以轻松管理可信客户端证书?这是一件很难的事,或者我应该在keytool周围添加一个小包装。
    3. 感谢您的想法!

1 个答案:

答案 0 :(得分:1)

  

或者证书是否仅包含公共信息,是否仍在密钥库中的“私人”信息?

  

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

没有。您应该让信任库系统执行它想要进行身份验证的操作,然后使用握手侦听器来获取对等证书以对其进行授权。不要混淆或混淆这两个步骤:它们是截然不同的,并且两个部分都是必需的。