4

我想通过命令提示符创建一个临时证书(构建 Metro 应用程序所需)。我曾尝试用 CMD 做到这一点:

makecert.exe -n "CN=MY_DOMAIN" -r -a sha1 -sv MY_DOMAIN.pvk MY_DOMAIN.cer –ss root

pvk2pfx -pvk MY_DOMAIN.pvk -spc MY_DOMAIN.cer -pfx MY_DOMAIN.pfx

但是当我在我的项目中使用这个 pfx 文件时,出现以下错误:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\AppxPackage\Microsoft.AppXPackage.Targets(1142,9):错误:APPX0107:指定的证书对签名无效。

4

1 回答 1

6

三个变化:

  1. 证书在增强型密钥使用扩展中缺少代码签名 OID (1.3.6.1.5.5.7.3.3)。使用-eku 1.3.6.1.5.5.7.3.3参数将其添加到makecert.
  2. 通过替换将证书放入My证书存储区而不是根证书存储区-ss root-ss My
  3. -cy end使用makecert的参数确保证书是基本约束扩展中的最终实体。

有关签署 Windows 应用商店应用程序的更多信息,请参阅 MSDN签署应用程序包(Windows 应用商店应用程序) ,有关 makecert 参数的更多信息,请参阅 MakeCert 。

于 2012-09-23T12:45:58.273 回答