SaslAcceptSecurityContext 函式 (sspi.h)
SaslAcceptSecurityContext 函式會包裝對 Security Support Provider InterfaceAcceptSecurityContext (一般) 函式的標準呼叫,並包含建立 SASL 伺服器 Cookie。
語法
SECURITY_STATUS SEC_ENTRY SaslAcceptSecurityContext(
[in] PCredHandle phCredential,
[in, optional] PCtxtHandle phContext,
[in] PSecBufferDesc pInput,
[in] unsigned long fContextReq,
[in] unsigned long TargetDataRep,
[out] PCtxtHandle phNewContext,
[in, out] PSecBufferDesc pOutput,
[out] unsigned long *pfContextAttr,
[out, optional] PTimeStamp ptsExpiry
);
參數
[in] phCredential
伺服器的認證句柄。 伺服器會呼叫 AcquireCredentialsHandle 函式,並將 INBOUND 旗標設定為擷取此句柄。
[in, optional] phContext
CtxtHandle 結構的指標。 在第一次呼叫 acceptSecurityContext (一般)時,此指標 NULL。 在後續的呼叫中,phContext 是第一次呼叫在 phNewContext 參數中傳回的部分格式內容的句柄。
[in] pInput
SecBufferDesc 結構指標,由用戶端呼叫 InitializeSecurityContext (General) 所產生, 函式,其中包含輸入緩衝區描述元。
SASL 需要類型為 SECBUFFER_TOKEN的單一緩衝區。 第一次呼叫 acceptSecurityContext (一般) 函式的第一次呼叫緩衝區是空的,並包含第二次呼叫從用戶端接收的挑戰回應。
[in] fContextReq
指定伺服器建立內容所需屬性的位旗標。 位旗標可以使用位OR 作業來合併。 下表顯示可能的值。
價值 | 意義 |
---|---|
|
加密和解密訊息。
僅適用於 SASL 的摘要式 SSP。 |
|
使用摘要進行 HTTP。 請省略此旗標,以使用摘要作為 SASL 機制。 |
[in] TargetDataRep
表示目標上的數據表示法,例如位元組排序。 此值可以是SECURITY_NATIVE_DREP或SECURITY_NETWORK_DREP。
[out] phNewContext
CtxtHandle 結構的指標。 在第一次呼叫 AcceptSecurityContext (一般)時,此指標會收到新的內容句柄。 在後續的呼叫中,phNewContext 可以和 phContext 參數中指定的句柄相同。
[in, out] pOutput
包含輸出緩衝區描述元之 SecBufferDesc 結構的指標。 這個緩衝區會傳送至用戶端,以輸入其他呼叫,以 InitializeSecurityContext (一般)。 即使函式傳回SEC_E_OK,仍可能會產生輸出緩衝區。 產生的任何緩衝區都必須傳送回用戶端應用程式。
[out] pfContextAttr
接收一組位旗標的變數指標,指出已建立內容的屬性。 如需各種屬性的描述,請參閱 內容需求。 用於此參數的旗標前面會加上ASC_RET,例如ASC_RET_DELEGATE。
在最終函數調用成功傳回之前,請勿檢查安全性相關屬性。 屬性旗標與安全性無關,例如ASC_RET_ALLOCATED_MEMORY旗標,可以在最終傳回之前檢查。
[out, optional] ptsExpiry
TimeStamp 結構的指標,該結構會接收內容的到期時間。 建議 安全性套件 一律以當地時間傳回此值。
傳回值
如果呼叫成功完成,此函式會傳回SEC_E_OK。 下表顯示一些可能的失敗傳回值。
傳回碼 | 描述 |
---|---|
|
不允許 Authz 處理。 |
|
記憶體不足,無法完成要求。 |
|
pOutput 參數中沒有令牌緩衝區,或訊息無法解密。 |
言論
識別傳回SEC_E_OK之 AcceptSecurityContext (一般) 函式的最終呼叫。 如果產生傳回令牌,SASL 處理會暫停一次往返用戶端,以允許處理最終令牌。 交換完成之後,SEC_E_CONTINUE_NEEDED會傳回應用程式,並使用 SSPI 訊息函式加密的額外 SASL 伺服器 Cookie。 初始伺服器 Cookie 指出是否支援 INTEGRITY 和 PRIVACY。 用戶端會處理此初始伺服器 Cookie,而用戶端會傳回用戶端 Cookie 來指出用戶端要求的服務。 用戶端 Cookie 接著會由伺服器解密,最後的服務會針對下列訊息流量來決定。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 不支援 |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | sspi.h (include Security.h) |
連結庫 | Secur32.lib |
DLL | Secur32.dll |