java - 导出的证书包含私有(private)信息/实现自己的信任管理器?

标签 java ssl keytool truststore

<分区>


想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它.

关闭 9 年前

我对 ssl 很陌生,但我设法在我的 java 应用程序上设置了服务器和客户端认证。我使用 key 工具生成了 keystore 和信任库。这非常有效。

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

我目前的计划是:

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

听起来很简单,但是当你想到它时,有几件事可能会出错:

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

谢谢你的想法!

最佳答案

Or does the certificate only contain the public information and is the "private" information still in the keystore?

是的。

is it a wise thing to implement my own TrustManager on server side so that i can manage trusted client certificate easily?

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

关于java - 导出的证书包含私有(private)信息/实现自己的信任管理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16457786/

上一篇:windows - 在 Windows 服务中实现 syslog 到远程主机

下一篇:html - 分析页面,看看哪些资源没有在https中传输

相关文章:

java - Oracle 会创建一组在 Windows 8 上看起来原生的 UI 控件吗?

php - 修复 PHP 中 Wordpress 插件的 HTTPS 错误,当我知道是哪些文件导致错误时出现混合内容错误?

aws的ssl证书

java - keytool错误: java. lang.RuntimeException : Usage error, –delete不是合法命令

java - Hibernate 执行简单查询花费的时间太长

java - C++ 和 Java 中的虚函数

ssl - ABAP HTTP 目标 => 检查是否启用了 SSL

android - keytool 不适用于签署 android 应用程序

android - 使用 Google Play 提供的上传 key 签署 APK

java - 使用java通过http循环流式传输音乐