将证书导入受信任的根证书,而不是个人证书 [命令行]

35

我正在尝试使用命令行将两个证书导入到我的本地机器中。

我有一个要添加到本地计算机的个人存储区的证书,另一个要添加到受信任的根证书颁发机构。

这是添加到个人存储区而不添加到根目录的命令:

certutil -f -importpfx CA.pfx NoRoot

那么要添加到受信任的根证书颁发机构而不是个人存储区呢?有任何标签吗?我没有在命令帮助中找到相关信息"/?"

5个回答

56

请查看 certutil.exe-addstore 选项 的文档。

我尝试过

certutil -addstore "Root" "c:\cacert.cer"

它运行良好(意思是证书落入了本地计算机存储的可信任根目录)。

编辑:

如果PFX文件中有多个证书(密钥+对应的证书和CA证书),那么这个命令对我很有效:

certutil -importpfx c:\somepfx.pfx

编辑2:

要将CA证书导入到中间认证机构存储中,请运行以下命令:

certutil -addstore "CA" "c:\intermediate_cacert.cer"

2
是的,但我的证书是一个.pfx文件,所以我必须使用标签“-importpfx”,而使用它我不能使用“-addstore”...你能试着检查一下吗?感谢您的回复。 - TiagoM
如果我理解正确,您有一个包含私钥和相应证书以及一个CA证书的pfx文件。如果您将pfx导入个人存储中,我相信CA证书也会被安装在那里。然后,您需要将CA证书从pfx文件中分离出来,并使用我发布的命令将其安装到根证书存储中。 - pepo

7
以下内容将帮助您将证书添加到根存储区-
certutil -enterprise -f -v -AddStore "Root" <Cert File path>

这对我来说完美地解决了问题。

谢谢!-enterprise选项帮助在没有图形弹出的情况下静默安装证书。 - gjegadesh
1
我认为这来自于选项“-f”,意为强制。 - João Pimentel Ferreira

3

打印根存储区的内容:

certutil -store Root

将内容输出到文件中:
certutil -store Root > root_content.txt

将证书添加到根存储库:
certutil -addstore -enterprise Root file.cer

0
如果在pfx文件中有多个证书(密钥+相应的证书和CA证书),那么这个命令对我很有效:
certutil -importpfx c:\somepfx.pfx 这个命令可以工作,但是仍然需要手动输入私钥密码。 在XP上包括-p和“password”会导致certutil参数过多的错误。

0

使用PowerShell有一个相当简单的答案。

Import-PfxCertificate -Password $secure_pw  -CertStoreLocation Cert:\LocalMachine\Root -FilePath certs.pfx

关键在于创建一个“安全”的密码...

$plaintext_pw = 'PASSWORD';
$secure_pw = ConvertTo-SecureString $plaintext_pw -AsPlainText -Force; 
Import-PfxCertificate -Password $secure_pw  -CertStoreLocation Cert:\LocalMachine\Root -FilePath certs.pfx;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接