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
CRYPT_E_NO_MATCH
No se encontraron todos los atributos y se encontraron coincidencias.
ERROR_FILE_NOT_FOUND
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

Consulte también

CertFindCertificateInStore

funciones de Administración de datos