【问题标题】:How to import pfx certificate and set private key permissions for all users如何导入 pfx 证书并为所有用户设置私钥权限
【发布时间】:2016-10-08 16:42:14
【问题描述】:

我有自签名 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

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

我试过了

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

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

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

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

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

【问题讨论】:

    标签: windows ssl certificate pfx certutil


    【解决方案1】:

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

    抓取的证书对象
    cert:\LocalMachine\My 
    

    两者的私钥属性都为 null。

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

    【讨论】:

      【解决方案2】:

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

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

      并使用它来管理权限

      How to Grant permission to user on Certificate private key using powershell?

      【讨论】:

        猜你喜欢
        • 2015-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-18
        • 2017-02-24
        • 1970-01-01
        相关资源
        最近更新 更多