关于java:KeyStore Explorer-创建的密钥对?

KeyStore Explorer - Created key pair?

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

我对此程序的使用有一些疑问。我知道这里可能不是进行此类问题的合适位置,因为KeyStore Explorer的站点所有者有一个论坛。但是,该论坛不允许我创建新主题。

当我们创建一个新的密钥对时,我们面对一个窗口,要求我们选择用于生成密钥对的算法。选择之后,将进行密钥生成,然后以奇怪的名称" Generate Key Pair Certificate"向用户显示一个新窗口:

enter image description here

在此屏幕上会产生一些疑问。在这个新屏幕中,程序要求用户选择签名算法,有效期和名称,必须在其中填充来自用户实体的密钥对的数据。

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

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

enter image description here

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

我真正想要的是能够创建密钥对,并从生成的密钥对中创建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


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

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

创建新密钥对后,只需右键单击条目,然后选择" Generate CSR"。

CA签署了CSR证书后,再次右键单击密钥对,然后选择"导入CA答复"。 然后将自签名证书替换为来自CA的证书。