ICertAdmin2::P ublishCRLs-Methode (certadm.h)
Die PublishCRLs-Methode veröffentlicht Zertifikatsperrlisten (Certificate Revocation Lists , CRLs) für eine Zertifizierungsstelle (CA). Diese Methode wurde zuerst in der ICertAdmin-Schnittstelle definiert.
Die PublishCRLs-Methode veröffentlicht eine Zertifikatsperrliste basierend auf dem aktuellen Zertifikat der Zertifizierungsstelle sowie Zertifikatsperrlisten basierend auf allen Zertifizierungsstellenzertifikaten, die erneuert wurden und noch nicht abgelaufen sind.
Syntax
HRESULT PublishCRLs(
[in] const BSTR strConfig,
[in] DATE Date,
[in] LONG CRLFlags
);
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 CRL in GMT-Zeit 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.
[in] CRLFlags
Wert, der die Optionen für die CRL-Veröffentlichung angibt. Dieser Wert kann eine bitweise Kombination der folgenden Flags sein.
Rückgabewert
Keine
Bemerkungen
Um zu ermitteln, ob eine Zertifizierungsstelle Basis- und Delta-CRLs erfolgreich veröffentlicht hat, rufen Sie ICertAdmin2::GetCAProperty mit den CR_PROP_BASECRLPUBLISHSTATUS bzw. CR_PROP_DELTACRLPUBLISHSTATUS Eigenschaftenbezeichnern auf.
Beispiele
Das folgende Beispiel zeigt die Veröffentlichung von CRLs.
DATE ExpDate; // CRL expiration date.
SYSTEMTIME st;
BSTR bstrCA = NULL;
// Set the CRL expiration date to noon, July 1, 2001.
// Zero out values first (avoids setting minutes,
// seconds, and so on).
memset(&st, 0, sizeof(SYSTEMTIME));
st.wYear = 2001;
st.wMonth = 7; // July
st.wDay = 1; // first 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 = pCertAdmin2->PublishCRLs(bstrCA,
ExpDate,
CA_CRL_BASE);
if (FAILED(hr))
{
printf("Failed PublishCRLs [%x]\n", hr);
goto error;
}
else
printf("PublishCRLs succeeded\n");
// Done.
error:
// Free resources.
if (bstrCA)
SysFreeString(bstrCA);
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 |