如何用certutil替换证书?

Tho*_*mas 3 windows certutil

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

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

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

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

图像

命令是:

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

从提升的命令提示符处。

Tur*_*die 5

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

certutil -delstore "Root" "OldCertificateCommonName"
certutil -addstore "Root" "path_to_new_certificate"
Run Code Online (Sandbox Code Playgroud)

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


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