java - KeyStore Explorer - 创建 key 对?

标签 java ssl certificate keystore keytool

我一直在处理证书、对称和非对称 key 以及与 Web 应用程序安全相关的事情。我正在 Tomcat 7 中开发 Web 应用程序,我必须使用 TLS 在客户端和服务器之间执行安全的数据交换。在我的研究中,我发现了 KeyStore Explorer (V.5.1).

我对这个程序的使用有一些疑问。我知道这里可能不适合提出这些类型的问题,因为 KeyStore Explorer 的网站所有者有一个 forum .但是,论坛不允许我创建新主题。


当我们创建一个新的 key 对时,我们会看到一个窗口,要求我们选择用于生成 key 对的算法。选择后,生成 key ,然后向用户显示一个奇怪名称“生成 key 对证书”的新窗口:

enter image description here

正是在这个屏幕上出现了一些疑问。在这个新屏幕中,程序要求用户选择签名算法、有效期和名称,其中必须填写来自用户实体 key 对的数据。

这是什么意思?我是否正在创建自己签名的数字证书?如果我是,有没有办法只创建一个 key 对?我不应该创建一对,然后创建一个 CSR 将其发送到证书颁发机构,CSR 包含(then)请求数字证书的实体的详细信息(以防万一,我) ?

随着keytool ,我相信我们只能创建一个 key 对。但有趣的是,当我们用 keytool 创建一个带有 key 对的 keystore 时,我们用 KeyStore Explorer 打开生成的文件,这对似乎已经由创建者自己签名,作为数字证书,例如:

enter image description here

(请注意,我们有两个字段,“主题”和“颁发者”...)

我真正想要的是能够创建一个 key 对,并从生成的那对 key 中创建一个 CSR。我知道程序本身带有文档。我研究并阅读了名为“ key 对”的部分(“生成 key 对”主题等),但不幸的是我无法解决这个困惑。有人可以向我解释我做错了什么以及这一切意味着什么吗?

一如既往,我感谢大家的关注和时间。

引用书目:

https://docs.oracle.com/javase/6/docs/technotes/tools/windows/keytool.html

https://www.digitalocean.com/community/tutorials/java-keytool-essentials-working-with-java-keystores

https://www.sslshopper.com/article-most-common-java-keytool-keystore-commands.html

http://ruchirawageesha.blogspot.com.br/2010/07/how-to-create-clientserver-keystores.html

http://keystore-explorer.sourceforge.net/releases.php

最佳答案

如以下网页所述, key 对只能与至少一个证书一起存在于 Java keystore 中。这就是为什么 KeyStore Explorer(以及 keytool)总是为新的 key 对生成一个自签名证书:

http://docs.oracle.com/javase/7/docs/api/java/security/KeyStore.html

创建新 key 对后,只需右键单击该条目并选择“生成 CSR”即可。

CA 为 CSR 签署证书后,再次右键单击 key 对并选择“导入 CA 回复”。然后,自签名证书将替换为 CA 颁发的证书。

关于java - KeyStore Explorer - 创建 key 对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27555859/

相关文章:

node.js - 通过代理的 TLS 连接

java - 启动Mule进行远程调试,无需修改wrapper.conf

java - android studio 执行失败,因为 idk-1.8 的任务进程异常

.htaccess - joomla 网站中 Feedburner 的 HTTPS RSS URL 问题

api - 与 Telegram Bot API 的 webhook 有问题

security - CA 签名的 SSL 证书在安全方面的优势

java - 找不到类 org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor 的序列化程序

java - Gmail API 插入消息抛出 - 错误请求 (400)

ssl - soap客户端无法通过启用SSL的saml身份验证访问Web服务

azure - 如何获取 Azure 应用程序网关 HTTPS 监听器的证书