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
Sspi.h (Security.h を含む)
ライブラリ
Secur32.lib
[DLL]
Secur32.dll
Unicode 名と ANSI 名
QueryContextAttributesW (Unicode) と QueryContextAttributesA (ANSI)

こちらもご覧ください

SSPI 関数

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_Authority

SecPkgContext_ConnectionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes