1

我有自签名 pfx 证书,并且机器有 2 个用户(A 和 B)。我需要使用一些命令行工具安装证书,它应该可供所有用户使用。

如果用户 A 在 LocalMachine\My 或 LocalMachine\Root 中手动安装证书,则它仅对用户 A 可用,因为用户 B 没有私钥权限。

我试过了

winhttpcertcfg.exe -i cert.pfx -p pass -a Everyone -c LOCAL_MACHINE\Root

但这无济于事,证书仅适用于运行 winhttpcertcfg 的用户。

我试过了

winhttpcertcfg.exe -i cert.pfx -p pass -a Everyone -c LOCAL_MACHINE\My

但它将证书安装在 Root 而不是 My 不管 -c 参数。

我试过了

certutil -f -p pass -importpfx "cert.pfx"

但这无济于事,证书仅适用于运行 certutil 的用户。

如果我的商店可以手动修复问题:

  • 右键单击本地计算机证书管理器中的证书 -> 所有任务 -> 管理私钥
  • 添加用户 A 和 B 并设置必要的权限。

但是我需要一些在安装应用程序时使用的自动方式。

4

2 回答 2

0

要导入证书,您可以使用此 powershell 命令

Import-PfxCertificate -FilePath $certFilename cert:$certStoreLocation -Password $mypwd

并使用它来管理权限

如何使用 powershell 授予用户对证书私钥的权限?

于 2016-10-19T16:17:54.547 回答
0

Import-PfxCertificate 在尝试授予私钥权限时一直给我问题。返回的证书和使用的证书对象

cert:\LocalMachine\My 

两者的私钥属性都为 null。

我必须使用 x509 证书存储和 x509certifcate2 对象来导入证书和私钥。然后我可以在powershell中更改私钥权限

于 2018-04-23T20:35:58.827 回答