在装有 java 1.7 的 Linux Centos 系统上,可以在 keystore.jks 中使用别名为 xyz123 的 key ,并在 cacerts.jks 中使用别名相同的不同 key 吗?或者,会有什么东西坏掉吗?
我在 keystore.jks 文件中删除了别名为“xyz123”的 key (因为它是 1024 位),然后使用别名“xyz123”为 keystore 创建了一个新 key (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
(旧 key )也存在于 cacerts.jks 中。因此,现在相同的别名指向 keystore 和 cacerts 之间的不同 key 。恐怕如果我重复上面的代码,但对于 cacerts,虽然新 key 进入 cacerts.jks,但相同的情况仍然存在(例如,相同的别名指向 keystore 和 cacerts 之间的不同 key )。
有没有办法执行上述代码,但以某种方式包含 keystore 和 cacerts 作为行参数?
或者,也许我需要知道的是如何以某种方式将 key 生成为单独的文件,然后如何导入到每个 keystore 和 cacerts 中。
最佳答案
您可以使用-importkeystore
将新生成的 key 对导入到 cacerts.jks keystore 的选项。
但是,cacerts.jks 不应包含私钥。它是“信任 anchor ”的集合——可用于验证其他证书的证书。我会推荐exporting仅来自 keystore.jks 的新证书,以及 importing cacerts.jks,而不是完整的 key 对。
关于java - keystore 和 cacerts 之间相同的别名不同的 key 正常吗?或者,如何在 keystore /cacerts之间导出/导入 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28701555/