Compartilhar via


Método ICertAdmin::P ublishCRL (certadm.h)

O método PublishCRL envia uma solicitação à AC (autoridade de certificação ) dos Serviços de Certificados para publicar uma nova CRL ( lista de certificados revogados ). Esse método foi introduzido pela primeira vez na interface ICertAdmin .

Sintaxe

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

Parâmetros

[in] strConfig

Representa uma cadeia de caracteres de configuração válida para a AC no formato COMPUTERNAME\CANAME, em que COMPUTERNAME é o nome de rede do servidor dos Serviços de Certificados e CANAME é o nome comum da autoridade de certificação, conforme inserido durante a instalação dos Serviços de Certificado. Para obter informações sobre o nome da cadeia de caracteres de configuração, consulte ICertConfig.

PublishCRL importante não limpa o cache interno quando a cadeia de caracteres de configuração é alterada. Ao alterar a cadeia de caracteres de configuração para a AC, você deve instanciar um novo objeto ICertAdmin e chamar esse método novamente com a nova cadeia de caracteres de configuração.

 

[in] Date

Especifica o próximo valor de atualização da CRL em Tempo Universal Coordenado (Hora Média de Greenwich). Se Date não for zero, o próximo valor de atualização para a CRL será Date, sujeito a limites de arredondamento ou de teto impostos pelos Serviços de Certificados. Se Date for zero, o próximo valor de atualização da CRL será calculado a partir do período de publicação de CRL padrão.

Retornar valor

VB

Se o método for bem-sucedido, o método retornará S_OK.

Se o método falhar, ele retornará um valor HRESULT que indica o erro. Para obter uma lista de códigos de erro comuns, consulte Valores HRESULT comuns.

Comentários

As tarefas de administração usam o DCOM. O código que chama esse método de interface conforme definido em uma versão anterior do Certadm.h será executado em servidores baseados no Windows, desde que o cliente e o servidor estejam executando o mesmo sistema operacional Windows.

Exemplos

O exemplo a seguir mostra a publicação de uma 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");

Requisitos

Requisito Valor
Cliente mínimo com suporte Nenhum compatível
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho certadm.h (inclua Certsrv.h)
Biblioteca Certidl.lib
DLL Certadm.dll

Confira também

CCertAdmin

ICertAdmin

ICertAdmin2

ICertConfig