Mic*_* M. 2 code-signing windows-store-apps sideloading msix
我们有一个 Windows UWP 应用程序,目前在 Microsoft 商店中。该项目包括一个商店关联文件,其中包含发布者属性,其中一个是通用名称。我们的商店帐户将 CN 显示为类似于 GUID 的字符串值。它将显示名称显示为我们的公司名称。在 Visual Studio 中,我们可以使用自签名证书构建用于旁加载和代码签名的应用程序,其中证书的 CN 与 Store CN(类似 GUID 的字符串)相同。这使我们能够在商店版本上加载新版本的应用程序,以便快速测试并为特定客户提供新功能。然后,侧载版本最终可以使用较新的已发布商店版本进行更新。
我的问题是:我们想用我们从受信任的证书颁发机构购买的代码签名证书对应用程序进行签名。问题是受信任的代码签名证书必须将通用名称作为公司名称。我们似乎只能使用通用名称与商店关联文件中的 CN 相同的证书(类似字符串的 GUID)对应用程序进行签名。这是存储关联应用程序的已知限制还是我们遗漏了什么?
TLDR;在 MS Store 中发布的任何应用程序都将仅使用 Microsoft 的证书进行签名。您不能使用自己的证书在商店中发布应用程序。
如果您使用自己的证书对包进行签名,则需要为用户提供外部链接以获取您的应用程序。您可以为此使用AppInstaller 协议。
您在 CN 中看到的 GUID(用于 VS 自动生成的证书)实际上是一种类似于“私钥”的机制,MSFT 使用它来确保商店中发布的应用程序实际上是由其真正所有者提交的(即我假设以避免某种中间人攻击,攻击者可以以某种方式上传您的应用程序的损坏版本)。
一旦您的应用进入商店并通过所有验证,MSFT 将使用自己的证书对其进行签名。我想这就是 AppInstaller 服务(或来自 Windows 10 的商店应用程序)知道可以信任任何使用其证书签名的应用程序的方式。
| 归档时间: |
|
| 查看次数: |
804 次 |
| 最近记录: |