我使用PowerShell应用程序部署工具包,我有一个脚本来安装一些MSI。对于其中一个MSI,我有一个证书(cert.cer),我需要在每台机器的可信赖发布者上安装。
经过一番挖掘后,我想出了这个:
certutil.exe -addstore TrustedPublisher cert.cer certutil.exe -addstore root cert.cer
这不起作用,没有错误,我仍然被提示必须接受来自不受信任的发布者的安装。
答案 0 :(得分:2)
以管理员身份打开PowerShell并运行:
Import-Certificate -FilePath cert.cer -CertStoreLocation Cert:\LocalMachine\TrustedPublisher
答案 1 :(得分:0)
这对我有用,
$pfx = new-object System.Security.Cryptography.X509Certificates.X509Certificate2
$certPath = read-host "Certificate Path"
$pfxPass = read-host "Password" -assecurestring
$pfx.import($certPath,$pfxPass,"Exportable,PersistKeySet")
$store = new-object System.Security.Cryptography.X509Certificates.X509Store(
[System.Security.Cryptography.X509Certificates.StoreName]::TrustedPublisher,
"localmachine"
)
$store.open("MaxAllowed")
$store.add($pfx)
$store.close()
答案 2 :(得分:0)
由于上述问题,import-certificate 导入链中的所有证书,我更喜欢 ng build --prod --base-href /fileName/
,它也应该读取 .cer 文件。
然后您可以访问签名者证书并将其添加到商店。
Get-AuthenticodeSignature