認証構造体
認証構造は、使用状況に応じて次のように分類されます。
- SSPI 構造体
- Schannel 構造体
- カスタム セキュリティ パッケージ構造
- ネットワーク プロバイダーの構造
- GINA 構造体
- ローカル セキュリティ機関の構造
- 資格情報管理の構造
- スマート カードの構造
SSPI 構造体
Sspi.h で定義されている次の構造体は、SSPI 関数で使用されます。
構造体 | 説明 |
---|---|
CREDSSP_CRED | Schannel と Negotiate の両方のセキュリティ パッケージの認証データを指定します |
SEC_WINNT_AUTH_IDENTITY | 認証のために特定のユーザー名とパスワードをランタイム ライブラリに渡すために使用されます。 |
SEC_WINNT_AUTH_IDENTITY_EX | ユーザーに関する情報が含まれます。 この構造体の ANSI 形式と Unicode 形式の両方が提供されます。 |
SecBuffer | セキュリティ パッケージに渡すためにトランスポート アプリケーションによって割り当てられたバッファー。 |
SecBufferDesc | トランスポート アプリケーションからセキュリティ パッケージに渡す SecBuffer 構造体の配列。 |
SecPkgContext_AccessToken | セキュリティ コンテキストのアクセス トークンへのハンドルが含まれます。 |
SecPkgContext_ClientCreds | QueryContextAttributes (CredSSP) 関数を呼び出すときのクライアント資格情報を指定します。 |
SecPkgContext_ConnectionInfo | プロトコルと暗号情報が含まれています。 この構造体は、 QueryContextAttributes (General) 関数によって使用されます。 |
SecPkgContext_CredentialName | 資格情報名を指定します。 |
SecPkgContext_DceInfo | DCE サービスで使用される承認データが含まれます。 |
SecPkgContext_EapKeyBlock | EAP TLS 認証プロトコルで使用されるキー データが含まれます。 |
SecPkgContext_Flags | セキュリティ コンテキストのフラグに関する情報が含まれます。 |
SecPkgContext_IssuerListInfoEx | 信頼された 証明機関 (CA) の一覧が含まれます。 |
SecPkgContext_Lifespan | セキュリティ コンテキストの有効期間を示します。 |
SecPkgContext_Names | セキュリティ コンテキストに関連付けられているユーザーの名前を格納します。 |
SecPkgContext_NativeNames | 送信チケットのクライアントとサーバー プリンシパルの名前が含まれます。 |
SecPkgContext_NegotiationInfo | セットアップ中または設定されている セキュリティ パッケージ に関する情報が含まれます。 また、セキュリティ パッケージを設定するためのネゴシエーションの状態も示されます。 |
SecPkgContext_PackageInfo | セキュリティ サポート プロバイダー (SSP) の名前を格納します。 |
SecPkgContext_PasswordExpiry | パスワードまたはその他の資格情報の有効期限に関する情報が含まれます。 |
SecPkgContext_SessionKey | セッション キーに関する情報が含まれます。 |
SecPkgContext_Sizes | メッセージ サポート関数で使用される重要な構造体のサイズが含まれます。 |
SecPkgContext_StreamSizes | メッセージ サポート関数で使用するさまざまなストリーム属性のサイズが含まれます。 |
SecPkgContext_TargetInformation | セキュリティ コンテキストに使用される資格情報に関する情報が含まれます。 |
SecPkgCredentials_Names | コンテキストに関連付けられているユーザーの名前を保持 します。 |
SecPkgInfo | セキュリティ パッケージの名前や機能など、 セキュリティ パッケージに関する一般的な情報を提供します。 |
SECURITY_INTEGER | 数値を保持する構造体。 これは、他の型を定義する場合に使用されます。 |
SecurityFunctionTable | SSPI で定義されている関数へのポインターを含むディスパッチ テーブル。 |
Schannel 構造体
次の構造体は、Schannel で使用するために定義されています。
構造体 | 説明 |
---|---|
SCH_CRED_PUBLIC_CERTCHAIN | 1 つの証明書が含まれています。 証明書チェーンは、この証明書から構築できます。 |
SCH_CRED_SECRET_PRIVKEY | クライアントまたはサーバーを認証するために必要な 秘密キー 情報が含まれています。 |
SCHANNEL_CERT_HASH | Schannel で使用される証明書のハッシュ ストア データが含まれます。 |
SCHANNEL_CERT_HASH_STORE | Schannel がカーネル モードで使用する証明書のハッシュ ストア データを格納します。 |
SCHANNEL_ALERT_TOKEN | InitializeSecurityContext (Schannel) 関数または AcceptSecurityContext (Schannel) 関数の呼び出しのターゲットに送信される Secure Sockets Layer Protocol (SSL) またはトランスポート層セキュリティ プロトコル (TSL) アラートを生成します。 |
SCHANNEL_CLIENT_SIGNATURE | InitializeSecurityContext (Schannel) 関数の呼び出しがクライアント証明書の秘密キーにアクセスできない場合にクライアント署名を指定します (この場合、関数は SEC_I_SIGNATURE_NEEDEDを返します)。 |
SCHANNEL_CRED | Schannel 資格情報のデータを格納します。 |
SCHANNEL_SESSION_TOKEN | InitializeSecurityContext (Schannel) 関数または AcceptSecurityContext (Schannel) 関数を呼び出して作成された認証セッションに対して再接続を有効にするかどうかを指定します。 |
SecPkgContext_Authority | 認証機関が使用可能な場合は、その認証機関の名前を格納します。 証明機関 (CA ) または接続を認証したサーバーまたはドメインの名前を指定できます。 |
SecPkgContext_ConnectionInfo | プロトコルと暗号情報が含まれています。 この構造体は、 QueryContextAttributes (General) 関数によって使用されます。 |
SecPkgContext_IssuerListInfoEx | 信頼された証明機関の一覧 が含まれます。 |
SecPkgContext_KeyInfo | セキュリティ コンテキストで使用されるセッション キーに関する情報が含まれます。 この構造体は、 SecPkgContext_ConnectionInfo 構造体に置き換わりました。 |
SecPkgContext_ProtoInfo | 使用中のプロトコルに関する情報を保持します。 |
SecPkgContext_SessionAppData | セッション コンテキストのアプリケーション データを格納します。 |
SecPkgCred_CipherStrengths | 指定した Schannel 資格情報で使用される暗号に許可される最小および最大強度を保持します。 |
SecPkgCred_SupportedAlgs | 指定した Schannel 資格情報で許可されるアルゴリズムの識別子が含まれます。 |
SecPkgCred_SupportedProtocols | 指定した Schannel 資格情報で許可されるプロトコルを示します。 |
X509Certificate | X.509 証明書を表します。 |
カスタム セキュリティ パッケージ構造
カスタム セキュリティ パッケージ では、次の構造が使用されます。
構造体 | 説明 |
---|---|
LSA_SECPKG_FUNCTION_TABLE | カスタム セキュリティ パッケージが呼び出すことができる ローカル セキュリティ機関 (LSA) 関数へのポインターのテーブル。 |
SECPKG_CALL_INFO | 実行中の関数呼び出しに関する情報が含まれます。 |
SECPKG_CLIENT_INFO | セキュリティ パッケージのユーザーに関する情報が含まれます。 |
SECPK_CONTEXT_THUNKS | LSA を使用してインプロセスで実行されるセキュリティ パッケージの呼び出しに関する情報が含まれます。 |
SECPKG_DLL_FUNCTIONS | クライアント/サーバー アプリケーションを使用してインプロセスで実行するカスタム セキュリティ パッケージで使用できる関数が含まれています。 |
SECPKG_EVENT_DOMAIN_CHANGE | セッションとコンピューターの情報が含まれます。 この構造体名は、 SECPKG_PARAMETERS 構造体のエイリアスです。 |
SECPKG_EVENT_NOTIFY | セキュリティ関連のイベントに関する情報が含まれます。 |
SECPKG_EVENT_PACKAGE_CHANGE | セキュリティ パッケージの可用性と使用に関する情報が含まれています。 |
SECPKG_EXTENDED_INFORMATION | セキュリティ パッケージに関する拡張情報が含まれます。 |
SECPKG_FUNCTION_TABLE | セキュリティ パッケージによって実装される関数へのポインターが含まれます。 |
SECPKG_GSS_INFO | セキュリティ パッケージを識別するために使用される GSS OID に関する情報が含まれます。 |
SECPKG_MUTUAL_AUTH_LEVEL | セキュリティ パッケージによって使用される相互認証レベルに関する情報が含まれます。 |
SECPKG_PARAMETERS | セッションとマシンの情報が含まれます。 |
SECPKG_PRIMARY_CRED | プライマリ資格情報の情報が含まれます。 |
SECPKG_SUPPLEMENTAL_CRED | 補足の資格情報が含まれています。 |
SECPKG_SUPPLEMENTAL_CRED_ARRAY | 補足の資格情報が含まれています。 |
SECPKG_USER_FUNCTION_TABLE | クライアント/サーバー アプリケーションと共にインプロセスで読み込まれたセキュリティ パッケージによって実装される関数が含まれます。 |
SecurityUserData | ログオンしているユーザーに関する情報が含まれます。 |
ネットワーク プロバイダーの構造
ネットワーク プロバイダー API と関連する関数では、次の構造が使用されます。
構造体 | 説明 |
---|---|
NETCONNECTINFOSTRUCT | ネットワーク接続のパフォーマンスに関する情報が含まれます。 |
NETRESOURCE | 列挙されたネットワーク リソースに関する情報が含まれます。 |
NOTIFYADD | ネットワーク接続操作の詳細を格納します。 |
NOTIFYCANCEL | ネットワーク切断操作の詳細を格納します。 |
NOTIFYINFO | ネットワーク接続または切断操作に関する状態情報が含まれます。 |
REMOTE_NAME_INFO | リモート ユニバーサル名に関する情報が含まれます。 |
UNIVERSAL_NAME_INFO | ローカルユニバーサル名を含みます。 |
GINA 構造体
GINA インターフェイス関数と Winlogon サポート関数は、次の構造体を使用します。
構造体 | 説明 |
---|---|
WLX_CLIENT_CREDENTIALS_INFO_V1_0 | クライアント資格情報が含まれます。 |
WLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0 | 資格情報をターゲット セッションに透過的に転送できるようにするクライアント資格情報が含まれます。 |
WLX_DESKTOP | デスクトップ情報が含まれます。 |
WLX_DISPATCH_VERSION_1_0 | Winlogon バージョン 1.0 ディスパッチ テーブルが含まれています。 |
WLX_DISPATCH_VERSION_1_1 | Winlogon バージョン 1.1 ディスパッチ テーブルが含まれています。 |
WLX_DISPATCH_VERSION_1_2 | Winlogon バージョン 1.2 ディスパッチ テーブルが含まれています。 |
WLX_DISPATCH_VERSION_1_3 | Winlogon バージョン 1.3 ディスパッチ テーブルが含まれています。 |
WLX_DISPATCH_VERSION_1_4 | Winlogon バージョン 1.4 ディスパッチ テーブルが含まれています。 |
WLX_MPR_NOTIFY_INFO | 認証と識別情報が含まれます。 |
WLX_PROFILE_V1_0 | 初期環境の設定に使用される情報が含まれます。 |
WLX_PROFILE_V2_0 | 初期環境の設定に使用される情報が含まれます。 |
WLX_TERMINAL_SERVICES_DATA | ターミナル サービスプロファイルパスとホームディレクトリ情報が含まれます。 |
ローカル セキュリティ機関の構造
ローカル セキュリティ機関 (LSA) では、次の構造が使用されます。
構造体 | 説明 |
---|---|
DOMAIN_PASSWORD_INFORMATION | パスワードの最小長や一意のパスワードの必要な方法など、ドメインのパスワード ポリシーに関する情報が含まれます。 |
KERB_ADD_CREDENTIALS_REQUEST | ログオン セッションの追加のサーバー資格情報を追加、削除、または置き換えるメッセージを指定します。 |
KERB_ADD_CREDENTIALS_REQUEST_EX | ログオン セッションの追加のサーバー資格情報と、その資格情報に関連付けられている サービス プリンシパル名 (SPN) を追加、削除、または置き換えるメッセージを指定します。 |
KERB_CERTIFICATE_LOGON | スマート カード ログオン セッションに関する情報が含まれます。 |
KERB_CERTIFICATE_UNLOCK_LOGON | 対話型スマート カード ログオン セッション中にロックされているワークステーションのロック解除に使用される情報が含まれます。 |
KERB_CHANGEPASSWORD_REQUEST | パスワードの変更に使用される情報が含まれます。 |
KERB_CRYPTO_KEY | Kerberos 暗号化セッション キーに関する情報が含まれます。 |
KERB_EXTERNAL_NAME | 外部名に関する情報が含まれます。 |
KERB_EXTERNAL_TICKET | 外部チケットに関する情報が含まれます。 |
KERB_INTERACTIVE_LOGON | 対話型 ログオン セッションに関する情報が含まれます。 |
KERB_INTERACTIVE_PROFILE | 対話型ログオン プロファイルに関する情報が含まれます。 |
KERB_INTERACTIVE_UNLOCK_LOGON | 対話型 ログオン セッション中にロックされているワークステーションのロック解除に使用される情報が含まれます。 |
KERB_PURGE_TKT_CACHE_REQUEST | チケット キャッシュからエントリを削除するために使用される情報が含まれます。 |
KERB_QUERY_TKT_CACHE_REQUEST | 指定したユーザー ログオン セッションのキャッシュされたすべてのチケットに関する情報を取得するために使用されます。 |
KERB_QUERY_TKT_CACHE_RESPONSE | チケット キャッシュに対してクエリを実行した結果を格納します。 |
KERB_RETRIEVE_TKT_REQUEST | チケットの取得に使用される情報が含まれます。 |
KERB_RETRIEVE_TKT_RESPONSE | チケットの取得からの応答を格納します。 |
KERB_S4U_LOGON | ユーザー (S4U) ログオン セッションのサービスに関する情報が含まれます。 |
KERB_SMARTCARD_CSP_INFO | スマート カード暗号化サービス プロバイダー (CSP) に関する情報が含まれます。 |
KERB_SMART_CARD_LOGON | スマート カード ログオン セッションに関する情報が含まれます。 |
KERB_SMART_CARD_UNLOCK_LOGON | スマート カード ログオン セッション中にロックされているワークステーションのロックを解除するために使用される情報が含まれます。 |
KERB_TICKET_CACHE_INFO | キャッシュされた Kerberos チケットに関する情報が含まれます。 |
KERB_TICKET_LOGON | ネットワーク ログオンのプロファイル情報が含まれます。 |
KERB_TICKET_PROFILE | 対話型ログオン プロファイルに関する情報が含まれます。 |
KERB_TICKET_UNLOCK_LOGON | ワークステーションのロックを解除するための情報が含まれます。 |
LSA_DISPATCH_TABLE | Windows 認証パッケージ が呼び出すことができる LSA 関数へのポインターのテーブル。 |
LSA_STRING | ANSI 文字列とその長さの情報を格納します。 |
LSA_FOREST_TRUST_BINARY_DATA | LSA フォレスト信頼操作で使用されるバイナリ データが含まれます。 |
LSA_FOREST_TRUST_COLLISION_INFORMATION | LSA フォレストの信頼の競合に関する情報が含まれています。 |
LSA_FOREST_TRUST_RECORD | LSA フォレストの信頼の競合に関する情報が含まれます。 |
LSA_FOREST_TRUST_DOMAIN_INFO | ドメインの識別情報が含まれます。 |
LSA_FOREST_TRUST_INFORMATION | LSA フォレストの信頼情報が含まれています。 |
LSA_FOREST_TRUST_RECORD | LSA フォレスト信頼レコードが含まれています。 |
LSA_TOKEN_INFORMATION_NULL | 認証されていないシステム アクセスが必要な場合に使用されます。 この構造体には内容がありません。 |
LSA_TOKEN_INFORMATION_V1 | 認証パッケージがバージョン 1 の Windows トークン オブジェクトに配置できる情報を格納します。 |
MSV1_0_CHANGEPASSWORD_REQUEST | 互換性のために残されています。 |
MSV1_0_CHANGEPASSWORD_RESPONSE | 互換性のために残されています。 |
MSV1_0_ENUMUSERS_REQUEST | 互換性のために残されています。 |
MSV1_0_ENUMUSERS_RESPONSE | 互換性のために残されています。 |
MSV1_0_GETUSERINFO_REQUEST | 互換性のために残されています。 |
MSV1_0_GETUSERINFO_RESPONSE | 互換性のために残されています。 |
MSV1_0_INTERACTIVE_LOGON | 対話型ログオンのユーザー ログオン情報が含まれます。 |
MSV1_0_INTERACTIVE_PROFILE | 対話型ログオン プロファイルに関する情報が含まれます。 |
MSV1_0_LM20_LOGON | ネットワーク ログオンで使用されるログオン情報が含まれます。 |
MSV1_0_LM20_LOGON_PROFILE | ネットワーク ログオン セッションに関する情報が含まれます。 |
MSV1_0_SUBAUTH_LOGON | サブ認証 DLL によって使用されます。 |
MSV1_0_SUBAUTH_REQUEST | サブ認証パッケージに渡す情報が含まれます。 |
MSV1_0_SUBAUTH_RESPONSE | サブ認証パッケージからの応答を格納します。 |
MSV1_0_SUPPLEMENTAL_CREDENTIAL | Kerberos またはカスタム認証パッケージからMSV1_0に 資格情報 を渡すために使用されます。 |
NETLOGON_LOGON_IDENTITY_INFO | ログオンサブ認証のためにユーザーに関する情報を渡すために、Msv1_0SubAuthenticationRoutineとMsv1_0SubAuthenticationFilterによって使用されます。 |
OLD_LARGE_INTEGER | 64 ビット符号付き整数値を 2 つの 32 ビット整数として表すために使用されます。 |
QUOTA_LIMITS | ユーザーが使用できるシステム リソースの量について説明します。 |
SR_SECURITY_DESCRIPTOR | ユーザーのセキュリティ特権に関 する 情報が含まれます。 |
USER_ALL_INFORMATION | セッション ユーザーに関する情報が含まれます。 サブ認証パッケージで使用されます。 |
資格情報管理の構造
Credentials Management API には、次の構造が含まれています。
構造体 | 説明 |
---|---|
CERT_CREDENTIAL_INFO | 証明書への参照を含みます。 |
資格 情報 | 個々の資格情報が含まれています。 |
CREDENTIAL_ATTRIBUTE | 資格情報のアプリケーション定義属性が含まれます。 |
CREDENTIAL_TARGET_INFORMATION | ターゲット コンピューターの名前、ドメイン、ツリーが含まれます。 |
CREDUI_INFO | [資格情報の管理] ダイアログ ボックスの外観を制御します。 |
USERNAME_TARGET_CREDENTIAL_INFO | 資格情報への参照を含みます。 この構造体は、 CredMarshalCredential 関数にユーザー名を渡し、 CredUnmarshalCredential からユーザー名を渡すために使用されます。 |
スマート カードの構造
スマート カードには、次の構造が用意されています。
構造体 | 説明 |
---|---|
OPENCARD_SEARCH_CRITERIA | SCardUIDlgSelectCard 関数で使用される特定の検索情報を提供します。 |
OPENCARDNAME | GetOpenCardName 関数で使用される情報を提供します。 |
OPENCARDNAME_EX | SCardUIDlgSelectCard 関数で使用される情報を提供します。 |
SCARD_ATRMASK | SCardLocateCardsByATR を使用してカードを検索します。 |
SCARD_IO_REQUEST | プロトコル制御情報構造を開始します。 |
SCARD_READERSTATE | リーダー内のスマート カードを追跡します。 |