Método ICertAdmin::IsValidCertificate (certadm.h)
O método IsValidCertificate verifica o certificado em relação à chave da AC (autoridade de certificação ) e verifica se o certificado não foi revogado. Esse método foi definido pela primeira vez na interface ICertAdmin .
Sintaxe
HRESULT IsValidCertificate(
[in] const BSTR strConfig,
[in] const BSTR strSerialNumber,
[out, retval] LONG *pDisposition
);
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 de Serviços de Certificados e CANAME é o nome comum da autoridade de certificação, conforme inserido durante a instalação dos Serviços de Certificados. Para obter informações sobre o nome da cadeia de caracteres de configuração, consulte ICertConfig.
[in] strSerialNumber
Especifica um número de série que identifica o certificado a ser revisado. A cadeia de caracteres deve especificar o número de série como um número par de dígitos hexadecimais. Se necessário, um zero pode ser prefixado para o número para produzir um número par de dígitos. Não é possível usar mais de um zero à esquerda.
[out, retval] pDisposition
Um ponteiro para um LONG que recebe o valor de disposição.
Retornar valor
C++
Se o método for bem-sucedido e o parâmetro pDisposition for definido como um dos valores a seguir, 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.
VB
O valor retornado especifica a disposição do certificado. Esse valor é um dos valores a seguir. (Esses valores são definidos em Certadm.h.)Código de retorno | Descrição |
---|---|
|
A chamada não foi concluída. |
|
Falha na chamada. |
|
O certificado foi revogado. |
|
O certificado ainda é válido. |
|
O certificado nunca foi emitido. |
|
O certificado está pendente. |
Comentários
Esse método determina apenas se um certificado foi emitido e não está revogado no momento; ele não marcar que a hora e a data atuais estejam dentro do período para o qual o certificado é válido (as propriedades do certificado NotBefore e NotAfter). Um aplicativo que usa esse método também é responsável por verificar a expiração do certificado.
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
BSTR bstrCA = NULL; // Machine\CAName
BSTR bstrSerial = NULL; // Contains the certificate
// serial number
long nDisp; // Contains the certificate
// disposition
HRESULT hr;
bstrCA = SysAllocString(L"<COMPUTERNAMEHERE>\\<CANAMEHERE>");
bstrSerial = SysAllocString(L"<SERIALNUMBERHERE>");
if (NULL == bstrCA || NULL == bstrSerial)
{
printf("Memory allocation failed\n");
goto error;
}
// Determine whether the certificate is valid.
// pCertAdmin is a previously instantiated ICertAdmin
// object pointer.
hr = pCertAdmin->IsValidCertificate(bstrCA, bstrSerial, &nDisp);
if (FAILED(hr))
{
printf("Failed IsValidCertificate [%x]\n", hr);
goto error;
}
// Use nDisp as needed.
// Done processing.
error:
// Free BSTR values.
if (NULL != bstrCA)
SysFreeString(bstrCA);
if (NULL != bstrSerial)
SysFreeString(bstrSerial);
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 |