Compartilhar via


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

O método GetRevocationReason retorna o motivo pelo qual um certificado foi revogado. Esse método foi definido pela primeira vez na interface ICertAdmin .

Antes de chamar esse método, você deve chamar o método IsValidCertificate . Para obter mais informações, consulte Comentários.

Sintaxe

HRESULT GetRevocationReason(
  [out] LONG *pReason
);

Parâmetros

[out] pReason

Um ponteiro para uma variável que receberá o motivo da revogação.

Valor retornado

C++

Se o método for bem-sucedido, o método retornará S_OK e o parâmetro pReason será definido como um dos valores listados na tabela a seguir.

Se o método falhar, ele retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.

VB

Retorna um valor que especifica o motivo pelo qual o certificado foi revogado. O valor pode ser um dos seguintes códigos de motivo de revogação (definidos em Wincrypt.h).
Código de retorno Descrição
CRL_REASON_UNSPECIFIED
Nenhum motivo foi especificado para revogação.
CRL_REASON_KEY_COMPROMISE
Sabe-se ou suspeita-se que a chave privada do assunto ou outros aspectos do assunto validado no certificado sejam comprometidos.
CRL_REASON_CA_COMPROMISE
Sabe-se ou suspeita-se que a chave privada da AC ou outros aspectos da AC validados no certificado estão comprometidos.
CRL_REASON_AFFILIATION_CHANGED
O nome da entidade ou outras informações no certificado foram modificadas, mas não há motivo para suspeitar que a chave privada foi comprometida.
CRL_REASON_SUPERSEDED
O certificado foi substituído, mas não há motivo para suspeitar que a chave privada foi comprometida.
CRL_REASON_CESSATION_OF_OPERATION
O certificado não é mais necessário para a finalidade para a qual foi emitido, mas não há motivo para suspeitar que a chave privada foi comprometida.
CRL_REASON_CERTIFICATE_HOLD
O certificado foi colocado em espera.

Comentários

Antes de chamar GetRevocationReason, chame o método IsValidCertificate para recuperar a disposição do certificado. Para chamar GetRevocationReason, você deve receber uma disposição de certificado CA_DISP_REVOKED dessa chamada anterior, indicando que o certificado foi revogado. A chamada para IsValidCertificate estabelece a identidade do certificado cujo motivo de revogação você deseja recuperar.

As tarefas de administração usam o DCOM. O código que chama esse método de interface conforme definido em uma versão anterior do Certadm.h será executado em servidores baseados no Windows, desde que o cliente e o servidor estejam executando o mesmo sistema operacional Windows.

Exemplos

// 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 com suporte Nenhum compatível
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho certadm.h (inclua Certsrv.h)
Biblioteca Certidl.lib
DLL Certadm.dll

Confira também

CCertAdmin

ICertAdmin

ICertAdmin2

IsValidCertificate