如何使用 certutil 替换证书?

如何使用 certutil 替换证书?

我们有一个应用程序运行一个批处理脚本,该脚本将 OCA 和由该 OCA 签名的证书安装到一组 Windows 机器上。

不幸的是,OCA 证书已过期,并且当我们运行脚本时 certutil 会产生错误,因为新的 OCA 证书与旧证书同名。

在添加新证书之前,我们如何使用 certutil 按名称替换或删除现有证书?

请参阅下面我正在使用的命令和结果:“证书“x”已在存储中。” 存储中具有相同名称的证书已过期。

图像

命令如下:

certutil -addstore "Root" "file.crt"
certutil -addstore "Ca" "file.crt"

从提升的命令提示符。

答案1

在屏幕截图中,有点难以看清。遗憾的是,没有选项可以覆盖/替换存储中已有的证书,因此您需要删除证书,然后添加它。certutil 命令如下所示

certutil -delstore "Root" "OldCertificateCommonName"
certutil -addstore "Root" "path_to_new_certificate"

在第一个命令中,您需要用证书的通用名称替换 OldCertificateCommonName。


顺便问一下,你确定这个证书需要放在 CA 授权机构存储中吗?这赋予了它强大的权力,它可以充当证书颁发机构。从安全角度来看,要小心这一点。

相关内容