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

时间:2016-08-12 16:05:09

标签: windows-store-apps uwp windows-store

我有一个开源的Windows商店应用程序(UWP)。当我将应用程序与商店关联时,会创建if(self.trustAllHosts) // for self signed certificates - (void)connection:(NSURLConnection*)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge*)challenge { if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) { if (self.trustAllHosts) { NSURLCredential* credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]; [challenge.sender useCredential:credential forAuthenticationChallenge:challenge]; } [challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge]; } else { [challenge.sender performDefaultHandlingForAuthenticationChallenge:challenge]; } } 以及对Package.StoreAssociation.xml(身份标记;名称和发布者属性)的一些修改。

  • 我可以将该信息提交到公共git存储库(证书必须在存储库中,因为我想使用AppVeyor构建包)吗?
  • 我应该加密吗?
  • 如果证书泄露,我可以撤销证书吗?
  • 对appxmanifest的更改是否敏感?

1 个答案:

答案 0 :(得分:2)

您不应将<AppName>_StoreKey.pfx文件包含在公开回购中。但是,您仍然可以使用 AppVeyor CI

1.更改您的*.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.将<AppName>_StoreKey.pfx证书导入:商店位置 - 当前用户,证书商店 - 个人

3.将值UseTemporarySignCert的{​​{1}}环境变量添加到 AppVeyor 项目中。

结果,您将能够在发布模式下在没有true的情况下自己构建签名项目,然后将其发布到商店。 AppVeyor 将与<AppName>_StoreKey.pfx一起使用。