Método ICertAdmin::GetRevocationReason (certadm.h)

El método GetRevocationReason devuelve el motivo por el que se revoca un certificado. Este método se definió por primera vez en la interfaz ICertAdmin .

Antes de llamar a este método, debe llamar al método IsValidCertificate . Para obtener más información, vea la sección Comentarios.

Sintaxis

HRESULT GetRevocationReason(
  [out] LONG *pReason
);

Parámetros

[out] pReason

Puntero a una variable que recibirá el motivo de revocación.

Valor devuelto

C++

Si el método se ejecuta correctamente, el método devuelve S_OK y el parámetro pReason se establece en uno de los valores enumerados en la tabla siguiente.

Si se produce un error en el método, devuelve un valor HRESULT que indica el error. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.

VB

Devuelve un valor que especifica el motivo por el que se revoca el certificado. El valor puede ser uno de los siguientes códigos de motivo de revocación (definidos en Wincrypt.h).
Código devuelto Descripción
CRL_REASON_UNSPECIFIED
No se especificó ningún motivo para la revocación.
CRL_REASON_KEY_COMPROMISE
Se sabe o sospecha que la clave privada del sujeto u otros aspectos del sujeto validados en el certificado están en peligro.
CRL_REASON_CA_COMPROMISE
Se sabe o sospecha que la clave privada de la ENTIDAD de certificación u otros aspectos de la ENTIDAD de certificación validada en el certificado están en peligro.
CRL_REASON_AFFILIATION_CHANGED
El nombre del firmante u otra información del certificado se ha modificado, pero no hay ninguna causa para sospechar que la clave privada se ha puesto en peligro.
CRL_REASON_SUPERSEDED
El certificado se ha reemplazado, pero no hay ninguna causa para sospechar que la clave privada se ha puesto en peligro.
CRL_REASON_CESSATION_OF_OPERATION
El certificado ya no es necesario para el propósito para el que se emitió, pero no hay ninguna causa para sospechar que la clave privada se ha puesto en peligro.
CRL_REASON_CERTIFICATE_HOLD
El certificado se ha puesto en espera.

Comentarios

Antes de llamar a GetRevocationReason, llame al método IsValidCertificate para recuperar la eliminación del certificado. Para llamar a GetRevocationReason, debe recibir una disposición de certificado CA_DISP_REVOKED de esta llamada anterior, lo que indica que se ha revocado el certificado. La llamada a IsValidCertificate establece la identidad del certificado cuyo motivo de revocación desea recuperar.

Las tareas de administración usan DCOM. El código que llama a este método de interfaz tal como se define en una versión anterior de Certadm.h se ejecutará en servidores basados en Windows siempre que el cliente y el servidor ejecuten el mismo sistema operativo Windows.

Ejemplos

// 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 );
}

Requisitos

   
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado certadm.h (incluya Certsrv.h)
Library Certidl.lib
Archivo DLL Certadm.dll

Consulte también

CCertAdmin

ICertAdmin

ICertAdmin2

IsValidCertificate