2012-07-03 3 views
42

Я создал приложение C#/XAML в стиле Metro, и теперь я пытаюсь добавить его в управление версиями (Git и, позже, GitHub). Это означает выяснить, какие файлы принадлежат управлению версиями, а какие нет.Должен ли я добавить файл TemporaryKey.pfx моего приложения Metro для управления версиями?

Когда я создал проект Metro, Visual Studio добавила к нему файл ProjectName _TemporaryKey.pfx. Из того, что я читал, файлы .pfx, видимо, имеют какое-то отношение к подписи кода или к сертификатам или тому подобному. Я еще не нашел ничего, что объясняет, что они означают в контексте приложений в стиле Metro, или как вы должны управлять ими.

Я планирую нажать мой код на GitHub (в публичном репозитории). В долгосрочной перспективе я планирую разместить свое приложение в магазине Windows. Если для создания проекта требуется файл .pfx, то лучше проверить его. Если он содержит цифровой идентификатор, который идентифицирует меня как автора приложения, и публикация его позволит любому пользователю Интернета вносить новые версии моего приложения в магазине Windows, без моего ведома, то я бы лучше не проверить его.

Так что мой вопрос, есть все, что секрет в TemporaryKey.pfx файл? Должен ли я проверить его в своем общедоступном хранилище или оставить его вне контроля источника? (И что бы сломалось, если бы я не поместил его в исходный контроль, но потом захотел проверить мой код на другом компьютере?)

+1

Это отличный вопрос. Хотя у меня нет хорошего ответа - довольно легко создать новый ключ, поэтому код остается без использования (без дополнительного шага) - вам нужно перейти на вкладку Package.appxmanifest/Packaging/[ Выберите «Сертификат ...]/[Настроить сертификат ...]/[Создать тестовый сертификат ...] - это позволяет создать новый файл pfx, что также полезно, если старый является недопустимым - например, когда вы обновляете свой проект из старой сборки Win8 и инструментов dev. –

+1

Хорошо, интересно знать. Вы знаете, что что-то сломается, если вы создадите новый тестовый сертификат? Например, вы больше не сможете отправлять новые версии своего приложения в магазин приложений? Или они не будут принимать что-либо с сертификатом тестирования в первую очередь - вам нужно купить сертификат где-нибудь, прежде чем вы сможете отправить в магазин приложений? Для этого нужна документация, я просто не смог ее найти. –

+0

Нет, извините. Я не видел слишком много деталей для этого, и у меня еще нет токена магазина или я сам опубликовал приложение в магазине. –

ответ

33

.pfx используется во временном сертификате кода, чтобы подписать приложение для развертывания ваша машина, чтобы вы могли отлаживать. Вы можете удалить его, но нужно создать новый временный ключ (через вкладку «Упаковка» в диалоге package.appxmanifest). Я всегда оставляю его в коде, который я отправляю, поскольку пользователю проще использовать код (т. Е. Никаких сообщений об ошибках). Если вы посмотрите на некоторые другие исходные проекты WinRT (например, MVVMLight), они также включают в себя .pfx для удобства.

Если я правильно понимаю, в процессе подачи Хранилища заменяется temp .pfx, поэтому вам не нужно беспокоиться о том, что temp .pfx используется кем-то другим.

+0

Да, когда вы создаете пакет приложений для публикации в целях хранения, будет создан новый ключевой файл $ appname $ _StoreKey.pfx. Я всегда сохраняю как $ appname $ _TemporaryKey.pfx, так и $ appname $ _StoreKey.pfx для контроля версий. –

+6

Тогда следующий вопрос будет ... после того, как вы опубликуете приложение, вы получите '* _StoreKey.pfx' Is небезопасно, чтобы проверить его? – kiewic

+0

Я бы не стал проверять ключ к магазину, особенно не в размещенном репо, который позже может быть передан другим членам команды. В VSTS вы можете использовать опцию «Защищенные файлы» для этого, если вы хотите использовать Continuous Integration, где вам нужен PFX снова. – Patric

0

.PFX - ваш ключ (как ключ для вашей домашней двери). Это для целей подписи кода с закрытым ключом (кодовая фраза, требуемая для обеспечения безопасности). Никто не может иметь его, кроме разработчика приложения. Вы можете проверить его версию, если вы единственный, кто имеет доступ к репозиторию, но кто-то может взломать его, а затем что ...? Каждый может притворяться, автор программы. Извините за мой английский.

+0

Я понимаю, для чего это нужно, но вы говорите, что заявление Джеффа Брэнга о том, что «temp .pfx заменено во время процесса подачи в магазине», неверно? Если он прав, то временный pfx используется только в режиме отладки на вашем локальном компьютере, никогда в развернутом приложении. –

+0

«temp .pfx заменяется во время процесса подачи в хранилище». Мой ответ общий. Вы можете использовать сертификат PFX, созданный с помощью инструмента Makecert (https://msdn.microsoft.com/en-us/library/ff699202.aspx). Visual Studio генерирует его для вас автоматически, но это не имеет значения. Для меня он не может быть опубликован никому, поскольку по умолчанию он содержит закрытый ключ без кодовой фразы. –

 Смежные вопросы

  • Нет связанных вопросов^_^