我正在为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中?
还有其他需要考虑的事情吗?
任何帮助将不胜感激,谢谢!
答案 0 :(得分:0)
如何在Visual Studio中签名程序集
您可以使用项目属性窗口的“签名”选项卡对应用程序或组件进行签名(在“解决方案资源管理器”中右键单击项目节点,然后选择“属性”,或者在“快速启动”窗口中键入项目属性,或者在解决方案内部按Alt + Enter)资源管理器)。选择“签名”选项卡,然后选中“对程序集签名”复选框。
指定密钥文件。如果选择创建新的密钥文件,则新的密钥文件始终以.pfx格式创建。您需要新文件的名称和密码。
警告
您应始终使用密码保护密钥文件,以防止 别人使用它。您还可以通过使用来保护密钥 提供者或证书存储。
您也可以指向您已经创建的密钥。有关创建密钥的更多信息,请参阅创建公共密钥对。
如果您只能访问公共密钥,则可以使用延迟签名来延迟分配密钥。您可以通过选中“仅延迟签名”复选框来启用延迟签名。延迟签名的项目不会运行,并且您无法调试它。但是,通过使用带有-Vr选项的Sn.exe强名称工具,可以在开发过程中跳过验证。
参考:
答案 1 :(得分:0)
在AppServiceProvider项目中双击Package.appxmanifest
,将打开一个包含服务器类别的菜单。在Packaging
类别中,单击发布者字段旁边的Choose Certificate...
按钮,然后选择.pfx文件。
通过Create App Packages
向导创建的appx软件包将使用之前配置的私钥进行签名。
应用清单发布者名称必须与的主题名称完全匹配 签名。
可以通过双击安装appx,并且可以运行。但是WebExtension不会安装在Edge中。
参考文献: