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.
[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 |