我们有自己的根证书颁发机构,用于为连接到服务器的代理签署证书。我们已经使用keytool命令生成了根证书颁发机构,如下所示
Keytool -genkeypair -alias endpoint -keyalg RSA -keysize 2048 -sigalg SHA256WITHRSA -validity 10950 -keypass KeyVontuStop -keystore tempkeystore.jks -storepass StoreVontuStop
现在,我们希望将"BC:critical=CA:TRUE,pathlen:0“扩展添加到现有的根CA中。我们不能删除现有的rootCA并重新生成密钥对,因为我们已经为客户端签署了证书。
我们是否有任何选项来更新现有的键区,以便使用keytool在.jks中添加扩展?
发布于 2022-04-02 11:52:26
如果创建一个新的根证书,其主题名称和公钥与现有根证书相同,则可以使用此证书交叉签名叶证书。这将使您能够迁移到新的根证书,而不必发出新的叶证书,并且不会破坏从这些叶证书到现有证书的信任路径。
有关更多信息,请参见_CERT_日期_什么会导致经典的“错误无效”时,我可以确认没有错误从许多其他客户?。
发布于 2022-04-02 10:51:44
简单地说:你不能。
根CA的证书是自签名的。要信任您的根CA,客户端已经安装了它。如果您修改它,它将与客户端信任的内容不同,因此不再被客户端信任。
您可以做的是:颁发一个新的根证书,并要求客户端将其安装为受信任的证书。安装完毕后,撤消旧证书。
https://security.stackexchange.com/questions/260858
复制相似问题