ICertAdmin ::P ublishCRL, méthode (certadm.h)
La méthode PublishCRL envoie une demande à l’autorité de certification des services de certification (CA) pour publier une nouvelle liste de révocation de certificats (CRL). Cette méthode a été introduite pour la première fois dans l’interface ICertAdmin .
Syntaxe
HRESULT PublishCRL(
[in] const BSTR strConfig,
[in] DATE Date
);
Paramètres
[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, comme 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 temps universel coordonné (heure de Greenwich). Si Date n’est pas nulle, 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 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.
Valeur retournée
VB
Si la méthode réussit, la méthode retourne S_OK.Si la méthode échoue, elle retourne une valeur HRESULT qui indique l’erreur. Pour obtenir la liste des codes d’erreur courants, consultez Valeurs HRESULT courantes.
Remarques
Les tâches d’administration utilisent DCOM. Le code qui appelle cette méthode d’interface telle que définie dans une version antérieure de Certadm.h s’exécute sur les serveurs Windows tant que le client et le serveur exécutent le même système d’exploitation Windows.
Exemples
L’exemple suivant montre la publication d’une liste de révocation de certificats.
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");
Configuration requise
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 |