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.
[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 |