如何使用Java Keytool命令或JSSE添加现有密钥对的扩展名?
我们拥有自己的根证书授权,后来用来为客户签署证书。 我们已经使用Keytool命令生成了根证书授权,如下所示
Keytool -genkeypair -alias endpoint -keyalg RSA -keysize 2048 -sigalg SHA256WITHRSA -validity 10950 -keypass KeyVontuStop -keystore tempkeystore.jks -storepass StoreVontuStop
,我们要添加“ BC:criality = Ca:true,pathlen:0”扩展名。我们无法删除现有的rootca并重新生成钥匙对,因为我们已经为客户端签署了证书。
我们是否可以选择使用KeyTool更新现有的Keypair以在.jks中添加扩展名?
We have our own root certificate authority which later used to sign the certificates for clients.
We have generated the root certificate authority using keytool command as below
Keytool -genkeypair -alias endpoint -keyalg RSA -keysize 2048 -sigalg SHA256WITHRSA -validity 10950 -keypass KeyVontuStop -keystore tempkeystore.jks -storepass StoreVontuStop
Now we want to add the "BC:critical=CA:TRUE,pathlen:0" extension to existing root CA. We can not delete the existing rootCA and regenerate the key pair as we already have signed certificates for the client.
Do we have any option to update the existing keypair to add extension in .jks using keytool?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
扩展是 TBSCertificate 的一部分,因此也是签名值的一部分。
https://datatracker.ietf.org/doc/html/rfc5280# section-4.1.1.3
因此,如果您添加/更改扩展,则必须重新生成证书。
Extensions are part of TBSCertificate and hence part of the signature value.
https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.1.3
Hence, if you add/change an extension, you will have to generate the certificate again.