手动创建临时证书

时间:2012-09-23 12:43:46

标签: .net windows-8 certificate microsoft-metro

我想通过命令提示符创建临时证书(构建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   (86)\的MSBuild \微软\ VisualStudio的\ 11.0 \ AppxPackage \ Microsoft.AppXPackage.Targets(1142,9):   错误:APPX0107:指定的证书对签名无效。

1 个答案:

答案 0 :(得分: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. 使用makecert的-cy end参数确保证书是Basic Constraints扩展中的结束实体。
  4. 有关签署Windows应用商店应用的详细信息,请参阅MSDN Signing an app package (Windows Store apps);有关makecert参数的详细信息,请参阅MakeCert