使用Power Shell脚本将证书导入证书存储不起作用,但是可以手动进行

时间:2019-02-14 11:37:12

标签: powershell x509certificate

我正在创建SSL证书以绑定到我的网站。我正在使用Power Shell脚本自动执行从创建到将证书导入证书存储的过程。将证书绑定到我的网站后,我的网站将无法使用。但是如果我手动将证书导入证书存储并将其绑定到我的网站。我没有任何问题。

我正在调用一个脚本,该脚本将根证书添加到“受信任的根”,并将客户端证书添加到“个人”存储。

$pfx = new-object System.Security.Cryptography.X509Certificates.X509Certificate2 
$rootCertImportPath = $runtimeDirPath + $rootCertName
$pfx.import($rootCertImportPath,$rootCAPass,"Exportable,PersistKeySet") 

$store = new-object System.Security.Cryptography.X509Certificates.X509Store(
    [System.Security.Cryptography.X509Certificates.StoreName]::Root,
    "localmachine"
)
$store.open("MaxAllowed") 
$store.add($pfx) 
$store.close()

我正在尝试使用$ pfx.import调用导入.cer文件扩展名。 我是否需要将其他参数传递给下面提到的函数?

$pfx.import($rootCertImportPath,$rootCAPass,"Exportable,PersistKeySet")

请帮帮我!

1 个答案:

答案 0 :(得分:1)

您不是在导入PFX,而是在仅导入公共证书而没有私钥。因此正确的呼叫是:

$pfx.import($rootCertImportPath)

不使用其他参数。