CertGetCRLFromStore 함수(wincrypt.h)
CertGetCRLFromStore 함수는 지정된 발급자의 인증서 저장소에서 첫 번째 또는 다음 CRL(인증서 해지 목록) 컨텍스트를 가져옵니다. 또한 함수는 CRL에서 활성화된 확인 검사를 수행합니다. 이 함수 대신 새 인증서 체인 확인 함수 를 사용하는 것이 좋습니다.
구문
PCCRL_CONTEXT CertGetCRLFromStore(
[in] HCERTSTORE hCertStore,
[in, optional] PCCERT_CONTEXT pIssuerContext,
[in] PCCRL_CONTEXT pPrevCrlContext,
[in, out] DWORD *pdwFlags
);
매개 변수
[in] hCertStore
인증서 저장소의 핸들입니다.
[in, optional] pIssuerContext
발급자 CERT_CONTEXT 대한 포인터입니다. pIssuerContext 포인터는 이 저장소 또는 다른 저장소에서 오거나 CertCreateCertificateContext를 호출하여 만들 수 있습니다. 이 매개 변수에 대해 NULL 이 전달되면 저장소의 모든 CRL이 발견됩니다.
[in] pPrevCrlContext
CRL_CONTEXT 대한 포인터입니다. 발급자에서 여러 CRL을 가질 수 있습니다. 예를 들어 X.509 버전 3 확장을 사용하여 델타 CRL을 생성할 수 있습니다. CRL을 얻으려면 첫 번째 호출에서 이 매개 변수가 NULL 이어야 합니다. 발급자의 다음 CRL을 가져오기 위해 매개 변수는 이전 호출에서 반환된 CRL_CONTEXT 설정됩니다. NULL이 아닌 pPrevCrlContext는 오류가 발생하더라도 CertFreeCRLContext를 호출하여 이 함수에서 항상 해제됩니다.
[in, out] pdwFlags
다음 플래그 값은 반환된 CRL에서 확인 검사를 사용하도록 정의됩니다. 이러한 플래그는 비트 OR 연산을 사용하여 결합할 수 있습니다.
활성화된 확인 검사 성공하면 해당 플래그가 0으로 설정됩니다.
활성화된 확인 검사 실패하면 반환 시 플래그가 설정된 상태로 유지됩니다. pIssuerContext가 NULL이면 활성화된 CERT_STORE_SIGNATURE_FLAG 항상 실패하고 CERT_STORE_NO_ISSUER_FLAG 설정됩니다. 자세한 내용은 설명을 참조하세요.
CERT_STORE_BASE_CRL_FLAG 또는 CERT_STORE_DELTA_CRL_FLAG 중 하나만 설정된 경우 이 함수는 기본 또는 델타 CRL을 반환하고 반환 시 적절한 기본 또는 델타 플래그가 지워집니다. 두 플래그가 모두 설정되면 플래그 중 하나만 지워집니다.
확인 검사 실패의 경우 첫 번째 또는 다음 CRL_CONTEXT 대한 포인터가 여전히 반환되고 GetLastError가 업데이트되지 않습니다.
반환 값
함수가 성공하면 반환 값은 읽기 전용 CRL_CONTEXT 대한 포인터입니다.
함수가 실패하고 첫 번째 또는 다음 CRL을 찾을 수 없는 경우 반환 값은 NULL입니다.
반환된 CRL_CONTEXTCertFreeCRLContext를 호출하여 해제해야 합니다. 그러나 후속 호출에서 pPrevCrlContext에 대해 반환된 CRL_CONTEXT 제공되면 함수는 이를 해제합니다.
확장된 오류 정보는 GetLastError를 호출합니다. 몇 가지 가능한 오류 코드는 다음과 같습니다.
값 | Description |
---|---|
|
hCertStore 매개 변수의 핸들은 pPrevCrlContext 매개 변수가 가리키는 CRL 컨텍스트의 핸들과 동일하지 않거나 pdwFlags에서 지원되지 않는 플래그가 설정되었습니다. |
|
발급자의 저장소에 CRL이 없거나 함수가 저장소 목록의 끝에 도달했습니다. |
설명
CertDuplicateCRLContext 를 호출하여 중복 CRL을 만들 수 있습니다.
플래그의 16진수 값은 비트 OR 연산을 사용하여 결합하여 두 확인을 모두 사용하도록 설정할 수 있습니다. 예를 들어 두 확인을 모두 사용하도록 설정하려면 pdwFlags에서 가리키는 DWORD 값이 CERT_STORE_SIGNATURE_FLAG 값으로 설정됩니다. CERT_STORE_TIME_VALIDITY_FLAG. CERT_STORE_SIGNATURE_FLAG 확인에 성공했지만 CERT_STORE_TIME_VALIDITY_FLAG 확인에 실패한 경우 함수가 반환될 때 pdwFlags가 가리키는 DWORD 값이 CERT_STORE_TIME_VALIDITY_FLAG 설정됩니다.
요구 사항
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | wincrypt.h |
라이브러리 | Crypt32.lib |
DLL | Crypt32.dll |