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
継承階層
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 クラス