Condividi tramite


Metodo ICertAdmin::P ublishCRL (certadm.h)

Il metodo PublishCRL invia una richiesta all'autorità di certificazione di Servizi certificati (CA) per pubblicare un nuovo elenco di revoche di certificati (CRL). Questo metodo è stato introdotto per la prima volta nell'interfaccia ICertAdmin .

Sintassi

HRESULT PublishCRL(
  [in] const BSTR strConfig,
  [in] DATE       Date
);

Parametri

[in] strConfig

Rappresenta una stringa di configurazione valida per la CA nel formato COMPUTERNAME\CANAME, dove COMPUTERNAME è il nome di rete del server Servizi certificati e CANAME è il nome comune dell'autorità di certificazione, come immesso durante l'installazione di Servizi certificati. Per informazioni sul nome della stringa di configurazione, vedere ICertConfig.

ImportantePublishCRL non cancella la cache interna quando viene modificata la stringa di configurazione. Quando si modifica la stringa di configurazione per la CA, è necessario creare un'istanza di un nuovo oggetto ICertAdmin e chiamare di nuovo questo metodo con la nuova stringa di configurazione.

 

[in] Date

Specifica il valore di aggiornamento successivo della CRL in Coordinated Universal Time (Greenwich Mean Time). Se Date è diverso da zero, il valore di aggiornamento successivo per la CRL è Date, soggetto a arrotondamento o limiti di soffitto applicati dai servizi certificati. Se Date è zero, il valore di aggiornamento successivo del CRL viene calcolato dal periodo di pubblicazione CRL predefinito.

Valore restituito

VB

Se il metodo ha esito positivo, il metodo restituisce S_OK.

Se il metodo ha esito negativo, restituisce un valore HRESULT che indica l'errore. Per un elenco di codici di errore comuni, vedere Valori HRESULT comuni.

Commenti

Le attività di amministrazione usano DCOM. Il codice che chiama questo metodo di interfaccia come definito in una versione precedente di Certadm.h verrà eseguito nei server basati su Windows purché il client e il server eseguano entrambi lo stesso sistema operativo Windows.

Esempio

Nell'esempio seguente viene illustrata la pubblicazione di un CRL.

    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");

Requisiti

Requisito Valore
Client minimo supportato Nessuno supportato
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione certadm.h (include Certsrv.h)
Libreria Certidl.lib
DLL Certadm.dll

Vedi anche

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig