內容需求
內容需求會以傳遞至 InitializeSecurityContext (一般) 或 AcceptSecurityContext (一般) 函式的位旗標組合來表示。 這些旗標會以多種方式影響 內容。 並非所有旗標都適用於所有內容。 有些僅適用於伺服器,有些則僅適用於用戶端。
呼叫端會使用 InitializeSecurityContext (General) 或 AcceptSecurityContext (General) 呼叫的 fContextReq 參數來指定一組指出必要功能的旗標。 當函式傳回時,pfContextAttr 參數會指出已建立內容的屬性。 呼叫端會判斷最終內容屬性是否可接受。
InitializeSecurityContext (一般) 所要求或傳回的旗標前面會加上 ISC。 AcceptSecurityContext (一般) 所要求或傳回的要求,會加上 ASC。 傳遞至函式的旗標包括 REQ,而傳回的旗標則包含 RET。 例如,傳遞至 InitializeSecurityContext (一般) 之相互驗證的要求旗標ISC_REQ_MUTUAL_AUTH。 要求相互驗證的伺服器會將ASC_REQ_MUTUAL_AUTH傳遞至 AcceptSecurityContext (一般)。 如果達成相互驗證,InitializeSecurityContext (一般) 會傳回ISC_RET_MUTUAL_AUTH,AcceptSecurityContext (一般) 會傳回ASC_RET_MUTUAL_AUTH。 如果呼叫端要求相互驗證,但 安全性套件 表示無法執行,則呼叫端必須決定是否要取消內容或繼續。
下表描述各種內容需求旗標。
旗 | 描述 |
---|---|
委託 |
傳輸應用程式中的伺服器可以建置新的安全性內容,模擬其他伺服器接受做為用戶端內容的用戶端。 只有在設定MUTUAL_AUTH時,委派才能運作。 目前只有 Kerberos支援 DELEGATE。 此外,Kerberos 只會委派給具有旗標的伺服器TRUSTED_FOR_DELEGATION。 請勿將此旗標用於 限制委派。 |
MUTUAL_AUTH |
通訊對象必須互相驗證其身分識別。 如果沒有MUTUAL_AUTH,用戶端就會向伺服器驗證其身分識別。 使用 MUTUAL_AUTH,伺服器也必須向客戶端驗證其身分識別。 使用 安全通道 安全性套件時,伺服器只會在憑證對應順利完成之後,才會在最後一次呼叫 acceptSecurityContext (Negotiate)中設定ASC_RET_MUTUAL_AUTH 常數。 |
REPLAY_DETECT |
安全性套件 偵測重新執行封包,並通知呼叫端是否已重新執行封包。 使用此旗標表示 INTEGRITY 旗標所指定的所有條件。 |
SEQUENCE_DETECT |
稍後必須允許內容透過訊息支援函式偵測封包順序錯亂的傳遞。 使用此旗標表示 INTEGRITY 旗標所指定的所有條件。 |
保密性 |
內容可以在傳輸時使用 EncryptMessage (一般) 和 DecryptMessage (一般) 函式來保護數據。 如果產生的內容適用於來賓帳戶,則機密性旗標無法運作。 |
USE_SESSION_KEY |
必須交涉新的 會話密鑰。 |
PROMPT_FOR_CREDS |
如果用戶端是互動式使用者,則安全性套件必須盡可能提示使用者輸入適當的 認證。 |
USE_SUPPLIED_CREDS |
輸入緩衝區中提供套件特定的認證資訊。 安全性套件可以使用這些 認證 來驗證連線。 |
SAVE_SUPPLIED_CREDS |
提供的認證應該使用補充認證來快取。 |
ALLOCATE_MEMORY |
安全性套件 必須配置記憶體。 呼叫端最終必須呼叫 FreeContextBuffer 函式,以釋放安全性套件所配置的記憶體。 |
USE_DCE_STYLE |
呼叫端需要三回合驗證 交易。 |
數據報 |
必須使用 Datagram 語意。 如需詳細資訊,請參閱 Datagram Contexts。 |
連接 |
必須使用連接語意。 如需詳細資訊,請參閱 Connection-Oriented Contexts。 |
流 |
必須使用數據流語意。 如需詳細資訊,請參閱 串流內容。 |
EXTENDED_ERROR |
如果內容失敗,則必須產生對等的錯誤回復訊息。 |
正直 |
您可以驗證緩衝區完整性,但未啟用排序或回復偵測。 |
NO_INTEGRITY |
忽略 完整性 需求。 |
識別 |
當伺服器模擬已設定此旗標的內容時,該模擬會產生極其有限的存取權。 使用 IDENTIT 集合模擬來驗證用戶端的身分識別。 |