我目前正在为另一家公司开发UWP应用程序。我没有用于签署应用程序的真实证书,因此我尝试使用给定的发布者名称生成临时证书。发布者名称应该看起来像这样,以便另一家公司可以覆盖AppXBundle签名:
e = email@company.com,cn =公司名称,o =公司名称,l = city,s =区域,c = fr
我尝试使用以下命令生成证书:
"C:Program Files (x86)Windows Kits10binx64makecert.exe" -r -n "E=email@company.com, CN=COMPANY NAME, O=COMPANY NAME, L=City, S=Region, C=FR" -sv mycert.pvk mycert.cer
"C:Program Files (x86)Windows Kits10binx64pvk2pfx.exe" –pvk infoliaison.pvk –spc mycert.cer –pfx mycert.pfx –po mycert
或
New-SelfSignedCertificate -Type Custom -Subject "E=email@company.com, CN=COMPANY NAME, O=COMPANY NAME, L=City, S=Region, C=FR" -KeyUsage DigitalSignature -FriendlyName myproject -CertStoreLocation "Cert:LocalMachineMy"
但是Visual Studio 2015拒绝导入它们。我检查了,他们没有过期
如果我尝试与发布者一起使用Visual Studio生成测试证书,则AppxBundle中的清单会像这样修改:
<身份名称=" [...]" publisher =" cn =& qn =; e = email@company.com,cn =公司名称,o =公司名称,l = city,s =区域,c = fr& quot;"/>
我有什么办法可以做到吗?
我最终设法创建了一个有效的证书,与Visual Studio一起使用以下命令在PowerShell中使用Admin Rights
New-SelfSignedCertificate -Type Custom -Subject "E=email@company.com, CN=COMPANY NAME, O=COMPANY NAME, L=City, S=Region, C=FR" -KeyUsage DigitalSignature -FriendlyName myproject -CertStoreLocation "Cert:LocalMachineMy" -TextExtension '2.5.29.37={text}1.3.6.1.5.5.7.3.3','2.5.29.19={critical}{text}ca=0'
然后,我将证书导出在PFX文件中,并用它来签署我的应用