在Visual Studio中签署Edge WebExtension和UWP应用程序

问题描述 投票:0回答:2

我正在为Edge开发WebExtension。我从https://docs.microsoft.com/en-us/windows/uwp/launch-resume/how-to-create-and-consume-an-app-service实现了这个例子,它正在运行。创建和签署独立的WebExtension工作,生成的.appx安装扩展没有问题。但现在我需要一个AppServiceProvider来启用本机消息传递。我想构建一个安装扩展和AppServiceProvider的.appx文件。

我将自己的Chrome WebExtenion添加到AppServiceProvider项目下的Extension文件夹中并对其进行了调整,以便根据文档进行通信。我尝试通过双击生成的AppServiceProvider_1.0.0.0_x86_Debug.appx(包括两者)来安装Edge和AppServiceProvider中的WebExtension。但是我收到一条错误消息,要么我必须为此应用程序包安装新证书,要么需要一个带有可信证书的新应用程序包。我按照https://docs.microsoft.com/en-us/windows/desktop/appxpkg/how-to-create-a-package-signing-certificate的说明创建了一个用于测试目的的自签名证书,并将其添加到TrustedPeople证书存储中。对于独立的WebExtension,这有效,但签名过程在Visual Studio中如何工作?

哪里有我的.pfx文件包含在Visual Studio中?

还有其他我需要考虑的事情吗?

任何帮助将不胜感激,谢谢!

uwp microsoft-edge code-signing appx
2个回答
0
投票

如何在Visual Studio中签署程序集

使用项目属性窗口的“签名”选项卡对应用程序或组件进行签名(在“解决方案资源管理器”中右键单击项目节点,然后选择“属性”,或在“快速启动”窗口中键入项目属性,或在“解决方案资源管理器”中按Alt + Enter)。选择“签名”选项卡,然后选中“签署程序集”复选框。

指定密钥文件。如果选择创建新密钥文件,则始终以.pfx格式创建新密钥文件。您需要新文件的名称和密码。

警告

您应该始终使用密码保护您的密钥文件,以防止其他人使用它。您还可以使用提供程序或证书存储来保护密钥。

您还可以指向已创建的密钥。有关创建密钥的更多信息,请参阅创建公钥 - 私钥对。

如果您只能访问公钥,则可以使用延迟签名来推迟分配密钥。您可以通过选中仅延迟符号复选框来启用延迟签名。延迟签名的项目不会运行,您无法对其进行调试。但是,您可以使用带有-Vr选项的Sn.exe强名称工具在开发期间跳过验证。

参考:

How to sign an assembly in Visual Studio


0
投票

通过双击AppServiceProvider项目中的Package.appxmanifest,将打开一个包含多个类别的菜单。在Packaging类别中,单击发布者字段旁边的Choose Certificate...按钮,然后选择.pfx文件。

通过Create App Packages向导创建的appx包将使用之前配置的私钥进行签名。

应用清单发布者名称必须与签名的主题名称完全匹配。

可以通过双击安装appx并且正在运行。但是WebExtension不会安装在Edge中。

参考文献:

Package a UWP app with Visual Studio

Sign an app package using SignTool

© www.soinside.com 2019 - 2024. All rights reserved.