2017-02-08 4 views
5

私の仕事は単純です - 農場asp.netコアのmachinekeyを置き換える方法は?

内のサーバー間でクッキーを共有するために、私は、マシンキーを使用して、古い方法はasp.netコアで動作しないことを知っているが、DataProtectionのAPIが

があり、私は共有フォルダに鍵を保存できません(これはDataProtectionのデフォルトの組み込み動作です)

設定に鍵交換データを保存する方法はありますか? (古いasp.netのように)

答えて

2

あなたはファイルシステムフォルダにキーを保存できますが、セキュリティ上の懸念がありますが、web.configにキーを保存する場合と同様の懸念があります。

マシンキーのように1つのキーだけでなく、データ保護apiのキーが一定期間後に期限切れになり、自動的に必要なときに新しいキーが作成されるという点が異なります。たとえば、データ保護APIを使用して暗号化してデータベースに保存した場合、期限切れのキーを使用して後で暗号化を解除する必要があります。

この例では、Webアプリケーションメイン内のdp_keysという名前のフォルダにキーを保存していますフォルダ。

string pathToCryptoKeys = Path.Combine(environment.ContentRootPath, "dp_keys"); 
     services.AddDataProtection() 
      .PersistKeysToFileSystem(new System.IO.DirectoryInfo(pathToCryptoKeys)); 

キーをファイルシステムに格納することは推奨されないアプローチです。 docsには、システムレジストリにアプリケーションプールごとのキーを格納できるpowershellスクリプトがあります。 Azureには、データ保護キーを格納するためのAzure鍵格納庫があります。

関連する問題