CertVerifySubjectCertificateContext 함수(wincrypt.h)

CertVerifySubjectCertificateContext 함수는 인증서 발급자의 유효성을 확인하여 인증서에 대해 활성화된 확인 검사를 수행합니다. 이 함수 대신 새 인증서 체인 확인 함수 를 사용하는 것이 좋습니다.

구문

BOOL CertVerifySubjectCertificateContext(
  [in]           PCCERT_CONTEXT pSubject,
  [in, optional] PCCERT_CONTEXT pIssuer,
  [in, out]      DWORD          *pdwFlags
);

매개 변수

[in] pSubject

주체의 인증서를 포함하는 CERT_CONTEXT 구조체에 대한 포인터입니다.

[in, optional] pIssuer

발급자의 인증서를 포함하는 CERT_CONTEXT 대한 포인터입니다. CERT_STORE_TIME_VALIDITY_FLAG 검사할 때 pIssuerNULL일 수 있습니다.

[in, out] pdwFlags

DWORD 값에 대한 포인터에는 확인 검사 플래그가 포함됩니다. 다음 플래그를 설정하여 주체 인증서에 대한 확인 검사를 사용하도록 설정할 수 있습니다. 비트 OR 연산을 사용하여 결합하여 여러 인증을 사용하도록 설정할 수 있습니다.

의미
CERT_STORE_REVOCATION_FLAG
주체 인증서가 발급자의 해지 목록에 있는지 확인합니다.
CERT_STORE_SIGNATURE_FLAG
발급자 인증서의 공개 키를 사용하여 주체 인증서의 서명을 확인합니다.
CERT_STORE_TIME_VALIDITY_FLAG
현재 시간을 가져오고 주체 인증서의 유효 기간 내에 있는지 확인합니다.
 

활성화된 확인 검사 성공하면 해당 플래그가 0으로 설정됩니다. 실패하면 반환 시 플래그가 설정됩니다.

CERT_STORE_REVOCATION_FLAG 사용하도록 설정되었고 발급자의 저장소에 CRL이 없는 경우 CERT_STORE_REVOCATION_FLAG 외에도 CERT_STORE_NO_CRL_FLAG 설정됩니다.

반환 값

함수가 성공하면 반환 값은 TRUE입니다.

함수가 실패하면 반환 값은 FALSE입니다.

확인 검사 실패의 경우 TRUE는 여전히 반환됩니다. 잘못된 매개 변수가 전달된 경우에만 FALSE가 반환됩니다.

확장된 오류 정보는 GetLastError를 호출합니다. 가능한 오류 코드 중 하나는 다음과 같습니다.

반환 코드 설명
E_INVALIDARG
pdwFlags에서 지원되지 않는 비트가 설정되었습니다. CERT_STORE_SIGNATURE_FLAG, CERT_STORE_TIME_VALIDITY_FLAG 및 CERT_STORE_REVOCATION_FLAG 조합하여 설정할 수 있습니다. pIssuerNULL인 경우 CERT_STORE_TIME_VALIDITY_FLAG만 설정할 수 있습니다.

설명

플래그의 16진수 값은 비트 OR 연산을 사용하여 결합하여 여러 확인을 사용하도록 설정할 수 있습니다. 예를 들어 서명 및 시간 유효성을 모두 사용하도록 설정하려면 값입니다.

CERT_STORE_SIGNATURE_FLAG | CERT_STORE_TIME_VALIDITY_FLAG

는 pdwFlagsDWORD 값에 입력 매개 변수로 배치됩니다. CERT_STORE_SIGNATURE_FLAG 확인에 성공하지만 CERT_STORE_TIME_VALIDITY_FLAG 확인이 실패하면 함수가 반환되면 pdwFlags 가 CERT_STORE_TIME_VALIDITY_FLAG 설정됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 wincrypt.h
라이브러리 Crypt32.lib
DLL Crypt32.dll

추가 정보

CERT_CONTEXT

CertGetIssuerCertificateFromStore

인증서 함수