【发布时间】:2015-02-17 18:54:49
【问题描述】:
我一直在处理证书、对称和非对称密钥以及与 Web 应用程序安全相关的事情。我正在 Tomcat 7 中开发一个 Web 应用程序,我必须使用 TLS 在客户端和服务器之间执行安全的数据交换。在我的研究中,我发现了KeyStore Explorer (V. 5.1)。
我有一些关于使用这个程序的问题。我知道这里可能不适合提出这些类型的问题,因为 KeyStore Explorer 的站点所有者有一个forum。但是,论坛不允许我创建新主题。
当我们创建一个新的密钥对时,我们会遇到一个窗口,要求我们选择用于生成密钥对的算法。选择后生成密钥,然后向用户显示一个新窗口,名称为“Generate Key Pair Certificate”:
正是在这个屏幕上出现了一些疑问。在这个新屏幕中,程序要求用户选择签名算法、有效期和名称,其中必须填写来自用户实体的密钥对的数据。
这是什么意思?我是在创建自己签名的数字证书吗?如果我是,有没有办法只创建一个密钥对?我不应该创建一对,然后创建一个 CSR 以将其发送到 CSR 的证书颁发机构,其中包含(然后)请求数字证书的实体的详细信息(以防万一,我) ?
使用keytool,我相信我们只能创建一个密钥对。但有趣的是,当我们使用 keytool 创建带有密钥对的密钥库时,我们使用 KeyStore Explorer 打开生成的文件,这对似乎已经由创建者自己签名,作为数字证书,例如:
(注意我们有两个字段,“subject”和“Issuer”...)
我真正想要的是能够创建一个密钥对,并从生成的那个对中创建一个 CSR。我知道程序本身带有文档。我研究并阅读了名为“Key Pairs”的部分(“Generate Key Pair”主题等),但不幸的是我无法解决这个困惑。有人可以向我解释我做错了什么,这一切意味着什么?
一如既往,感谢大家的关注和时间。
参考书目:
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
【问题讨论】:
标签: java ssl certificate keystore keytool