QueryContextAttributes (Negotiate) 関数
QueryContextAttributes (Negotiate) 関数を使用すると、トランスポート アプリケーションは、セキュリティ コンテキストの特定の属性についてネゴシエート セキュリティ パッケージに対してクエリを実行できます。
構文
SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_Out_ PVOID pBuffer
);
パラメーター
-
phContext [in]
-
クエリを実行する セキュリティ コンテキスト へのハンドル。
-
ulAttribute [in]
-
返されるコンテキストの属性を指定します。 このパラメーターには、次の値のいずれかを指定できます。
値 説明 - SECPKG_ATTR_ACCESS_TOKEN
- 18
pBuffer パラメーターには、SecPkgContext_AccessToken構造体へのポインターが含まれています。
アクセス トークンへのハンドルを返します。- SECPKG_ATTR_AUTHORITY
- 6
pBuffer パラメーターには、SecPkgContext_Authority構造体へのポインターが含まれています。
認証機関の名前を照会します。- SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
- 27
pBuffer パラメーターには、クライアントによって提供される初期ターゲットのサービス プリンシパル名 (SPN) を表すSecPkgContext_ClientSpecifiedTarget構造体へのポインターが含まれています。
この値は、チャネル バインドを使用する場合にのみサポートされます。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。- SECPKG_ATTR_CREDS_2
- 0x80000086
pBuffer パラメーターには、クライアント資格情報を指定するSecPkgContext_ClientCreds構造体へのポインターが含まれています。
クライアント資格情報がユーザー名とパスワードの場合、バッファーはパック されたKERB_INTERACTIVE_LOGON 構造になります。
クライアント資格情報がユーザー名とスマート カード PIN の場合、バッファーはパックされたKERB_CERTIFICATE_LOGON構造です。
クライアント資格情報がオンライン ID 資格情報の場合、バッファーはマーシャリング されたSEC_WINNT_AUTH_IDENTITY_EX2 構造です。
この属性は、CredSSP サーバーでのみサポートされます。
Windows Server 2008 R2、Windows 7、Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。- SECPKG_ATTR_DCE_INFO
- 3
pBuffer パラメーターには、SecPkgContext_DceInfo構造体へのポインターが含まれています。
DCE サービスで使用される承認データのクエリ。- SECPKG_ATTR_FLAGS
- 14
pBuffer パラメーターには、SecPkgContext_Flags構造体へのポインターが含まれています。
ネゴシエートされたコンテキスト フラグに関する情報を返します。- SECPKG_ATTR_KEY_INFO
- 5
pBuffer パラメーターには、SecPkgContext_KeyInfo構造体へのポインターが含まれています。
セキュリティ コンテキストで使用されるキーに関する情報を 照会します。- SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
- 30
pBuffer パラメーターには、InitializeSecurityContext 関数の最新の呼び出しからのトークンがクライアントからの最後のトークンであるかどうかを指定するSecPkgContext_LastClientTokenStatus構造体へのポインターが含まれています。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。- SECPKG_ATTR_LIFESPAN
- 2
pBuffer パラメーターには、SecPkgContext_Lifespan構造体へのポインターが含まれています。
コンテキストの有効期間を照会します。- SECPKG_ATTR_LOCAL_CRED
pBuffer パラメーターには、SecPkgContext_LocalCredentialInfo構造体へのポインターが含まれています。 (互換性のために残されています)
SECPKG_ATTR_LOCAL_CERT_CONTEXTに置き換えられます。- SECPKG_ATTR_NAMES
- 1
pBuffer パラメーターには、SecPkgContext_Names構造体へのポインターが含まれています。
コンテキストに関連付けられている名前を照会します。- SECPKG_ATTR_NATIVE_NAMES
- 13
pBuffer パラメーターには、SecPkgContext_NativeNames構造体へのポインターが含まれています。
送信チケットからプリンシパル名 (CNAME) を返します。- SECPKG_ATTR_NEGOTIATION_INFO
- 12
pBuffer パラメーターには、SecPkgContext_NegotiationInfo構造体へのポインターが含まれています。
ネゴシエーション プロセスで使用される セキュリティ パッケージ に関する情報と、そのパッケージを使用するためのネゴシエーションの現在の状態を返します。- SECPKG_ATTR_PACKAGE_INFO
- 10
pBuffer パラメーターには、SecPkgContext_PackageInfo構造体へのポインターが含まれています。
使用中の SSP に関する情報を返します。- SECPKG_ATTR_PASSWORD_EXPIRY
- 8
pBuffer パラメーターには、SecPkgContext_PasswordExpiry構造体へのポインターが含まれています。
パスワードの有効期限情報を返します。- SECPKG_ATTR_ROOT_STORE
- 0x55
pBuffer パラメーターには、HCERTCONTEXT へのポインターが含まれています。
ルート ストアによって提供される証明書を含む証明書コンテキストを検索します。- SECPKG_ATTR_SESSION_KEY
- 9
pBuffer パラメーターには、SecPkgContext_SessionKey構造体へのポインターが含まれています。
セッション キーに関する情報を返します。- SECPKG_ATTR_SIZES
- 0
pBuffer パラメーターには、SecPkgContext_Sizes構造体へのポインターが含まれています。
メッセージごとの関数で使用される構造体のサイズを照会します。- SECPKG_ATTR_TARGET_INFORMATION
- 17
pBuffer パラメーターには、SecPkgContext_TargetInformation構造体へのポインターが含まれています。
リモート サーバーの名前に関する情報を返します。 -
pBuffer [out]
-
属性を受け取る構造体へのポインター。 指し示される構造体の型は、 ulAttribute パラメーターで指定された値によって異なります。
戻り値
関数が成功した場合、戻り値はSEC_E_OK。
関数が失敗した場合、戻り値は 0 以外のエラー コードになります。
解説
pBuffer パラメーターによって指される構造体は、クエリ対象の属性によって異なります。 呼び出し元は pBuffer 構造体自体を割り当てる必要がありますが、SSP は pBuffer 構造体の可変サイズのメンバーを保持するために必要なメモリを割り当てます。 SSP によって割り当てられたメモリは、 FreeContextBuffer 関数を呼び出すことによって解放できます。
SECPKG_ATTR_REMOTE_CERT_CONTEXT値またはSECPKG_ATTR_LOCAL_CERT_CONTEXT値が読み取られた後、 hCertStore メンバーは中間証明書を含む証明書ストアへのハンドル (存在する場合) に設定されます。 また、アプリケーションは CertFreeCertificateContext を呼び出して、証明書コンテキストで使用されるメモリを解放します。
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2003 [デスクトップ アプリのみ] |
ヘッダー |
|
ライブラリ |
|
[DLL] |
|
Unicode 名と ANSI 名 |
QueryContextAttributesW (Unicode) と QueryContextAttributesA (ANSI) |
関連項目