MachineKeySection クラス

フォーム認証、ビューステート検証、セッション状態のアプリケーション分離において、暗号化、暗号化解除、メディア アクセス制御 (MAC) の各操作を実行する際に使用されるキー生成とアルゴリズムを制御する構成設定を定義します。

構文

class MachineKeySection : ConfigurationSection  

メソッド

次の表に、MachineKeySection クラスによって公開されるメソッドの一覧を示します。

名前 説明
GetAllowDefinition (ConfigurationSection から継承。)
GetAllowLocation (ConfigurationSection から継承。)
RevertToParent (ConfigurationSection から継承。)
SetAllowDefinition (ConfigurationSection から継承。)
SetAllowLocation (ConfigurationSection から継承。)

プロパティ

次の表は、MachineKeySection クラスによって公開されるプロパティの一覧です。

名前 説明
Decryption データの暗号化解除に使用されるハッシュ アルゴリズムの種類を指定する、読み取り/書き込みのトリミングされた string 値。 使用できる値の一覧は、後述の「注釈」セクションに示します。 既定は "Auto" です。
DecryptionKey キーを生成するプロセスを指定する、またはデータの暗号化と暗号化解除に使用されるテキストを含む、読み取り/書き込みのトリミングされた string 値。 既定値は "AutoGenerate,IsolateApps" です。 注: "AutoGenerate" 文字列を使うと、ASP.NET がランダム キーを生成し、ローカル セキュリティ機関に格納することが指定されます。 "AutoGenerate" 文字列は既定値の一部です。 DecryptionKey の値に "IsolateApps" 修飾子を追加すると、ASP.NET はアプリケーションごとに、そのアプリケーション ID を使って一意の暗号化されたキーを生成します。 "IsolateApps" も既定値の一部です。 複数の Web サーバーのネットワーク (Web ファーム) 全体で構成をサポートする必要がある場合は、DecryptionKey プロパティを手動で設定して、一貫性のある構成を維持します。
Location (ConfigurationSection から継承。)キー プロパティ。
Path (ConfigurationSection から継承。)キー プロパティ。
SectionInformation (ConfigurationSection から継承。)
Validation データの検証に使う暗号化の種類を指定する、読み取り/書き込みの sint32 値。 使用できる値の一覧は、後述の「注釈」セクションに示します。
ValidationKey キーを生成するプロセスを指定する、または暗号化されたデータの検証に使用されるテキストを含む、読み取り/書き込みのトリミングされた string 値。 既定値は "AutoGenerate,IsolateApps" です。 注: PagesSection クラスの EnableViewStateMAC プロパティが true の場合、ASP.NET は ValidationKey プロパティを使ってメッセージ認証コードを作成し、ビューステートが改ざんされていないことを確認します。 検証キーは、アウトプロセスのアプリケーション固有のセッション ID を生成し、セッション状態変数がアプリケーション間で分離されていることを確認するためにも使用されます。 "AutoGenerate" 文字列を使うと、ASP.NET がランダム キーを生成し、ローカル セキュリティ機関に格納することが指定されます。 "AutoGenerate" 文字列は既定値の一部です。 ValidationKey の値に "IsolateApps" 修飾子を追加すると、ASP.NET はアプリケーションごとに、そのアプリケーション ID を使って一意の暗号化されたキーを生成します。 "IsolateApps" も既定値の一部です。 複数の Web サーバーのネットワーク (Web ファーム) 全体で構成をサポートする必要がある場合は、ValidationKey プロパティを手動で設定して、一貫性のある構成を維持します。

サブクラス

このクラスにはサブクラスが含まれていません。

解説

Note

複数の Web サーバーのネットワーク (Web ファーム) 全体で MachineKeySection クラスを機能させるには、MachineKeySection のプロパティを有効なキーの値で明示的かつ同じように構成する必要があります。 "AutoGenerate" 値は、ローカル コンピューターによってのみ保持される暗号学的にランダムなキーに依存するため、Web ファームでは機能しません。 このキーを他のコンピューターで暗号化解除することはできません。

次の表に、Decryption プロパティとして使用できる値の一覧を示します。 既定は "Auto" です。

Value 説明
Auto ASP.NET は、既定の構成設定に基づいて、データの暗号化解除に使うアルゴリズムを決定します。
AES ASP.NET は、AES アルゴリズムを使ってデータの暗号化を解除します。
3DES ASP.NET は、トリプル DES アルゴリズムを使ってデータの暗号化を解除します。

次の表に、Validation プロパティとして使用できる値の一覧を示します。 既定値は 1 (SHA1) です。

Value キーワード 説明
0 MD5 ASP.NET は MD5 (メッセージ ダイジェスト アルゴリズム 5) 暗号化を使用します。
1 SHA1 ASP.NET は SHA1 (セキュア ハッシュ アルゴリズム 1) 暗号化を使用します。
2 3DES ASP.NET はトリプル DES (データ暗号化標準) 暗号化を使用します。
3 AES ASP.NET は AES (Advanced Encryption Standard) 暗号化を使用します。

次の例は、既定の Web サイトの MachineKeySection 設定を表示します。

' Connect to the WMI WebAdministration namespace.  
Set oWebAdmin = _  
    GetObject("winmgmts:root\WebAdministration")  
  
' Get the machine key section.  
Set oSite = oWebAdmin.Get("Site.Name='Default Web Site'")  
oSite.GetSection "MachineKeySection", oMKeySection  
  
' Display the path and location.  
WScript.Echo "Machine Key Section Settings"  
WScript.Echo "----------------------------"  
WScript.Echo "Path: " & oMKeySection.Path  
WScript.Echo "Location: " & oMKeySection.Location  
  
' Display the machine key settings.  
WScript.Echo "Decryption: " & oMKeySection.Decryption  
  
WScript.Echo "Decryption Key: " & _  
    oMKeySection.DecryptionKey      
  
WScript.Echo "Validation: " & _  
    ValidationText(oMKeySection.Validation)  
  
WScript.Echo "Validation Key: " & oMKeySection.ValidationKey  
  
' Convert the Validation enumeration values to text.  
Function ValidationText(enumValue)  
    Select Case enumValue  
        Case 0  
            ValidationText = "MD5"  
        Case 1  
            ValidationText = "SHA1"  
        Case 2  
            ValidationText = "3DES"  
        Case 3  
            ValidationText = "AES"  
        Case Else  
            ValidationText = "Undefined enumeration value."  
    End Select  
End Function  
  

継承階層

ConfigurationSection

MachineKeySection

要件

説明
クライアント - Windows Vista 上の IIS 7.0
- Windows 7 上の IIS 7.5
- Windows 8 上の IIS 8.0
- Windows 10 上の IIS 10.0
[サーバー] - Windows Server 2008 上の IIS 7.0
- Windows Server 2008 R2 上の IIS 7.5
- Windows Server 2012 上の IIS 8.0
- Windows Server 2012 R2 上の IIS 8.5
- Windows Server 2016 上の IIS 10.0
Product - IIS 7.0、IIS 7.5、IIS 8.0、IIS 8.5、IIS 10.0
MOF ファイル WebAdministration.mof

参照

System.Web.Configuration.MachineKeyValidationConfigurationSection クラス
PagesSection クラス