Метод ICertAdmin::GetRevocationReason (certadm.h)
Метод GetRevocationReason возвращает причину отзыва сертификата. Этот метод был впервые определен в интерфейсе ICertAdmin .
Перед вызовом этого метода необходимо вызвать метод IsValidCertificate . Дополнительные сведения см. в подразделе "Примечания".
Синтаксис
HRESULT GetRevocationReason(
[out] LONG *pReason
);
Параметры
[out] pReason
Указатель на переменную, которая получит причину отзыва.
Возвращаемое значение
C++
Если метод выполнен успешно, метод возвращает S_OK, а параметру pReason присваивается одно из значений, перечисленных в следующей таблице.Если метод завершается сбоем, он возвращает значение HRESULT , указывающее на ошибку. Список распространенных кодов ошибок см. в разделе Общие значения HRESULT.
VB
Возвращает значение, указывающее причину отзыва сертификата. Значение может быть одним из следующих кодов причины отзыва (определенных в Wincrypt.h).Код возврата | Описание |
---|---|
|
Причина отзыва не указана. |
|
Известно или подозревается, что закрытый ключ субъекта или другие аспекты субъекта, проверенные в сертификате, скомпрометированы. |
|
Известно или подозревается, что закрытый ключ ЦС или другие аспекты ЦС, проверенные в сертификате, скомпрометированы. |
|
Имя субъекта или другие сведения в сертификате были изменены, но нет никаких причин подозревать, что закрытый ключ был скомпрометирован. |
|
Сертификат заменен, но нет никаких причин подозревать, что закрытый ключ был скомпрометирован. |
|
Сертификат больше не требуется для цели, для которой он был выдан, но нет никаких причин подозревать, что закрытый ключ был скомпрометирован. |
|
Сертификат помещен на удержание. |
Комментарии
Перед вызовом 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 |