我有自签名的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的用户。
如果我的商店可以手动修复问题:
但是我需要一些自动方式来安装我的应用程序。
答案 0 :(得分:0)
要导入证书,您可以使用此powershell命令
Import-PfxCertificate -FilePath $certFilename cert:$certStoreLocation -Password $mypwd
并使用它来管理权限
How to Grant permission to user on Certificate private key using powershell?
答案 1 :(得分:0)
Import-PfxCertificate在尝试授予私钥权限时一直给我提问。使用
获取返回的证书和证书对象$this->getDoctrine()->getRepository(Etfresearch::class)->findAll();
私钥属性都为null。
我必须使用x509证书存储区和x509certifcate2对象来导入证书和私钥。然后我就可以在powershell中更改私钥权限