【发布时间】:2022-01-03 22:04:25
【问题描述】:
我目前正在开发一个 WinUI 3 应用程序,但我相信应用程序类型的详细信息对于我的问题并不重要。
应用程序附带一个“包项目”,用于使用 MSIX 发布应用程序:
在包项目的“Package.appxmanifest”文件的编辑器中,有一个“Packaging”选项卡,其中有一个“Choose certificate”按钮,用于选择“.pfx”证书文件。
我是如何获得“.pfx”文件的: 当 Windows 证书存储的应用程序打开时,我的 IT 部门登录了我的机器。在那里,我们在“自己的证书”下添加了一个新的“代码签名”证书,但它不是由我颁发的,而是由 IT 部门颁发的。他们告诉我,当我发布用它签名的应用程序时,客户端机器也应该信任这个证书,因为它是由他们颁发的,所以它有一个有效的信任链。后来我根据我现在尝试使用的证书导出了一个 pfx 文件。
现在,在 Visual Studio 中的“打包”选项卡上选择此 .pfx 文件后,我收到以下错误消息:
很遗憾,“清单设计者无法导入证书”错误消息没有提供问题的确切原因。
我很确定我的证书有一个有效的日期并且也是为“代码签名”而制作的。
我已经发现有其他用户想知道如果出现此消息如何修复证书。但似乎没有人知道如何得知确切的问题。 当我在 Visual Studio 中选择证书并出现此错误时,有什么方法可以使用 Visual Studio 或 Powershell 或其他工具告诉我证书的确切问题是什么?我想要比“导出的 .pfx 证书有问题”更详细的信息,我可以提供给我的 IT 部门。
我知道我可以在打包项目的项目文件中指定此设置,以阻止错误出现:
<EnableSigningChecks>false</EnableSigningChecks>
但我也很想知道确切的问题是什么。谢谢。
其他信息: 为了检查 pfx 证书文件,我还执行了“certutil”命令(带有 -v 选项),如下所示:https://superuser.com/a/580698/543294 在大文本转储文件中,我找到了一个颁发者,我也在受信任的根证书列表中找到证书管理应用程序的权限。
【问题讨论】:
-
您是否编辑了
Package.appxmanifest中<Identity>元素的 Publisher 属性以匹配证书的 Subject 属性? -
在“打包”选项卡上,“出版商”标签旁边有一个文本框。文本框的内容是“E = MYEMAIL”,这个文本框是灰色的/禁用的,所以我猜它不是要更改的,而是根据所选证书填充的。 Package.appxmanifest 文件中
元素的值与 TextBox 中的值相同。但是,正如我的问题中所指出的,我正在寻找让系统告诉我这个问题的方法。 -
在我的问题的第一个版本中,我没有正确解释我是如何获得 .pfx 文件的,对此我深表歉意。我添加了一个新部分“我如何获得“.pfx”文件”。
标签: visual-studio deployment certificate msix winui-3