QueryContextAttributes (Schannel) 関数
QueryContextAttributes (Schannel) 関数を使用すると、トランスポート アプリケーションは、セキュリティ コンテキストの特定の属性について Schannel セキュリティ パッケージに対してクエリを実行できます。
構文
SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_Out_ PVOID pBuffer
);
パラメーター
-
phContext [in]
-
クエリを実行する セキュリティ コンテキスト へのハンドル。
-
ulAttribute [in]
-
返されるコンテキストの属性を指定します。 このパラメーターには、次の値のいずれかを指定できます。
値 説明 - SECPKG_ATTR_ACCESS_TOKEN
- 13
pBuffer パラメーターには、SecPkgContext_AccessToken構造体へのポインターが含まれています。
アクセス トークンへのハンドルを返します。- SECPKG_ATTR_APP_DATA
- 0x5e
pBuffer パラメーターには、SecPkgContext_SessionAppData構造体へのポインターが含まれています。
セッションのアプリケーション データを返すか指定します。
この属性は、Schannel セキュリティ パッケージでのみサポートされます。- SECPKG_ATTR_AUTHORITY
- 6
pBuffer パラメーターには、SecPkgContext_Authority構造体へのポインターが含まれています。
認証機関の名前を照会します。- SECPKG_ATTR_CIPHER_INFO
- 0x64
pBuffer パラメーターには、SecPkgContext_CipherInfo構造体へのポインターが含まれています。
新しい CNG 暗号情報構造 を 返します。- SECPKG_ATTR_CONNECTION_INFO
- 0x5a
pBuffer パラメーターには、SecPkgContext_ConnectionInfo構造体へのポインターが含まれています。
確立された接続に関する詳細情報を返します。- SECPKG_ATTR_KEYING_MATERIAL
- 0x6b
pBuffer パラメーターには、SecPkgContext_KeyingMaterial構造体へのポインターが含まれています。 キーマテリアルエクスポート機能は RFC 5705 標準に従います。
マスター シークレットが生成される前、または SECPKG_ATTR_KEYING_MATERIAL_INFO 属性が設定される前にこの属性に対してクエリを実行すると、エラーが発生します。
この属性は、Windows 10 以降のバージョンの Schannel セキュリティ パッケージでのみサポートWindows Server 2016。- 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_EAP_KEY_BLOCK
- 0x5b
pBuffer パラメーターには、SecPkgContext_EapKeyBlock構造体へのポインターが含まれています。
EAP TLS プロトコルで使用されるキー データのクエリ。
この属性は、Schannel セキュリティ パッケージでのみサポートされます。- SECPKG_ATTR_ENDPOINT_BINDINGS
- 26
pBuffer パラメーターには、TLS のチャネル バインド (RFC 5929) を含むSecPkgContext_Bindings構造体へのポインターが含まれています。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。- SECPKG_ATTR_FLAGS
- 14
pBuffer パラメーターには、SecPkgContext_Flags構造体へのポインターが含まれています。
ネゴシエートされたコンテキスト フラグに関する情報を返します。- SECPKG_ATTR_ISSUER_LIST_EX
- 0x59
pBuffer パラメーターには、SecPkgContext_IssuerListInfoEx構造体へのポインターが含まれています。
サーバーで受け入れられる証明書発行者の一覧を返します。
この属性は、Schannel セキュリティ パッケージでのみサポートされます。- SECPKG_ATTR_KEY_INFO
- 5
pBuffer パラメーターには、SecPkgContext_KeyInfo構造体へのポインターが含まれています。
セキュリティ コンテキストで使用されるキーに関する情報を 照会します。- SECPKG_ATTR_LIFESPAN
- 2
pBuffer パラメーターには、SecPkgContext_Lifespan構造体へのポインターが含まれています。
コンテキストの有効期間を照会します。- SECPKG_ATTR_LOCAL_CERT_CONTEXT
- 0x54
pBuffer パラメーターには、PCCERT_CONTEXT構造体へのポインターが含まれています。
ローカルエンド証明書を含む証明書コンテキストを検索します。
この属性は、Schannel セキュリティ パッケージでのみサポートされます。- 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_REMOTE_CERT_CONTEXT
- 0x53
pBuffer パラメーターには、PCCERT_CONTEXT構造体へのポインターが含まれています。
サーバーによって提供される終了証明書を含む証明書コンテキストを検索します。
この属性は、Schannel セキュリティ パッケージでのみサポートされます。- SECPKG_ATTR_ROOT_STORE
- 0x55
pBuffer パラメーターには、HCERTCONTEXT へのポインターが含まれています。 ルート ストアによって提供される証明書を含む証明書コンテキストを検索します。 - SECPKG_ATTR_SESSION_INFO
- 0x5d
pBuffer パラメーターには、SecPkgContext_SessionInfo構造体へのポインターが含まれています。
セッションに関する情報を返します。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。- SECPKG_ATTR_SESSION_KEY
- 9
pBuffer パラメーターには、SecPkgContext_SessionKey構造体へのポインターが含まれています。
セッション キーに関する情報を返します。- SECPKG_ATTR_SIZES
- 0
pBuffer パラメーターには、SecPkgContext_Sizes構造体へのポインターが含まれています。
メッセージごとの関数で使用される構造体のサイズを照会します。- SECPKG_ATTR_STREAM_SIZES
- 4
pBuffer パラメーターには、SecPkgContext_StreamSizes構造体へのポインターが含まれています。
メッセージごとの関数で使用されるストリームのさまざまな部分のサイズを照会します。- SECPKG_ATTR_SUPPORTED_SIGNATURES
- 0x66
pBuffer パラメーターには、SecPkgContext_SupportedSignatures構造体へのポインターが含まれています。
この値は、接続でサポートされている署名の種類に関する情報を返します。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。- SECPKG_ATTR_TARGET_INFORMATION
- 17
pBuffer パラメーターには、SecPkgContext_TargetInformation構造体へのポインターが含まれています。
リモート サーバーの名前に関する情報を返します。- SECPKG_ATTR_UNIQUE_BINDINGS
- 25
pBuffer パラメーターには、チャネル バインド情報を含むSecPkgContext_Bindings構造体へのポインターが含まれています。
Windows Server 2008、Windows Vista、Windows Server 2003、Windows XP: この値はサポートされていません。- SECPKG_ATTR_APPLICATION_PROTOCOL
- 35
pBuffer パラメーターには、ネゴシエートされたアプリケーション プロトコルが含まれています。 - SECPKG_ATTR_DTLS_MTU
- 34
DTLS で使用する MTU (最大伝送単位) の値を設定および取得します。 セキュリティ コンテキストで DTLS が有効になっていない場合、この属性はサポートされません。
有効な値は、200 バイトから 64 キロバイトの間です。 Schannel の既定の DTLS MTU 値は 1096 バイトです。 -
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 8.1 [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2012 R2 [デスクトップ アプリのみ] |
Header |
|
ライブラリ |
|
[DLL] |
|
Unicode 名と ANSI 名 |
QueryContextAttributesW (Unicode) と QueryContextAttributesA (ANSI) |
こちらもご覧ください