Partager via


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.

ImportantPublishCRL n’efface pas le cache interne lorsque la chaîne de configuration est modifiée. Lorsque vous modifiez la chaîne de configuration de l’autorité de certification, vous devez instancier un nouvel objet ICertAdmin et appeler à nouveau cette méthode avec la nouvelle chaîne de configuration.

 

[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

Voir aussi

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig