Función CertFindSubjectInCTL (wincrypt.h)

La función CertFindSubjectInCTL intenta buscar el sujeto especificado en una lista de confianza de certificados (CTL). Un sujeto se puede identificar por todo el contexto del certificado o por cualquier identificador único del firmante del certificado, como el hash SHA1 del emisor y el número de serie del certificado.

Sintaxis

PCTL_ENTRY CertFindSubjectInCTL(
  [in] DWORD         dwEncodingType,
  [in] DWORD         dwSubjectType,
  [in] void          *pvSubject,
  [in] PCCTL_CONTEXT pCtlContext,
  [in] DWORD         dwFlags
);

Parámetros

[in] dwEncodingType

Especifica el tipo de codificación utilizado. Actualmente, solo se usan X509_ASN_ENCODING y PKCS_7_ASN_ENCODING; sin embargo, en el futuro se pueden agregar tipos de codificación adicionales. Para cualquier tipo de codificación actual, use:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.

[in] dwSubjectType

Especifica el tipo de sujeto que se va a buscar en el CTL. Puede ser NULL para una búsqueda predeterminada.

Valor Significado
CTL_CERT_SUBJECT_TYPE
Tipo de datos pvSubject: puntero a una estructura de CERT_CONTEXT.

El SubjectAlgorithm del CTL se examina para determinar la representación de la identidad del sujeto. Inicialmente, solo se admiten hash SHA1 y MD5 como valores para SubjectAlgorithm. La propiedad hash adecuada se obtiene de la estructura CERT_CONTEXT .

CTL_ANY_SUBJECT_TYPE
Tipo de datos pvSubject: puntero a una estructura de CTL_ANY_SUBJECT_INFO.

El miembro SubjectAlgorithm de esta estructura debe coincidir con el tipo de algoritmo del CTL y el miembro SubjectIdentifier debe coincidir con una de las entradas de CTL.

 

El hash del certificado o el miembro SubjectIdentifier de la estructura CTL_ANY_SUBJECT_INFO se usa como clave en la búsqueda de las entradas del asunto. Se realiza una comparación de memoria binaria entre la clave y el SubjectIdentifier de la entrada.

Si dwSubjectType se establece en cualquier valor anterior, dwEncodingType no se usa.

[in] pvSubject

Puntero usado junto con el parámetro dwSubjectType .

[in] pCtlContext

Puntero a la estructura CTL_CONTEXT que se busca.

[in] dwFlags

Reservado para uso futuro y debe ser cero.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es la entrada, si se encuentra.

Si la función no se realiza correctamente, el valor devuelto es NULL. Para obtener información de error extendida, llame a GetLastError. A continuación se indican algunos códigos de error posibles.

Código devuelto Descripción
CRYPT_E_NOT_FOUND
No se encontró el asunto en el CTL.
E_INVALIDARG
El parámetro dwSubjectType no se CTL_CERT_SUBJECT_TYPE ni CTL_ANY_SUBJECT_TYPE.
NTE_BAD_ALGID
El miembro SubjectAlgorithm del CTL no se asignación a SHA1 o MD5.

Comentarios

El hash del certificado o el miembro SubjectIdentifier de la estructura CTL_ANY_SUBJECT_INFO se usa como clave en la búsqueda de las entradas del asunto. Se realiza una comparación de memoria binaria entre la clave y el SubjectIdentifier de la entrada.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Crypt32.lib
Archivo DLL Crypt32.dll

Consulte también

CERT_CONTEXT

CTL_ANY_SUBJECT_INFO

CTL_CONTEXT

CertFindCTLInStore

Funciones de mantenimiento de almacén de certificados y certificados