我已经创建了一个Metro风格的C#/ XAML应用程序,现在我正在尝试将其添加到版本控制(Git以及后来的GitHub)。这意味着要确定哪些文件属于版本控制,哪些文件不属于。
当我创建Metro项目时,Visual Studio为其添加了一个名为 ProjectName _TemporaryKey.pfx的文件。根据我的阅读,.pfx文件显然与代码签名或证书或类似的东西有关。我还没有找到任何可以解释它们在Metro风格应用程序环境中的含义,或者您应该如何管理它们的内容。
我打算将我的代码推送到GitHub(在公共存储库中)。从长远来看,我打算将我的应用程序放在Windows商店中。如果需要.pfx文件来构建项目,那么我最好检查它。如果它包含一个数字身份,将我识别为应用程序的作者,并且发布它将允许互联网上的任何人推送我的应用程序的新版本在我不知情的情况下访问Windows商店,我最好不检查它。
所以我的问题是, TemporaryKey.pfx文件中有什么秘密吗?我应该将它检查到我的公共存储库中,还是应该将其保留在源代码管理之外? (如果我没有把它放到源代码控制中,但是后来想在另一台计算机上查看我的代码会怎么样?)
答案 0 :(得分:34)
临时代码证书使用.pfx来签署您的应用程序以便部署到您的计算机,以便您可以进行调试。您可以删除它,但需要生成一个新的临时密钥(通过package.appxmanifest对话框中的Packaging选项卡)。我总是将它留在我发布的代码中,因为使用代码的人更容易(即没有错误消息)。如果您查看其他一些WinRT源项目(例如MVVMLight),为方便起见,它们还包括.pfx。
如果我理解正确,那么在商店提交过程中会替换temp .pfx,因此您无需担心其他人使用的临时.pfx。
答案 1 :(得分:0)
.PFX是你的钥匙(就像你家门的钥匙)。 这是为了使用私钥进行代码签名(安全性需要密码)。 除了应用程序的开发人员之外,没有人可以拥有它。 如果您是唯一可以访问存储库的人,您可以对其进行版本化,但有人可以入侵它,然后是什么......? 每个人都可以假装你,作为该计划的作者。 抱歉我的英文。