java – 使用keytool删除密钥库中的别名是否删除了私钥?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 使用keytool删除密钥库中的别名是否删除了私钥?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1990字,纯文字阅读大概需要3分钟。
内容图文
![java – 使用keytool删除密钥库中的别名是否删除了私钥?](/upload/InfoBanner/zyjiaocheng/781/c83628f4bf804ce0b2d3c499d41f74ba.jpg)
所以如果我有一个公共证书坐在一个密钥库中将使用密钥工具删除它也删除私钥信息?
生成CSR并使用外部CA签署证书然后导入.
我认为别名可以是你做的任何东西,删除别名指定的证书会删除证书本身和相应的私钥吗?
是否可以在不影响关键信息的情况下更改别名?也可以在不同的别名下导入相同的证书并仍然有效(即与私钥匹配)?
我问的原因是在导入证书时我希望看到它列为类型为privatekeyentry而不是trustcertentry,它当前显示为,不知道为什么.
证书我们是一个root和inter之前添加并显示确定.
更新:
感谢您的答复.因此,为了澄清我的理解并确保我做对了,重命名私钥条目的别名是有效的,因为证书和密钥在这一个Alias下保持在一起.删除私钥条目类型的别名也是如此,该类型将删除证书和密钥.
回到我原来的一个问题,证书是否可以在不同的别名下再次导入,并且仍然与商店中的私钥相匹配?根据信息ID说不,它需要使用先前为私钥设置的别名.
我认为混淆和复杂性在于私钥永远不会离开密钥库,它是在创建CSR时生成的,因此永远不会与证书同时导入.
我的问题是导入的证书显示为trustedcert条目,所以我猜它不匹配商店中的私钥.
是否在执行CSR生成时指定了私钥的别名?如果是这种情况,是否可能在不同的别名下导入签名证书会导致两者不匹配?我能想到的另一件事就是使用了错误的CSR.
解决方法:
作为不同密钥库条目类型的源代码,一切都很清楚. Keystore支持三种类型:
> KeyStore.PrivateKeyEntry
> KeyStore.SecretKeyEntry(在我们讨论证书和私钥时,将在此答案中忽略)
> KeyStore.TrustedCertificateEntry
我们来详细说明:
KeyStore.PrivateKeyEntry类型有三个字段:
private final PrivateKey privKey;
private final Certificate[] chain;
private final Set<Attribute> attributes;
区别在于KeyStore.TrustedCertificateEntry类型只有两个:
private final Certificate cert;
private final Set<Attribute> attributes;
如果枚举条目,则只能获得一个证书密钥条目.因此,它似乎存储在PrivateKeyEntry中.作为组合证书和密钥并将其链接到一个别名重命名别名将影响密钥和证书.
由于密钥库中的每个条目完全独立于其他条目,因此只要每个条目具有其自己的唯一别名,就可以导入相同的密钥和证书数十次.
顺便说一句:我记得密钥库甚至允许有多个相同别名的条目(不知道所有密钥库格式是否都是这样).在这种情况下,您只能通过它的别名访问第一个条目.只有在枚举所有条目时才能访问另一个.
内容总结
以上是互联网集市为您收集整理的java – 使用keytool删除密钥库中的别名是否删除了私钥?全部内容,希望文章能够帮你解决java – 使用keytool删除密钥库中的别名是否删除了私钥?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。