Méthode ICertAdmin2 ::P ublishCRLs (certadm.h)
La méthode PublishCRLs publie des listes de révocation de certificats (CRL) pour une autorité de certification . Cette méthode a d’abord été définie dans l’interface ICertAdmin .
La méthode PublishCRLs publie une liste de révocation de certificats basée sur le certificat actuel de l’autorité de certification, ainsi que des listes de révocation de certificats basées sur les certificats d’autorité de certification qui ont été renouvelés et qui n’ont pas encore expiré.
HRESULT PublishCRLs(
[in] const BSTR strConfig,
[in] DATE Date,
[in] LONG CRLFlags
);
[in] strConfig
Représente une chaîne de configuration valide pour l’autorité de certification sous la forme COMPUTERNAME\CANAME, où COMPUTERNAME est le nom réseau du serveur des services de certificats et CANAME est le nom commun de l’autorité de certification, tel qu’entré lors de l’installation des services de certificats. Pour plus d’informations sur le nom de la chaîne de configuration, consultez ICertConfig.
[in] Date
Spécifie la valeur de mise à jour suivante de la liste de révocation de certificats en heure GMT. Si Date n’est pas zéro, la valeur de mise à jour suivante pour la liste de révocation de certificats est Date, sous réserve des limites d’arrondi ou de plafond appliquées par les services de certificats. Si Date est égal à zéro, la valeur de mise à jour suivante de la liste de révocation de certificats est calculée à partir de la période de publication de liste de révocation de certificats par défaut.
[in] CRLFlags
Valeur qui spécifie les options de publication de liste de révocation de certificats. Cette valeur peut être une combinaison au niveau du bit des indicateurs suivants.
None
Pour déterminer si une autorité de certification a correctement publié des listes de révocation de certificats de base et delta, appelez ICertAdmin2 ::GetCAProperty avec les identificateurs de propriété CR_PROP_BASECRLPUBLISHSTATUS et CR_PROP_DELTACRLPUBLISHSTATUS, respectivement.
L’exemple suivant montre les listes de révocation de certificats de publication.
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);
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Aucun pris en charge |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | certadm.h (include Certsrv.h) |
Bibliothèque | Certidl.lib |
DLL | Certadm.dll |