Share via


ICertAdmin::GetRevocationReason 메서드(certadm.h)

GetRevocationReason 메서드는 인증서가 해지된 이유를 반환합니다. 이 메서드는 ICertAdmin 인터페이스에서 처음 정의되었습니다.

이 메서드를 호출하기 전에 IsValidCertificate 메서드를 호출해야 합니다. 자세한 내용은 설명 부분을 참조하세요.

구문

HRESULT GetRevocationReason(
  [out] LONG *pReason
);

매개 변수

[out] pReason

해지 이유를 수신할 변수에 대한 포인터입니다.

반환 값

C++

메서드가 성공하면 메서드는 S_OK 반환하고 pReason 매개 변수는 다음 표에 나열된 값 중 하나로 설정됩니다.

메서드가 실패하면 오류를 나타내는 HRESULT 값이 반환됩니다. 일반적인 오류 코드 목록은 일반적인 HRESULT 값을 참조하세요.

VB

인증서가 해지된 이유를 지정하는 값을 반환합니다. 값은 다음 해지 이유 코드 중 하나일 수 있습니다(Wincrypt.h에 정의됨).
반환 코드 설명
CRL_REASON_UNSPECIFIED
해지할 이유가 지정되지 않았습니다.
CRL_REASON_KEY_COMPROMISE
인증서에서 유효성이 검사된 주체의 개인 키 또는 기타 측면이 손상된 것으로 알려져 있거나 의심됩니다.
CRL_REASON_CA_COMPROMISE
CA의 프라이빗 키 또는 인증서에서 검증된 CA의 다른 측면이 손상된 것으로 알려져 있거나 의심됩니다.
CRL_REASON_AFFILIATION_CHANGED
주체의 이름 또는 인증서의 다른 정보가 수정되었지만 프라이빗 키가 손상되었다고 의심할 이유가 없습니다.
CRL_REASON_SUPERSEDED
인증서가 대체되었지만 프라이빗 키가 손상되었다고 의심할 이유가 없습니다.
CRL_REASON_CESSATION_OF_OPERATION
인증서가 발급된 목적을 위해 더 이상 필요하지 않지만 프라이빗 키가 손상되었다고 의심할 이유가 없습니다.
CRL_REASON_CERTIFICATE_HOLD
인증서가 보류되었습니다.

설명

GetRevocationReason을 호출하기 전에 IsValidCertificate 메서드를 호출하여 인증서 처리를 검색합니다. GetRevocationReason을 호출하려면 이 이전 호출에서 인증서 처리 CA_DISP_REVOKED 수신해야 합니다. 이는 인증서가 해지되었음을 나타냅니다. IsValidCertificate를 호출하면 해지 이유를 검색하려는 인증서의 ID가 설정됩니다.

관리 작업은 DCOM을 사용합니다. 이전 버전의 Certadm.h에 정의된 대로 이 인터페이스 메서드를 호출하는 코드는 클라이언트와 서버가 모두 동일한 Windows 운영 체제를 실행하는 한 Windows 기반 서버에서 실행됩니다.

예제

// The value for nDisp was set by 
// a call to ICertAdmin2::IsValidCertificate.
if (CA_DISP_REVOKED == nDisp)
{
    // Variable to contain revocation reason.
    long       nReason;

    // Retrieve the revocation reason.
    hr = pCertAdmin->GetRevocationReason(&nReason);
    if (FAILED(hr))
    {
        printf("Failed GetRevocationReason [%x]\n", hr);
        goto error;
    }
    else
        printf("Revocation reason = %d\n", nReason );
}

요구 사항

   
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 certadm.h(Certsrv.h 포함)
라이브러리 Certidl.lib
DLL Certadm.dll

추가 정보

CCertAdmin

ICertAdmin

ICertAdmin2

IsValidCertificate