KeyStore Explorer - 创建密钥对?

Loa*_*Loa 5 java ssl certificate keystore keytool

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

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


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

在此处输入图片说明

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

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

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

在此处输入图片说明

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

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

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

参考书目:

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

Omi*_*ron 5

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

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

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

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