<machineKey> 要素
フォーム認証 Cookie データおよびビューステート データの暗号化と復号化、およびアウトプロセス セッション ステート ID の検証に使用するキーを構成します。このセクションは、コンピュータ、サイト、アプリケーションの各レベルで宣言できますが、サブディレクトリ レベルでは宣言できません。
<configuration>
<system.web>
<machineKey>
<machineKeyvalidationKey="AutoGenerate|value[,IsolateApps]" decryptionKey="AutoGenerate|value[,IsolateApps]" validation="SHA1|MD5|3DES"/>
必須属性
属性 | オプション | 説明 |
---|---|---|
validationKey | 暗号化されたデータの検証に使用されるキーを指定します。enableViewStateMAC が true の場合は、ビューステートが改ざんされないようにするため MAC (Message Authentication Code) を作成するときに、validationKey が使用されます。また、セッション状態の変数をセッション間で切り離すためアウトプロセスでアプリケーション固有のセッション ID を生成するときも、validationKey が使用されます。 | |
AutoGenerate | ASP.NET で生成した乱数キーを LSA (Local Security Authority) に格納することを指定します。AutoGenerate オプションは、既定値です。validationKey の値に IsolateApps 修飾子を追加すると、ASP.NET は各アプリケーションのアプリケーション ID を使用して、一意の暗号化されたキーをアプリケーションごとに生成します。 | |
value | 手動で割り当てられた検証キーを指定します。この値は、複数の Web サーバーから成るネットワーク (Web ファーム) 上での設定に一貫性を持たせるために、手動で設定する必要があります。キーの長さは、40 文字 (20 バイト) 以上 128 文字 (64 バイト) 以下である必要があります。最大長よりも短いキーを使用する場合は、RNGCryptoServiceProvider などを使用して、真の乱数を生成する方法でキーを作成する必要があります。推奨されるキーの長さは、16 進形式で 128 文字です。validationKey の値に IsolateApps 修飾子を追加すると、ASP.NET は各アプリケーションのアプリケーション ID を使用して、一意の暗号化されたキーをアプリケーションごとに生成します。 | |
decryptionKey | データの暗号化に使用されるキーを指定します。validation が 3DES の場合は、フォーム認証の暗号化および復号化と、ビューステートの暗号化に decryptionKey が使用されます。 | |
AutoGenerate | ASP.NET で生成した乱数キーを LSA (Local Security Authority) に格納するように指定します。AutoGenerate オプションは、既定値です。decryptionKey の値に IsolateApps 修飾子を追加すると、ASP.NET により、各アプリケーションのアプリケーション ID を使用して、一意の暗号化されたキーがアプリケーションごとに生成されます。 | |
value | 手動で割り当てられたキーを指定します。この値は、Web ファーム上での設定に一貫性を持たせるために、16 進の文字の文字列に手動で設定する必要があります。DES 暗号を使用する場合はキーの長さを 16 文字にする必要があり、Triple DES 暗号を使用する場合はキーの長さを 48 文字にする必要があります。最大長よりも短いキーを使用する場合は、RNGCryptoServiceProvider などの完全にランダムな方法で作成されたキーを使用する必要があります。ASP.NET では、128 ビットの暗号化が利用可能なコンピュータでだけ Triple DES を使用できます。decryptionKey の値に IsolateApps 修飾子を追加すると、ASP.NET により、各アプリケーションのアプリケーション ID を使用して、一意の暗号化されたキーがアプリケーションごとに生成されます。 | |
validation | データ検証に使用する暗号化の種類を指定します。 | |
SHA1 | ASP.NET で SHA1 暗号方式を使用することを指定します。 | |
MD5 | ASP.NET で MD5 暗号方式を使用することを指定します。 | |
3DES | ASP.NET で Triple-DES (3DES) 暗号方式を使用することを指定します。3DES を指定すると、フォーム認証は既定値である SHA1 に設定されます。validation 属性が 3DES に設定された場合は、ビューステート検証手法で 3DES 暗号方式が使用されます。 |
例
validationKey と decryptionKey を両方とも AutoGenerate に設定する例を次に示します。サーバー上の各アプリケーションに一意のキーを生成するために、isolateApps オプションが指定されています。
<machineKey validationKey="AutoGenerate,IsolateApps"
decryptionKey="AutoGenerate,IsolateApps"
validation="SHA1"/>
必要条件
格納されている場所 : <system.web>
Web プラットフォーム**** : IIS 5.0、IIS 5.1、IIS 6.0
構成ファイル : Machine.config、Web.config
構成セクション ハンドラ : System.Web.Configuration.MachineKeyConfigHandler