Metodo ICertAdmin::GetRevocationReason (certadm.h)

Il metodo GetRevocationReason restituisce il motivo per cui è stato revocato un certificato. Questo metodo è stato definito per la prima volta nell'interfaccia ICertAdmin .

Prima di chiamare questo metodo, è necessario chiamare il metodo IsValidCertificate . Per altre informazioni, vedere la sezione Osservazioni.

Sintassi

HRESULT GetRevocationReason(
  [out] LONG *pReason
);

Parametri

[out] pReason

Puntatore a una variabile che riceverà il motivo della revoca.

Valore restituito

C++

Se il metodo ha esito positivo, il metodo restituisce S_OK e il parametro pReason è impostato su uno dei valori elencati nella tabella seguente.

Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco di codici di errore comuni, vedere Valori HRESULT comuni.

VB

Restituisce un valore che specifica il motivo per cui è stato revocato il certificato. Il valore può essere uno dei codici motivo di revoca seguenti (definiti in Wincrypt.h).
Codice restituito Descrizione
CRL_REASON_UNSPECIFIED
Non è stato specificato alcun motivo per la revoca.
CRL_REASON_KEY_COMPROMISE
È noto o sospetto che la chiave privata dell'oggetto o altri aspetti del soggetto convalidati nel certificato siano compromessi.
CRL_REASON_CA_COMPROMISE
È noto o sospetto che la chiave privata della CA o altri aspetti della CA convalidati nel certificato siano compromessi.
CRL_REASON_AFFILIATION_CHANGED
Il nome dell'oggetto o altre informazioni nel certificato è stato modificato, ma non esiste alcuna causa per sospettare che la chiave privata sia stata compromessa.
CRL_REASON_SUPERSEDED
Il certificato è stato sostituito, ma non esiste alcuna causa per sospettare che la chiave privata sia stata compromessa.
CRL_REASON_CESSATION_OF_OPERATION
Il certificato non è più necessario per lo scopo per il quale è stato rilasciato, ma non esiste alcuna causa per sospettare che la chiave privata sia stata compromessa.
CRL_REASON_CERTIFICATE_HOLD
Il certificato è stato inserito in attesa.

Commenti

Prima di chiamare GetRevocationReason, chiamare il metodo IsValidCertificate per recuperare l'eliminazione del certificato. Per chiamare GetRevocationReason, è necessario ricevere un'eliminazione del certificato CA_DISP_REVOKED da questa chiamata precedente, che indica che il certificato è stato revocato. La chiamata a IsValidCertificate stabilisce l'identità del certificato il cui motivo di revoca si vuole recuperare.

Le attività di amministrazione usano DCOM. Il codice che chiama questo metodo di interfaccia come definito in una versione precedente di Certadm.h verrà eseguito nei server basati su Windows purché il client e il server eseguano entrambi lo stesso sistema operativo Windows.

Esempio

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

Requisiti

   
Client minimo supportato Nessuno supportato
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione certadm.h (include Certsrv.h)
Libreria Certidl.lib
DLL Certadm.dll

Vedi anche

CCertAdmin

ICertAdmin

ICertAdmin2

IsValidCertificate