【问题标题】:Signing Edge WebExtension and UWP app in Visual Studio在 Visual Studio 中签名 Edge WebExtension 和 UWP 应用
【发布时间】:2019-03-08 14:50:59
【问题描述】:

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

我在 AppServiceProvider 项目下的文件夹Extension 中添加了一个自己的 Chrome WebExtenion 并对其进行了调整,以便按照文档进行通信。我尝试通过双击生成的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


    【解决方案1】:

    如何在 Visual Studio 中签署程序集

    您可以使用项目属性窗口的签名选项卡对应用程序或组件进行签名(右键单击解决方案资源管理器中的项目节点并选择属性,或在快速启动窗口中键入项目属性,或在解决方案中按 Alt+Enter探险家)。选择 Signing 选项卡,然后选中 Sign the assembly 复选框。

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

    警告

    您应该始终使用密码保护您的密钥文件,以防止 别人使用它。您还可以使用以下方法保护您的密钥 提供者或证书存储。

    您也可以指向您已经创建的密钥。有关创建密钥的详细信息,请参阅创建公私密钥对。

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

    参考:

    How to sign an assembly in Visual Studio

    【讨论】:

      【解决方案2】:

      通过双击 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-02-21
        • 1970-01-01
        • 1970-01-01
        • 2016-10-02
        • 2020-07-26
        • 1970-01-01
        • 2017-01-27
        相关资源
        最近更新 更多