Función CertIsRDNAttrsInCertificateName (wincrypt.h)
La función CertIsRDNAttrsInCertificateName compara los atributos del nombre del certificado con el CERT_RDN especificado para determinar si todos los atributos están incluidos allí. La comparación recorre en iteración el CERT_RDN y busca una coincidencia de atributo en cualquiera de los CERT_RDNs del nombre del certificado.
Sintaxis
BOOL CertIsRDNAttrsInCertificateName(
[in] DWORD dwCertEncodingType,
[in] DWORD dwFlags,
[in] PCERT_NAME_BLOB pCertName,
[in] PCERT_RDN pRDN
);
Parámetros
[in] dwCertEncodingType
Especifica el tipo de codificación utilizado. Siempre es aceptable especificar los tipos de codificación de certificados y mensajes mediante su combinación con una operación OR bit a bit, como se muestra en el ejemplo siguiente:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING
Los tipos de codificación definidos actualmente son:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] dwFlags
CERT_UNICODE_IS_RDN_ATTRS_FLAG debe establecerse si el pRDN se inicializó con cadenas Unicode como en CryptEncodeObject con lpszStructType establecido en X509_UNICODE_NAME.
CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG se establece para realizar una coincidencia sin distinción entre mayúsculas y minúsculas. De lo contrario, se realiza una coincidencia exacta que distingue mayúsculas de minúsculas.
[in] pCertName
Puntero a un CRYPT_INTEGER_BLOB que contiene el nombre del emisor o del firmante codificados.
[in] pRDN
Matriz de estructuras de CERT_RDN que contienen los atributos que se van a encontrar en el nombre. El CERT_RDN_ATTR miembro de la estructura CERT_RDN se comporta según las reglas siguientes.
- Si pszObjId es NULL, se omite el identificador de objeto de atributo (OID).
- Si dwValueType es CERT_RDN_ANY_TYPE, se omite el tipo de valor.
- Si el miembro pbData de Value es NULL, cualquier valor puede ser una coincidencia.
Valor devuelto
Si la función se realiza correctamente y todos los valores de RDN del CERT_RDN especificado están en el nombre del certificado, el valor devuelto es distinto de cero (TRUE).
Si se produce un error en la función o si hay valores RDN en el CERT_RDN especificado que no están en el nombre del certificado, el valor devuelto es cero (FALSE). Para obtener información de error extendida, llame a GetLastError.
En la tabla siguiente se enumeran algunos códigos de error posibles.
Código devuelto | Descripción |
---|---|
|
No se encontraron todos los atributos y se encontraron coincidencias. |
|
Tipo de codificación de certificado no válido. Actualmente solo se admiten X509_ASN_ENCODING. |
Si se produce un error en la función, GetLastError puede devolver un error de codificación y descodificación de sintaxis abstracta uno (ASN.1). Para obtener información sobre estos errores, vea Valores devueltos de codificación y descodificación de ASN.1.
Comentarios
Actualmente, solo se admite una coincidencia exacta que distingue mayúsculas de minúsculas.
Requisitos
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | wincrypt.h |
Library | Crypt32.lib |
Archivo DLL | Crypt32.dll |