Freigeben über


ICertAdmin::IsValidCertificate-Methode (certadm.h)

Die IsValidCertificate-Methode überprüft das Zertifikat anhand des Schlüssels der Zertifizierungsstelle (Ca ) und überprüft, ob das Zertifikat nicht widerrufen wurde. Diese Methode wurde zuerst in der ICertAdmin-Schnittstelle definiert.

Syntax

HRESULT IsValidCertificate(
  [in]          const BSTR strConfig,
  [in]          const BSTR strSerialNumber,
  [out, retval] LONG       *pDisposition
);

Parameter

[in] strConfig

Stellt eine gültige Konfigurationszeichenfolge für die Zertifizierungsstelle im Format COMPUTERNAME\CANAME dar, wobei COMPUTERNAME der Netzwerkname des Zertifikatdiensteservers und CANAME der allgemeine Name der Zertifizierungsstelle ist, wie er während der Einrichtung der Zertifikatdienste eingegeben wurde. Informationen zum Namen der Konfigurationszeichenfolge finden Sie unter ICertConfig.

WichtigIsValidCertificate löscht den internen Cache nicht, wenn die Konfigurationszeichenfolge geändert wird. Wenn Sie die Konfigurationszeichenfolge für die Zertifizierungsstelle ändern, müssen Sie ein neues ICertAdmin-Objekt instanziieren und diese Methode erneut mit der neuen Konfigurationszeichenfolge aufrufen.
 

[in] strSerialNumber

Gibt eine Seriennummer an, die das zu überprüfende Zertifikat identifiziert. Die Zeichenfolge muss die Seriennummer als gerade Zahl von Hexadezimalstellen angeben. Bei Bedarf kann der Zahl eine Null vorangestellt werden, um eine gerade Anzahl von Ziffern zu erzeugen. Es darf nicht mehr als eine führende Null verwendet werden.

[out, retval] pDisposition

Ein Zeiger auf einen LONG-Wert , der den Dispositionswert empfängt.

Rückgabewert

C++

Wenn die Methode erfolgreich ist und der pDisposition-Parameter auf einen der folgenden Werte festgelegt ist, gibt die Methode S_OK zurück.

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

Der Rückgabewert gibt die Disposition des Zertifikats an. Dieser Wert ist einer der folgenden Werte. (Diese Werte sind in Certadm.h definiert.)
Rückgabecode Beschreibung
CA_DISP_INCOMPLETE
Der Aufruf wurde nicht abgeschlossen.
CA_DISP_ERROR
Der Aufruf schlug fehl.
CA_DISP_REVOKED
Das Zertifikat wurde widerrufen.
CA_DISP_VALID
Das Zertifikat ist weiterhin gültig.
CA_DISP_INVALID
Das Zertifikat wurde nie ausgestellt.
CA_DISP_UNDER_SUBMISSION
Das Zertifikat steht aus.

Hinweise

Diese Methode bestimmt nur, ob ein Zertifikat ausgestellt wurde und derzeit nicht widerrufen wird. Es wird nicht überprüft, ob die aktuelle Uhrzeit und das aktuelle Datum innerhalb des Zeitraums liegen, für den das Zertifikat gültig ist (die Zertifikateigenschaften NotBefore und NotAfter). Eine Anwendung, die diese Methode verwendet, ist auch für die Überprüfung des Zertifikatablaufs verantwortlich.

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

    BSTR       bstrCA = NULL;      // Machine\CAName
    BSTR       bstrSerial = NULL;  // Contains the certificate 
                             // serial number
    long       nDisp;              // Contains the certificate
                             // disposition
    HRESULT    hr;

    bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
    bstrSerial = SysAllocString(L"<SERIALNUMBERHERE>");

    if (NULL == bstrCA || NULL == bstrSerial)
    {
        printf("Memory allocation failed\n");
        goto error;
    }

    //  Determine whether the certificate is valid.
    //  pCertAdmin is a previously instantiated ICertAdmin 
    //  object pointer.
    hr = pCertAdmin->IsValidCertificate(bstrCA, bstrSerial, &nDisp);
    if (FAILED(hr))
    {
        printf("Failed IsValidCertificate [%x]\n", hr);
        goto error;
    }
    //  Use nDisp as needed.

    //  Done processing.

error:

    //  Free BSTR values.
    if (NULL != bstrCA)
        SysFreeString(bstrCA);

    if (NULL != bstrSerial)
        SysFreeString(bstrSerial);

Anforderungen

Anforderung Wert
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

ICertConfig