web-dev-qa-db-ja.com

ASP.NET machineKey構成セクションのデフォルトの場所

ASP.NETのmachineKey configセクションはどこにありますか?

アプリケーションWeb.configにはありません。ルートWeb.configにはありません。また、machine.configにもありません。

これは、ASP.NETにハードコードされた他のデフォルトがあることを意味しますか?その場合、デフォルトは何ですか?(.NET 2および4の場合)

これを読んだこと: http://msdn.Microsoft.com/en-us/library/w8h3skw9.aspx

私はどこかでこのようなものを見つけることを期待していました:

<machineKey 
    validationKey="AutoGenerate,IsolateApps" 
    decryptionKey="AutoGenerate,IsolateApps" 
/>

編集:1.1のドキュメントはデフォルト値に関してかなり明確に見えます: http://msdn.Microsoft.com/en-us/library/ w8h3skw9(VS.71).aspx ただし、4つのドキュメントはかなりあいまいです http://msdn.Microsoft.com/en-us/library/w8h3skw9.aspx

24
Andrew Bullock

machineKeySystem.webweb.configエントリの下にあります

Web.configスキーマについては MSDNリンク を参照してください。

Web.configに表示されない場合は、そこに追加するだけです。

から [〜#〜] msdn [〜#〜] 再び:-)

改ざん防止のViewStateを提供するために、ハッシュされたメッセージ認証コード(HMAC)がViewStateコンテンツから生成され、そのハッシュが後続のリクエストで比較されます。 の検証属性は、使用するハッシュアルゴリズムを示し、デフォルトはHMACSHA1アルゴリズムを使用するSHA1です。ハッシュの有効な選択肢には、SHA1またはMD5があります。ただし、SHA1の方がハッシュが大きく、MD5よりも暗号学的に強力であると考えられているため、SHA1が望ましいです。のvalidationKey属性は、ViewStateコンテンツと組み合わせて使用​​され、HMACを生成します。アプリケーションがWebファームにインストールされている場合、validationKeyをAutoGenerate、IsolateAppsから手動で生成された特定のキー値に変更する必要があります。

<pages>および<machineKey>要素のデフォルト設定は、マシンレベルのweb.config.commentsファイルで定義されています。

MachineKeyの場合、

<machineKey validationKey="AutoGenerate,IsolateApps"  
            decryptionKey="AutoGenerate,IsolateApps" 
            validation="SHA1" decryption="Auto" />

編集:.NET 4.0の場合、デフォルトのアルゴリズムは 変更 からSHA256になっています。デフォルトを見つける最も簡単な方法は、この構成値のMSDNのエントリを確認します。

MachinekeyのMSDN 4.0は次のとおりです。選択した値はデフォルト値です。 []の値は、フィールドが取り得る他のオプションの値です。これは、MSDNで構成値のデフォルトを表す一般的な方法です。

<machineKey 
  validationKey="AutoGenerate,IsolateApps" [String]
  decryptionKey="AutoGenerate,IsolateApps" [String]
  validation="HMACSHA256" [SHA1 | MD5 | 3DES | AES | HMACSHA256 | 
    HMACSHA384 | HMACSHA512 | alg:algorithm_name]
  decryption="Auto" [Auto | DES | 3DES | AES | alg:algorithm_name]
/>
34
Jagmag