我可以发布 UWP 应用程序的 StoreKey.pfx

Can I publish the StoreKey.pfx of an UWP application

我有一个开源 windows 商店应用程序 (UWP)。当我将应用程序与商店关联时,会创建一个 Package.StoreAssociation.xml 和一个 <AppName>_StoreKey.pfx 以及对我的 Package.appxmanifest(身份标签;名称和发布者属性)的一些修改。

Can I commit that information to a public git repository (the certificate must be in the repository because I want to build the package with AppVeyor)?

对于 public git 存储库,不应提交存储密钥 .pfx 文件(添加到 .git 忽略文件)。如果您想使用 CI 系统,请创建一个私有存储库或将 .pfx 文件附加到 CI 后端中的克隆项目。

Should I encrypt it?

此文件已加密,用于在提交到 Windows 商店之前签署您的应用程序,另请参阅 How to create an app package signing certificate

Could I revoke the certificate if it leaked?

您需要保留一个新的应用名称,参见here

Are the changes to appxmanifest sensitive?

取决于您所做的更改,.packagemanifest 文件中的标识和包信息非常重要。参见 App package manifest

您不应将 <AppName>_StoreKey.pfx 文件包含到您的 public 存储库中。但是你仍然可以使用 AppVeyor CI.

1.Change 您的 *.csproj 文件以包含此信息。

<PropertyGroup Condition="('$(Configuration)' == 'Debug') Or ('$(UseTemporarySignCert)' == 'true')">
    <PackageCertificateKeyFile><AppName>_TemporaryKey.pfx</PackageCertificateKeyFile>
</PropertyGroup>
<PropertyGroup Condition="('$(Configuration)' == 'Release') And ('$(UseTemporarySignCert)' != 'true')">
    <PackageCertificateThumbprint><!-- Your <AppName>_StoreKey.pfx Thumbprint Here --></PackageCertificateThumbprint>
</PropertyGroup>

2.Import 您的 <AppName>_StoreKey.pfx 证书到:存储位置 - 当前用户,证书存储 - 个人

3.Add UseTemporarySignCert 值为 true 的环境变量到您的 AppVeyor 项目。

因此,在发布模式下,您无需 <AppName>_StoreKey.pfx 即可自行构建签名项目,然后发布到商店。 AppVeyor 将与 TemporaryKey.pfx 一起使用。