6

私の質問は本質的にこれと同じですが、Windows ストア アプリ、c#、および Visual Studio の場合です。ソース管理で無視できる (チェックインされていない) ファイルに、プロジェクト内の秘密の値を保持する簡単な方法が必要です。ビルド/ソース管理を容易にする方法でアプリ シークレットを保存するには、プロジェクトをどのように構成すればよいですか?

私の最初のアイデアは、それを XML ファイル (チェックインされていない) に保存し、実行時にロードすることでしたが、これにより、インストールしたユーザーが利用できるようになるため、ビルド時に実行する必要があります。いくつかの秘密の値を保存し、プロジェクトのビルド時に Visual Studio でそれらをコードに置き換えるにはどうすればよいですか?

4

4 に答える 4

0

更新
シークレットを信頼されていない領域 (パブリック ソース コントロールなど) に置くと、脆弱になります。暗号化されていても、十分な注意を払って取得できます。

本当に手の届かないところに置く唯一の方法は、サードパーティの API とやり取りする外部サービスを用意することです。それには独自のトレードオフがあります(コメントで述べたように、ユーザー認証など)。特に、開発者がテスト時にサード パーティの API を利用する必要がある場合、シークレットの公開を制限する他の方法はないと思います。

于 2013-04-16T21:51:30.150 に答える
0

1 つのオプションは、シークレットをソース管理に保存することですが、暗号化された形式で保存します。開発環境またはビルド環境では、環境変数を使用してキーを保存し、オンザフライで復号化します。そうすれば、情報を安全に保ちながら、ソース管理の利点を得ることができます。

app.config または web.config を使用している場合でも、これを行うことができます。起動時にコードから構成を変更するだけで済みます。

エリック

于 2013-04-16T19:38:16.507 に答える