2012-07-03 10 views
42

私はMetroスタイルのC#/ XAMLアプリケーションを作成しましたが、今ではバージョン管理(Gitおよび後でGitHub)に追加しようとしています。これは、どのファイルがバージョン管理に属しているかを判断することを意味します。MetroアプリケーションのTemporaryKey.pfxファイルをバージョン管理に追加する必要がありますか?

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

私のコードを公開リポジトリのGitHubにプッシュする予定です。長期的には、私はWindowsストアに自分のアプリを入れる予定です。プロジェクトをビルドするために.pfxファイルが必要な場合は、私はそれをチェックすることをお勧めします。私がアプリケーションの著者として私を識別するデジタルアイデンティティを含んでいれば、インターネット上の誰でも私のアプリケーションの新しいバージョン私の知識がなくても、Windowsのストアに、私は良くないはそれをでチェックしたい。

をだから私の質問は、はTemporaryKey.pfxで秘密の何かがファイルがあるのですか?パブリックリポジトリにチェックインするか、ソース管理から外すべきですか? (ソース管理に入れずに別のコンピュータでコードをチェックアウトしたければ、何が壊れてしまうのでしょうか?)

+1

これは素晴らしい質問です。私は良い答えはありませんが、新しい鍵を生成するのはかなり簡単なので、コードはまだ使用可能です(追加の手順が必要です)。あなたはPackage.appxmanifest/Packagingタブ/ [証明書の選択...]/[証明書の設定...]/[証明書の作成...] - 新しいpfxファイルを作成できます。これは古いものが無効な場合にも便利です。あなたが古いビルドのWin8と開発ツールからプロジェクトをアップグレードするとき。 –

+1

よろしくお願いします。新しいテスト証明書を生成すると何かが壊れるかどうか分かりますか?同様に、新しいバージョンのアプリをアプリストアに送信できなくなりますか?あるいは、最初にテスト証明書を持っているものは受け入れません - あなたはアプリストアに提出する前にどこかで証明書を購入する必要がありますか?これはどこかのドキュメントが必要ですが、私はそれを見つけることができませんでした。 –

+0

いいえ、申し訳ありません。私はこれについてあまりにも多くの詳細を見ていないと私はまだストアのトークンを持っていないか、店に自分でアプリを公開している。 –

答えて

33

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

私が物事を正しく理解していれば、temp .pfxはStoreの送信プロセス中に置き換えられるので、他の人が使っているtemp .pfxについて心配する必要はありません。

+0

はい、保存目的で公開するためのアプリパッケージを作成すると、新しいキーファイル$ appname $ _StoreKey.pfxが生成されます。私は常にバージョン管理のために$ appname $ _TemporaryKey.pfxと$ appname $ _StoreKey.pfxの両方を保持しています。 –

+6

次に、次の質問があります。アプリを公開すると、 '* _StoreKey.pfx'が表示されます。 – kiewic

+0

私はストアキーをチェックインしません。特に、後で他のチームメンバーと共有できるホステッドレポではありません。 PFXが必要な場所で継続的インテグレーションを使用する場合は、VSTSでこれに対して[セキュアファイル]オプションを使用できます。 – Patric

0

.PFXはあなたのキー(あなたの家のドアのキーのような)です。 秘密鍵(セキュリティのためにパスフレーズが必要)を使用してコードを署名するためのものです。 アプリケーションの開発者を除いて誰もそれを持つことはできません。 リポジトリにアクセスできるのは唯一の人だが、誰かがハックして何をすることができるのですか? 誰もがプログラムの作者であるあなたをふることができます。 私の英語は申し訳ありません。

+0

私はそれが何であるのか理解していますが、「一時的な.pfxがStoreの送信プロセス中に置き換えられる」というJeff Brandの声明は間違っていますか?彼が正しい場合、一時的なpfxはローカルマシンのデバッグモードでのみ使用され、配備されたアプリケーションでは使用されません。 –

+0

"temp .pfxはストアの送信プロセス中に置き換えられます"。 私の答えは一般的です。自己によって生成されたPFX certは、Makecertツール(https://msdn.microsoft.com/en-us/library/ff699202.aspx)で使用できます。 Visual Studioで自動生成されますが、問題はありません。 私にとっては、デフォルトでパスフレーズのない秘密鍵が含まれているため、誰にでも公開することはできません。 –

関連する問題