QueryCoNtextAttributes (Schannel) 函式

QueryCoNtextAttributes (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結構的指標。
會傳回或指定會話的應用程式資料。
只有安全通道 安全性套件才支援這個屬性。
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和Windows Server 2016或更新版本中的安全通道安全性套件支援。
SECPKG_ATTR_CREDS_2
0x80000086
pBuffer參數包含指定用戶端認證的SecPkgCoNtext_ClientCreds結構的指標。
如果用戶端認證是使用者名稱和密碼,則緩衝區是封裝 KERB_INTERACTIVE_LOGON 結構。
如果用戶端認證是使用者名稱和智慧卡 PIN,則緩衝區是封裝 KERB_CERTIFICATE_LOGON 結構。
如果用戶端認證是線上身分識別認證,則緩衝區是封送處理 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 通訊協定所使用的金鑰資料。
只有安全通道 安全性套件才支援這個屬性。
SECPKG_ATTR_ENDPOINT_BINDINGS
26
pBuffer參數包含SecPkgCoNtext_Bindings結構的指標,其中包含 TLS (RFC 5929) 的通道系結。
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結構的指標。
傳回伺服器接受的憑證簽發者清單。
只有安全通道 安全性套件才支援這個屬性。
SECPKG_ATTR_KEY_INFO
5
pBuffer參數包含SecPkgCoNtext_KeyInfo結構的指標。
查詢安全性 內容中所用金鑰的相關資訊。
SECPKG_ATTR_LIFESPAN
2
pBuffer參數包含SecPkgCoNtext_Lifespan結構的指標。
查詢內容生命週期。
SECPKG_ATTR_LOCAL_CERT_CONTEXT
0x54
pBuffer參數包含PCCERT_CONTEXT結構的指標。
尋找包含本機結束憑證的憑證內容。
只有安全通道 安全性套件才支援這個屬性。
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結構的指標。
尋找包含伺服器提供之結束憑證的憑證內容。
只有安全通道 安全性套件才支援這個屬性。
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
設定並擷取 MTU (最大傳輸單位) 值,以搭配 DTLS 使用。 如果未在 安全性內容中啟用 DTLS,則不支援此屬性。
有效值介於 200 個位元組和 64 KB 之間。 Schannel 中的預設 DTLS MTU 值為 1096 個位元組。

 

pBuffer [out]

接收屬性之結構的指標。 指向的結構類型取決於 ulAttribute 參數中指定的值。

傳回值

如果函式成功,傳回值 會SEC_E_OK

如果函式失敗,傳回值是非零錯誤碼。

備註

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 [僅限傳統型應用程式]
標頭
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