Поделиться через


Метод 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
Известно или подозревается, что закрытый ключ ЦС или другие аспекты ЦС, проверенные в сертификате, скомпрометированы.
CRL_REASON_AFFILIATION_CHANGED
Имя субъекта или другие сведения в сертификате были изменены, но нет никаких причин подозревать, что закрытый ключ был скомпрометирован.
CRL_REASON_SUPERSEDED
Сертификат заменен, но нет никаких причин подозревать, что закрытый ключ был скомпрометирован.
CRL_REASON_CESSATION_OF_OPERATION
Сертификат больше не требуется для цели, для которой он был выдан, но нет никаких причин подозревать, что закрытый ключ был скомпрометирован.
CRL_REASON_CERTIFICATE_HOLD
Сертификат помещен на удержание.

Комментарии

Перед вызовом GetRevocationReason вызовите метод IsValidCertificate , чтобы получить сведения о ликвидации сертификата. Чтобы вызвать GetRevocationReason, необходимо получить CA_DISP_REVOKED ликвидации сертификата из этого предыдущего вызова, указывающее, что сертификат был отозван. Вызов IsValidCertificate устанавливает удостоверение сертификата, причина отзыва которого требуется получить.

Задачи администрирования используют 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
Header certadm.h (включая Certsrv.h)
Библиотека Certidl.lib
DLL Certadm.dll

См. также раздел

CCertAdmin

ICertAdmin

ICertAdmin2

IsValidCertificate