Freigeben über


ICertAdmin::P ublishCRL-Methode (certadm.h)

Die PublishCRL-Methode sendet eine Anforderung an die Zertifizierungsstelle (Certificate Services Certification Authority , CA), um eine neue Zertifikatsperrliste (Certificate Revocation List , CRL) zu veröffentlichen. Diese Methode wurde zuerst in der ICertAdmin-Schnittstelle eingeführt.

Syntax

HRESULT PublishCRL(
  [in] const BSTR strConfig,
  [in] DATE       Date
);

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 des Setups der Zertifikatdienste eingegeben wurde. Informationen zum Namen der Konfigurationszeichenfolge finden Sie unter ICertConfig.

WichtigPublishCRL 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 mit der neuen Konfigurationszeichenfolge erneut aufrufen.

 

[in] Date

Gibt den nächsten Aktualisierungswert der Zertifikatsperrliste in koordinierter Universeller Zeit (Greenwich Mean Time) an. Wenn Date nonzero ist, ist der nächste Aktualisierungswert für die Zertifikatsperrliste Date, vorbehaltlich der Von Zertifikatdiensten erzwungenen Rundungs- oder Obergrenzen. Wenn Date 0 ist, wird der nächste Aktualisierungswert der Zertifikatsperrliste aus dem Standard-Sperrlistenveröffentlichungszeitraum berechnet.

Rückgabewert

VB

Wenn die Methode erfolgreich 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.

Hinweise

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

Das folgende Beispiel zeigt die Veröffentlichung einer Zertifikatsperrliste.

    DATE ExpDate;  // CRL expiration date
    SYSTEMTIME st;
    BSTR bstrCA = NULL;

    //  Set the CRL Expiration Date to Noon on Jan. 1, 2005 GMT.
    //  Zero out values first 
	//  (avoids setting minutes, seconds, and so on).
    memset(&st, 0, sizeof(SYSTEMTIME));
    st.wYear = 2005;
    st.wMonth = 1;     // Jan
    st.wDay = 1;       // 1st day of month
    st.wHour = 12;     // Noon

    //  Place the date in required format.
    if (!SystemTimeToVariantTime(&st, &ExpDate))
    {
        printf("Unable to convert time\n");
        goto error;
    }

    bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
    if (NULL == bstrCA)
    {
        printf("Memory allocation failed\n");
        goto error;
    }

    //  Publish the CRL.
    //  pCertAdmin is a previously instantiated ICertAdmin object.
    hr = pCertAdmin->PublishCRL(bstrCA, ExpDate);
    if (FAILED(hr))
    {
        printf("Failed PublishCRL [%x]\n", hr);
        goto error;
    }
    else
        printf("PublishCRL succeeded\n");

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