Método ICertAdmin::IsValidCertificate (certadm.h)
El método IsValidCertificate comprueba el certificado con la clave de la entidad de certificación (CA) y comprueba que el certificado no se ha revocado. Este método se definió por primera vez en la interfaz ICertAdmin .
Sintaxis
HRESULT IsValidCertificate(
[in] const BSTR strConfig,
[in] const BSTR strSerialNumber,
[out, retval] LONG *pDisposition
);
Parámetros
[in] strConfig
Representa una cadena de configuración válida para la ENTIDAD de certificación con el formato COMPUTERNAME\CANAME, donde COMPUTERNAME es el nombre de red del servidor de Servicios de certificados y CANAME es el nombre común de la entidad de certificación, tal como se especifica durante la instalación de Servicios de certificados. Para obtener información sobre el nombre de la cadena de configuración, vea ICertConfig.
[in] strSerialNumber
Especifica un número de serie que identifica el certificado que se va a revisar. La cadena debe especificar el número de serie como un número par de dígitos hexadecimales. Si es necesario, se puede prefijar un cero al número para generar un número par de dígitos. No se puede usar más de un cero inicial.
[out, retval] pDisposition
Puntero a un long que recibe el valor de disposición.
Valor devuelto
C++
Si el método se ejecuta correctamente y el parámetro pDisposition se establece en uno de los valores siguientes, el método devuelve S_OK.Si se produce un error en el método, devuelve un valor HRESULT que indica el error. Para obtener una lista de códigos de error comunes, consulte Valores HRESULT comunes.
VB
El valor devuelto especifica la disposición del certificado. Este valor es uno de los siguientes valores. (Estos valores se definen en Certadm.h).Código devuelto | Descripción |
---|---|
|
No se completó la llamada. |
|
Se produjo un error en la llamada. |
|
Se ha revocado el certificado. |
|
El certificado sigue siendo válido. |
|
El certificado nunca se emitió. |
|
El certificado está pendiente. |
Comentarios
Este método determina solo si se ha emitido un certificado y no se ha revocado actualmente; no comprueba que la hora y la fecha actuales estén dentro del período durante el cual el certificado es válido (las propiedades NotBefore y NotAfter certificate). Una aplicación que usa este método también es responsable de comprobar la expiración del certificado.
Las tareas de administración usan DCOM. El código que llama a este método de interfaz tal como se define en una versión anterior de Certadm.h se ejecutará en servidores basados en Windows siempre que el cliente y el servidor ejecuten el mismo sistema operativo Windows.
Ejemplos
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 | Value |
---|---|
Cliente mínimo compatible | No se admite ninguno |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | certadm.h (incluya Certsrv.h) |
Library | Certidl.lib |
Archivo DLL | Certadm.dll |