Freigeben über


ICertAdmin::GetRevocationReason-Methode (certadm.h)

Die GetRevocationReason-Methode gibt den Grund zurück, aus dem ein Zertifikat widerrufen wurde. Diese Methode wurde zuerst in der ICertAdmin-Schnittstelle definiert.

Bevor Sie diese Methode aufrufen, müssen Sie die IsValidCertificate-Methode aufrufen. Weitere Informationen finden Sie in den Hinweisen.

Syntax

HRESULT GetRevocationReason(
  [out] LONG *pReason
);

Parameter

[out] pReason

Ein Zeiger auf eine Variable, die den Widerrufsgrund empfängt.

Rückgabewert

C++

Wenn die Methode erfolgreich ist, gibt die Methode S_OK zurück, und der pReason-Parameter wird auf einen der in der folgenden Tabelle aufgeführten Werte festgelegt.

Wenn die Methode fehlschlägt, gibt sie einen HRESULT-Wert zurück, der den Fehler angibt. Eine Liste allgemeiner Fehlercodes finden Sie unter Allgemeine HRESULT-Werte.

VB

Gibt einen Wert zurück, der den Grund angibt, aus dem das Zertifikat widerrufen wurde. Der Wert kann einer der folgenden Widerrufsgrundcodes (definiert in Wincrypt.h) sein.
Rückgabecode Beschreibung
CRL_REASON_UNSPECIFIED
Es wurde kein Widerrufsgrund angegeben.
CRL_REASON_KEY_COMPROMISE
Es ist bekannt oder vermutet, dass der private Schlüssel des Antragstellers oder andere Aspekte des Antragstellers, die im Zertifikat überprüft wurden, kompromittiert werden.
CRL_REASON_CA_COMPROMISE
Es ist bekannt oder vermutet, dass der private Schlüssel der Zertifizierungsstelle oder andere Aspekte der im Zertifikat überprüften Zertifizierungsstelle kompromittiert sind.
CRL_REASON_AFFILIATION_CHANGED
Der Name des Antragstellers oder andere Informationen im Zertifikat wurden geändert, aber es besteht kein Grund zum Verdacht, dass der private Schlüssel kompromittiert wurde.
CRL_REASON_SUPERSEDED
Das Zertifikat wurde ersetzt, aber es gibt keinen Grund zu vermuten, dass der private Schlüssel kompromittiert wurde.
CRL_REASON_CESSATION_OF_OPERATION
Das Zertifikat wird für den Zweck, für den es ausgestellt wurde, nicht mehr benötigt, aber es besteht kein Grund zum Verdacht, dass der private Schlüssel kompromittiert wurde.
CRL_REASON_CERTIFICATE_HOLD
Das Zertifikat wurde in die Warteschleife gelegt.

Hinweise

Rufen Sie vor dem Aufrufen von GetRevocationReason die IsValidCertificate-Methode auf, um die Disposition des Zertifikats abzurufen. Um GetRevocationReason aufzurufen, müssen Sie von diesem vorherigen Aufruf eine Zertifikatdisposition CA_DISP_REVOKED erhalten, die angibt, dass das Zertifikat widerrufen wurde. Der Aufruf von IsValidCertificate stellt die Identität des Zertifikats fest, dessen Sperrgrund Sie abrufen möchten.

Verwaltungsaufgaben verwenden DCOM. Code, der diese Schnittstellenmethode aufruft, wie in einer früheren Version von Certadm.h definiert, wird auf Windows-basierten Servern ausgeführt, solange der Client und der Server dasselbe Windows-Betriebssystem ausführen.

Beispiele

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

Anforderungen

   
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile certadm.h (include Certsrv.h)
Bibliothek Certidl.lib
DLL Certadm.dll

Weitere Informationen

CCertAdmin

ICertAdmin

ICertAdmin2

IsValidCertificate