共用方式為


CryptoAPI 2.0 私密金鑰

通道認證會在內部以 CERT_CONTEXT 結構表示。 Schannel 會使用憑證的 CERT_KEY_PROV_INFO_PROP_ID 屬性,找出與特定憑證內容相關聯的 私密金鑰 。 使用這個屬性時,Schannel 會呼叫CryptAcquireCoNtext函式來存取私密金鑰。 如需詳細資訊,請參閱 公開/私密金鑰組

每個安全通道認證都包含一或多個私密金鑰的參考,每個金鑰都與特定憑證相關聯。 私密金鑰會根據認證是否適用于用戶端或伺服器,以完全不同的方式處理。

用戶端私密金鑰

用戶端 私密金鑰 是由 密碼編譯服務提供者 管理, (CSP) 使用中。 用戶端私密金鑰通常是由 類型為 PROV_RSA_FULL 或 PROV_RSA_SIGNATURE 的 CSP 所儲存。

如果用戶端應用程式手動呼叫 CryptAcquireCoNtext 呼叫,則在呼叫 AcquireCredentialsHandle之前,用戶端必須使用 CERT_KEY_PROV_HANDLE_PROP_ID 屬性將 CSP 的控制碼系結至憑證內容。 如果 Schannel 找到此屬性集,則不會使用 CERT_KEY_PROV_INFO_PROP_ID 屬性。

伺服器私密金鑰

伺服器私密金鑰會由下列其中一個 CSP 儲存:

  • PROV_RSA_SCHANNEL
  • PROV_DH_SCHANNEL
  • PROV_FORTEZZA CSP

CSP 的選擇取決於選取的 金鑰交換演算法。 伺服器私密金鑰的類型必須為 AT_KEYEXCHANGE。