Visual Studio 在 appxmanifest 文件的身份发布者字段中添加 CN=

Visual Studio add CN= in Identity Publisher Field in appxmanifest File

我目前正在为另一家公司开发 UWP 应用程序。我没有用于签署应用程序的真实证书,因此我尝试使用给定的发布者名称生成临时证书。发布者名称应如下所示,以便其他公司可以覆盖 appxbundle 签名:

E=email@company.com, CN=COMPANY NAME, O=COMPANY NAME, L=City, S=Region, C=FR

我尝试使用这些命令生成证书:

"C:\Program Files (x86)\Windows Kits\bin\x64\makecert.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 Kits\bin\x64\pvk2pfx.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:\LocalMachine\My"

但 Visual studio 2015 拒绝导入它们。我检查过它们没有过期

如果我尝试与我的发布者一起使用 visual studio 生成测试证书,appxbundle 中的清单将修改如下:

<Identity Name="[...]" Publisher="CN=&quot;E=email@company.com, CN=COMPANY NAME, O=COMPANY NAME, L=City, S=Region, C=FR&quot;"/>

有什么办法可以做到这一点吗?

我终于设法创建了一个有效的证书,使用 Visual Studio 在具有管理员权限的 powershell 中使用以下命令

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:\LocalMachine\My" -TextExtension '2.5.29.37={text}1.3.6.1.5.5.7.3.3','2.5.29.19={critical}{text}ca=0'

然后我将证书导出到 pfx 文件中并用它来签署我的应用程序