【发布时间】:2021-10-15 13:09:57
【问题描述】:
我使用以下方法创建了代码证书:
$cert = New-SelfSignedCertificate -CertStoreLocation "Cert:\CurrentUser\My" -dnsname testcert.test.io
$cert
$secPassword = ConvertTo-SecureString -String 'password1234' -Force -AsPlainText
$certPath = "Cert:\CurrentUser\My\$($cert.Thumbprint)"
Export-PfxCertificate -Cert $certPath -FilePath C:\selfcert.pfx -Password $secPassword
我正在尝试使用它来签署我的 .exe:
"C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x86\signtool.exe" sign /debug /f "C:\selfcert.pfx" /p password1234 "A:\mysoft\sign\myexe.EXE"
调试会抛出这个:
The following certificates were considered:
Issued to: testcert.test.io
Issued by: testcert.test.io
Expires: Fri Aug 12 15:25:13 2022
SHA1 hash: 0CDA91D628CA855B49FA1CB8DFD0F53C121BEB27
After EKU filter, 0 certs were left.
After expiry filter, 0 certs were left.
After Private Key filter, 0 certs were left.
SignTool Error: No certificates were found that met all the given criteria.
运行 certmgr 将我的证书显示在 Personal>证书为 testcert.test.io(我想是因为 dnsname)
我的想法,(这是我第一次尝试认证 .exe,所以我可能错了)这意味着我的证书没有通过 EKU 过滤器,afaik EKU 过滤器意味着被列为受信任的证书(我'我不确定那个)
我做错了什么?或者我想做什么?
【问题讨论】:
标签: windows powershell certificate ssl-certificate