[英]same alias different key OK between keystore and cacerts? Or, how to export/import key between keystore/cacerts?
在具有Java 1.7的Linux Centos系统上,可以在keystore.jks中使用别名为xyz123
的密钥,而在cacerts.jks中使用具有相同别名的另一个密钥吗? 还是会破裂?
我在keystore.jks文件中删除了别名为'xyz123'的密钥(因为它是1024位),然后使用以下方式为密钥库创建了别名为'xyz123'的新密钥(针对2048位):
keytool -keysize 2048 -genkey -alias xyz123 -keyalg RSA
-dname "CN=mydomain.com,OU=GF,O=MyCorp,
L=MyCity,ST=MyState,C=US" -validity 7300 -keypass
mypwd -storepass mypwd -keystore keystore.jks
但是现在我注意到xyz123
也存在别名xyz123
(用于旧密钥)。 因此,现在,相同的别名指向密钥库和cacerts之间的不同密钥。 恐怕如果我重复上面的代码(但对于cacerts),则尽管将新密钥放入cacerts.jks中,但仍然会存在相同的情况(例如,相同的别名指向密钥库和cacerts之间的不同密钥)。
有没有一种方法可以执行上述代码,但又以某种方式将密钥库和cacerts都包含为行参数?
或者,也许我需要知道的是如何以某种方式将密钥生成为单独的文件,然后如何导入每个密钥库和cacerts。
您可以使用-importkeystore
选项将新生成的密钥对导入到cacerts.jks密钥库中。
但是,cacerts.jks不应包含私钥。 它是“信任锚”的集合,可用于验证其他证书。 我建议仅从 keystore.jks 导出新证书,然后将其导入 cacerts.jks,而不是完整的密钥对。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.