다음을 통해 공유


암호화 서비스 공급자 컨텍스트

암호화 API를 사용하는 애플리케이션에서 호출하는 첫 번째 CryptoAPI 함수는 CryptAcquireContext 함수입니다. 이 함수는 CSP 내의 특정 키 컨테이너 사양을 포함하는 특정 CSP에 대한 핸들을 반환합니다. 이 키 컨테이너는 특별히 요청된 키 컨테이너이거나 현재 로그온한 사용자의 기본 키 컨테이너입니다.

CryptAcquireContext 새 키 컨테이너를 만들 수도 있습니다. 자세한 내용은 C 프로그램 예제: 키 컨테이너 만들기 및 키 생성 및 C 프로그램 예제 : CryptAcquireContext사용.을 참조하세요.

CSP(암호화 서비스 공급자)에는 이름과 형식이 모두 있습니다. 예를 들어 현재 운영 체제와 함께 제공되는 CSP 중 하나의 이름은 Microsoft 기본 암호화 공급자 . PROV_RSA_FULL 형식 공급자입니다. 각 공급자의 이름은 고유합니다. 공급자 유형이 아닙니다.

애플리케이션이 CryptAcquireContext 호출하여 CSP 핸들을 가져오는 경우 공급자 유형 및 공급자 이름을 선택적으로 지정합니다. 형식과 이름을 모두 지정하면 함수는 일치하는 공급자 형식 및 공급자 이름으로 CSP를 로드합니다. 이 함수는 CSP와 CSP 내의 키 컨테이너 모두에 대한 액세스를 제공하는 CSP의 핸들을 반환합니다.

애플리케이션이 CryptAcquireContext 호출하고 공급자 형식을 지정하지만 공급자 이름은 지정하지 않으면 함수는 명명된 공급자를 찾습니다. 먼저 로그온한 사용자와 연결된 기본 명명된 공급자 목록을 확인하고, 실패하는 경우 컴퓨터와 연결된 기본 명명된 공급자 목록에서 확인합니다. 공급자 이름이 결정되면 CryptAcquireContext 함수는 해당 공급자에 대한 CSP를 검색하고, 로드하고, 핸들을 반환합니다.

CSP 핸들 사용을 마쳤으면 CryptReleaseContext 함수를 호출하여 해제합니다.