指定安全通道加密和加密強度
針對用戶端/伺服器資訊交換,Schannel 的預設行為是根據登錄中啟用的加密來交涉可用的最佳加密。 應用程式可以使用 SCHANNEL_CRED 結構的成員,來限制連線允許的加密和加密強度,如下所示:
- 將 palgSupportedAlgs 成員設定為包含允許加密的 ALG_ID 陣列。 如需詳細資訊,請參閱加密識別碼。
- 將 dwMinimumCipherStrength 和/或 dwMaximumCipherStrength 成員設定為允許的最小和最大強度。 如需詳細資訊,請參閱加密強度值。
- 透過呼叫AcquireCredentialsHandle函式中的pAuthData參數) ,傳遞SCHANNEL_CRED結構 (。 此函式會傳回認證控制碼。
- 在呼叫用戶端 InitializeSecurityCoNtext (General) 函式或伺服器端 AcceptSecurityCoNtext (General) 函式中指定認證控制碼。
加密識別碼
Schannel 的預設行為是根據系統登錄中的 Schannel 專案要求可用的最佳加密。 請勿變更系統登錄;它包含的 Schannel 設定會全域使用,並會影響其他應用程式。 如需有效常數的清單,請參閱 ALG_ID。
加密強度值
此通道功能通常用於限制國內或匯出強度加密的連線。 國內強度包括 56 和 128 位,而匯出強度限制為 56 位。 如果您將最小值和最大值設定為零 Schannel,將會使用所有可用的加密強度。
使用 TLS 或 SSL 3.0,將 dwMinimumCipherStrength 成員設定為 -1 (負數一個) 啟用「Null 加密」 加密套件,以提供簽章但未加密。 如果 dwMaximumCipherStrength 也設定為 -1,則只會啟用 「Null 加密」 套件。 此設定僅適用于開發,不應用於生產系統。
查詢加密資訊
若要擷取認證的加密強度設定,請呼叫 QueryCredentialsAttributes 函式,並將SECPKG_ATTR_CIPHER_STRENGTHS指定為 ulAttribute 參數。
若要擷取認證的支援演算法清單,請使用 SECPKG_ATTR_SUPPORTED_ALGS 作為ulAttribute參數呼叫QueryCredentialsAttributes。