47

我已经创建了一个 Metro 风格的 C#/XAML 应用程序,现在我正在尝试将它添加到版本控制(Git 和后来的 GitHub)。这意味着要弄清楚哪些文件属于版本控制,哪些不属于。

创建 Metro 项目时,Visual Studio 向其中添加了一个名为ProjectName _TemporaryKey.pfx 的文件。根据我的阅读,.pfx 文件显然与代码签名或证书或类似的东西有关。我还没有找到任何东西可以准确地解释它们在 Metro 风格应用程序中的含义,或者你应该如何管理它们。

我打算将我的代码推送到 GitHub(在公共存储库中)。从长远来看,我计划将我的应用程序放在 Windows 商店中。如果构建项目需要 .pfx 文件,那么我最好将其签入。如果它包含将我标识为应用程序作者的数字身份,并且发布它将使互联网上的任何人都可以推送我的应用程序的新版本在我不知情的情况下到 Windows 商店,那我最好不要签入。

所以我的问题是,TemporaryKey.pfx 文件中有什么秘密吗?我应该将其签入我的公共存储库,还是应该将其排除在源代码控制之外?(如果我没有将它放入源代码控制中,但又想在另一台计算机上检查我的代码,会发生什么?)

4

2 回答 2

37

.pfx 用于临时代码证书来签署您的应用程序以部署到您的计算机,以便您可以调试。您可以删除它,但需要生成一个新的临时密钥(通过 package.appxmanifest 对话框中的 Packaging 选项卡)。我总是把它留在我发布的代码中,因为它对使用代码的人来说更容易(即没有错误消息)。如果您查看其他一些 WinRT 源项目(例如 MVVMLight),它们还包括 .pfx 以方便使用。

如果我理解正确,临时 .pfx 将在商店提交过程中被替换,因此您无需担心临时 .pfx 被其他人使用。

于 2012-09-08T13:30:32.957 回答
0

.PFX 是您的钥匙(就像您家门的钥匙)。这是为了使用私钥进行代码签名(安全需要密码)。除了应用程序的开发者之外,没有人可以拥有它。如果您是唯一有权访问存储库的人,则可以对其进行版本控制,但是有人可以入侵它,然后……?每个人都可以假装你,程序的作者。对不起我的英语不好。

于 2017-07-11T08:18:41.940 回答