다음을 통해 공유


CryptoAPI 2.0 프라이빗 키

Schannel 자격 증명은 내부적으로 CERT_CONTEXT 구조로 표시됩니다. Schannel은 인증서의 CERT_KEY_PROV_INFO_PROP_ID 속성을 사용하여 특정 인증서 컨텍스트와 연결된 프라이빗 키 찾습니다. Schannel은 이 속성을 사용하여 CryptAcquireContext 함수를 호출하여 프라이빗 키 액세스합니다. 자세한 내용은 공개/프라이빗 키 쌍 참조하세요.

모든 Schannel 자격 증명에는 각각 특정 인증서와 연결된 하나 이상의 프라이빗 키에 대한 참조가 포함됩니다. 프라이빗 키는 자격 증명이 클라이언트 또는 서버용인지 여부에 따라 매우 다르게 처리됩니다.

클라이언트 프라이빗 키

클라이언트 프라이빗 키 사용 중인 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 형식이어야 합니다.