web-dev-qa-db-ja.com

MetroアプリのTemporaryKey.pfxファイルをバージョン管理に追加する必要がありますか?

MetroスタイルのC#/ XAMLアプリケーションを作成しましたが、バージョン管理(Git、後でGitHub)に追加しようとしています。つまり、どのファイルがバージョン管理に属し、どのファイルがバージョン管理に属していないかを把握することを意味します。

Metroプロジェクトを作成したとき、Visual StudioはProjectName_ TemporaryKey.pfxというファイルをプロジェクトに追加しました。私が読んだところによると、.pfxファイルは明らかにコード署名や証明書などと関係があります。 Metroスタイルのアプリのコンテキストでそれらが何を意味するのか、またはそれらをどのように管理するのかを正確に説明するものはまだ見つかりません。

コードをGitHub(パブリックリポジトリ内)にプッシュすることを計画しています。長期的には、アプリをWindowsストアに置く予定です。プロジェクトのビルドに.pfxファイルが必要な場合は、チェックインすることをお勧めします。アプリの作成者であることを示すデジタルIDが含まれている場合は、公開すると、インターネット上の誰もがアプリの新しいバージョンをプッシュできるようになります。私の知らないうちにWindowsストアにアクセスした場合は、notでチェックインしたほうがよいでしょう。

だから私の質問は、TemporaryKey.pfxファイルに秘密はありますか?パブリックリポジトリにチェックインする必要がありますか、それともソース管理から外す必要がありますか? (そして、ソース管理に入れなかったが、別のコンピューターでコードをチェックアウトしたい場合、何が壊れますか?)

46
Joe White

.pfxは、一時的なコード証明書で使用され、アプリをマシンにデプロイするために署名して、デバッグできるようにします。削除することはできますが、新しい一時キーを生成する必要があります(package.appxmanifestダイアログのPackagingタブを使用)。コードを使用する人にとっては簡単なので(つまり、エラーメッセージが表示されないため)、投稿するコードには常にそれを残します。他のWinRTソースプロジェクト(MVVMLightなど)を見ると、便宜上、.pfxも含まれています。

私が物事を正しく理解していれば、ストアの送信プロセス中に一時.pfxが置き換えられるため、他の誰かが一時.pfxを使用していることを心配する必要はありません。

35
Jeff Brand

.PFXはあなたの鍵です(あなたの家のドアの鍵のように)。これは、秘密鍵を使用したコード署名を目的としています(セキュリティにはパスフレーズが必要です)。アプリケーションの開発者以外は誰もそれを持つことができません。リポジトリにアクセスできるのがあなただけの場合はバージョン管理できますが、誰かがリポジトリにハッキングしてから何をする可能性がありますか...?プログラムの作者であるあなたのふりをすることができます。英語でごめんなさい。

0
Fu-Hsi