显然,你不能只拿任何临时密钥并用它在APPX上签名。特别是证书主题行必须匹配(“发布者名称”)。我不知道有什么更好的方法来确定主题行的实际内容。首先,尝试使用signtool并用任何临时密钥对APPX文件进行签名。现在转到事件查看器。然后是应用程序和服务,然后是Microsoft,然后是Windows,然后是AppxPackageing,最后是Microsoft Windows AppxPackages/Operational。应该有一个错误事件刚刚从该生成中发生。检查一下,应该是这样的
Error 0x800700B: The app manifest publisher name (CN=random-hex-number) must match the subject name of the signing certificate (CN=MyWrongName)
所以,现在一定要抓住那个随机的十六进制数。这需要是证书的主题行,也是错误的原因。要生成工作证书,请执行以下操作:
makecert.exe mycert.cer -r -n "CN=random-hex-number" -$ individual -sv private.pkv -pe -cy end
pvk2pfx -pvk private.pkv -spc mycert.cer -pfx mytemporarykey.pfx
现在,最后,您应该有一个临时密钥,可以使用signtool!
希望这个答案能很好地为其他人服务。