uwp - 应用清单发布者名称 (CN={digits}) 必须与签名证书的主题名称 (CN=anton) 匹配
问题描述
错误 0x8007000B:应用清单发布者名称 (CN=563776A1-7D2D-4E8E-AFE2-XXXXXX) 必须与签名证书的主题名称 (CN=anton) 匹配。我在整个网络上进行了搜索,并得到了诸如“您必须确保发布者名称(在 AppxManifest.xml 文件中)与证书的发布者相同的答案。” 但没有解释如何做到这一点。我检查了我所有的文件,它们都有相同的发布者名称,那么问题是什么?
解决方案
正如错误所说,Publisher
(在清单中)必须与Subject
用于签署您的应用程序的证书相匹配。如果您在 Visual Studio 中开发并且只是尝试在本地运行/安装应用程序,您将获得一个带有您的名称的临时密钥(如"CN=anton"
) - 只需确保Publisher
AppX 清单中的 与此名称匹配。
<Identity
Name="NameOfTheApp"
Publisher="CN=MustMatchWhatsInYourCertificate"
Version="1.0.0.0" />
如果您获得应用商店签名的应用程序,或通过其他证书进行更广泛的分发,您需要确保名称匹配。您可以Subject
通过运行查看任何证书certutil
(如果是临时 VS 证书,只需按 enter 输入密码):
c:\> certutil -dump ProjectName_TemporaryKey.pfx
Enter PFX password:
================ Certificate 0 ================
================ Begin Nesting Level 1 ================
Element 0:
Serial Number: <blah>
Issuer: CN=Peter
NotBefore: 12/13/2018 2:02 PM
NotAfter: 12/13/2019 8:02 PM
Subject: CN=Peter <====================================================== Here
Signature matches Public Key
Root Certificate: Subject matches Issuer
Cert Hash(sha1): <bla>
推荐阅读
- c++ - 当元表 __index 指向函数并且未使用返回值时 Lua 崩溃
- kotlin - 无法创建 Kotlin 类或文件
- javascript - 如何在 handleSubmit 中使用 useHistory()?
- linux - 跨平台 api 或 bin 文件来验证系统中的夏令时
- deep-learning - 为什么新纪元开始时我的火车损失会下降?
- c++ - 如何从 Arduino 中的串行输入调用函数?
- sql - 创建多个文件以上传到雪花
- python - sphinx 不显示任何文档(sphinx w/ plone)
- django - 如何使用 Django REST 框架将会话与自定义用户模型一起使用?
- java - Java - 一个类中的多个泛型