Estructuras de criptografía
Las funciones criptográficas usan las siguientes estructuras. Las estructuras criptográficas se clasifican según el uso de la siguiente manera:
- Estructuras CryptXML
- Estructuras criptográficas generales
- Estructuras de certificados comunes
- Estructuras de extensión de certificado X.509
- Estructuras de mensajes
- Estructuras de compatibilidad de OID
- Estructuras de cadena de certificados
- Estructuras de CSP
- Estructuras winTrust
- Estructuras SIP
Estructuras CryptXML
Las funciones CryptXML usan las siguientes estructuras.
Estructura | Descripción |
---|---|
CRYPT_XML_ALGORITHM | Especifica el algoritmo usado para firmar o transformar el mensaje. |
CRYPT_XML_ALGORITHM_INFO | Contiene información de algoritmo. |
CRYPT_XML_BLOB | Contiene una matriz arbitraria de bytes. |
CRYPT_XML_CRYPTOGRAPHIC_INTERFACE | Se pasa al puntero de función CryptXmlDllGetInterface para exponer las funciones CryptXML implementadas. |
CRYPT_XML_DATA_BLOB | Contiene datos codificados XML. |
CRYPT_XML_DATA_PROVIDER | Especifica la interfaz para el proveedor de datos XML. |
CRYPT_XML_DOC_CTXT | Define la información de contexto del documento. |
CRYPT_XML_ISSUER_SERIAL | Contiene un par de números de serie distintivos X.509 emitidos. |
CRYPT_XML_KEY_DSA_KEY_VALUE | Define un valor de clave de algoritmo de firma digital (DSA). La estructura CRYPT_XML_KEY_DSA_KEY_VALUE se usa como un elemento de la unión de valores de clave en la estructura CRYPT_XML_KEY_VALUE . |
CRYPT_XML_KEY_ECDSA_KEY_VALUE | Define un valor de clave del algoritmo de firma digital de curva elíptica (ECDSA). La estructura CRYPT_XML_KEY_ECDSA_KEY_VALUE se usa como un elemento de la unión de valores de clave en la estructura CRYPT_XML_KEY_VALUE . |
CRYPT_XML_KEY_INFO | Encapsula los datos de información clave. |
CRYPT_XML_KEY_INFO_ITEM | Encapsula los datos de información clave que corresponden a un elemento KeyInfo . El elemento KeyInfo permite al destinatario obtener la clave necesaria para validar la firma. |
CRYPT_XML_KEY_RSA_KEY_VALUE | Define un valor de clave RSA. La estructura CRYPT_XML_KEY_RSA_KEY_VALUE se usa como elemento de la unión de valores de clave en la estructura CRYPT_XML_KEY_VALUE . |
CRYPT_XML_KEY_VALUE | Contiene una sola clave pública que puede ser útil para validar la firma. |
CRYPT_XML_KEYINFO_PARAM | La función CryptXmlSign la usa para especificar los miembros del elemento KeyInfo que se van a codificar. |
CRYPT_XML_OBJECT | Describe un elemento Object en la firma. |
CRYPT_XML_PROPERTY | Contiene información sobre una propiedad CryptXML. |
CRYPT_XML_REFERENCE | Contiene información utilizada para rellenar el elemento Reference . |
CRYPT_XML_REFERENCES | Define una matriz de estructuras de CRYPT_XML_REFERENCE . |
CRYPT_XML_SIGNATURE | Contiene información utilizada para rellenar el elemento Signature . |
CRYPT_XML_SIGNED_INFO | Devuelve información sobre el estado de validación de la firma, la información de estado de resumen sobre un elemento SignedInfo o información de estado de resumen sobre una matriz de elementos Reference . |
CRYPT_XML_TRANSFORM_CHAIN_CONFIG | Define las transformaciones definidas por la aplicación que se permiten para su uso en la firma digital XML. |
CRYPT_XML_TRANSFORM_INFO | Contiene información que se usa al aplicar la transformación de datos. |
CRYPT_XML_X509DATA | Representa la secuencia de opciones del elemento X509Data . |
CRYPT_XML_X509DATA_ITEM | Representa los datos X.509 que se van a codificar en un elemento con nombre X509Data. |
Estructuras criptográficas generales
Las funciones de criptografía base usan las siguientes estructuras.
Estructura | Descripción |
---|---|
CMS_DH_KEY_INFO | Se usa con el parámetro KP_CMS_DH_KEY_INFO de la función CryptSetKeyParam para contener información de clave Diffie-Hellman . |
CMS_KEY_INFO | Esta estructura no se usa. |
CRYPT_AES_128_KEY_STATE | Especifica la información de clave simétrica de 128 bits para un cifrado estándar de cifrado avanzado (AES). |
CRYPT_AES_256_KEY_STATE | Especifica la información de clave simétrica de 256 bits para un cifrado AES. |
CRYPT_ALGORITHM_IDENTIFIER | Contiene el identificador de objeto (OID) del algoritmo y los parámetros necesarios para ese algoritmo. |
CRYPT_ATTRIBUTE | Especifica un atributo que tiene uno o varios valores. |
CRYPT_ATTRIBUTE_TYPE_VALUE | Contiene un único valor de atributo. |
CRYPT_ATTRIBUTES | Contiene una matriz de atributos. |
CRYPT_BIT_BLOB | Contiene una matriz de bytes. |
CRYPT_BLOB_ARRAY | Contiene una matriz de estructuras de CRYPT_DATA_BLOB . |
CRYPT_CONTENT_INFO | Contiene datos codificados en el formato de datos PKCS #7 ContentInfo. |
CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY | Contiene información que representa la secuencia de certificados de Netscape. |
CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA | Se usa con la función CryptInstallDefaultContext para contener una matriz de cadenas de identificador de objeto. |
CRYPT_ECC_CMS_SHARED_INFO | Representa información de clave de cifrado de claves al usar criptografía de curva elíptica (ECC) en el tipo de contenido EnvelopedData de sintaxis de mensajes criptográficos (CMS). |
CRYPT_ENCRYPTED_PRIVATE_KEY_INFO | Contiene la información de una clave privada PKCS #8 cifrada. |
CRYPT_ENROLLMENT_NAME_VALUE_PAIR | Esta estructura se usa para crear solicitudes de certificado en nombre de un usuario. |
CRYPT_INTEGER_BLOB | Contiene los datos de varios tipos de objetos binarios grandes bajo los nombres adecuados para el tipo. |
CRYPT_KEY_LIMITS | Admite la función CryptGetLocalKeyLimits no implementada y no se usa. Se quitará en una versión futura de Wincrypt.h. |
CRYPT_KEY_PROV_INFO | Contiene campos que se pasan como argumentos a CryptAcquireContext para adquirir un identificador para un contenedor de claves determinado dentro de un proveedor de servicios criptográficos (CSP) determinado o para crear o destruir un contenedor de claves. |
CRYPT_KEY_PROV_PARAM | Contiene datos que se van a pasar como argumentos a CryptSetProvParam. |
CRYPT_KEY_SIGN_MESSAGE_PARA | Contiene información sobre el CSP y los algoritmos usados para firmar un mensaje. |
CRYPT_KEY_VERIFY_MESSAGE_PARA | Contiene información necesaria para comprobar los mensajes firmados sin un certificado para el firmante. |
CRYPT_MASK_GEN_ALGORITHM | Identifica el algoritmo utilizado para generar una máscara de firma RSA PKCS #1 v2.1. |
CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE | Contiene punteros a funciones implementadas por un proveedor de ubicación de objetos. |
CRYPT_PKCS8_EXPORT_PARAMS | Contiene información que identifica una clave privada y un puntero a una función de devolución de llamada. |
CRYPT_PKCS8_IMPORT_PARAMS | Contiene una clave privada PKCS #8 y dos punteros para las funciones de devolución de llamada. |
CRYPT_PKCS12_PBE_PARAMS | Contiene parámetros usados para crear una clave de cifrado, un vector de inicialización (IV) o una clave de código de autenticación de mensajes (MAC) para un algoritmo de cifrado basado en contraseña PKCS #12 . |
CRYPT_PRIVATE_KEY_INFO | Contiene la información de una clave privada PKCS #8. |
CRYPT_PSOURCE_ALGORITHM | Identifica el algoritmo y (opcionalmente) el valor de la etiqueta para un cifrado de clave RSAES-OAEP. |
CRYPT_RETRIEVE_AUX_INFO | Contiene información de sincronización de hora opcional para pasar a la función CryptRetrieveObjectByUrl . |
CRYPT_RSA_SSA_PSS_PARAMETERS | Contiene los parámetros de una firma RSA PKCS #1 v2.1. |
CRYPT_RSAES_OAEP_PARAMETERS | Contiene los parámetros de un cifrado de clave RSAES-OAEP. |
CRYPT_SEQUENCE_OF_ANY | Contiene una lista arbitraria de blobs codificados. |
CRYPT_SMART_CARD_ROOT_INFO | Contiene las tarjetas inteligentes y los identificadores de sesión asociados a un contexto de certificado. |
CRYPT_TIME_STAMP_REQUEST_INFO | Esta estructura se usa para la marca de tiempo. |
CRYPT_URL_INFO | Contiene información sobre las agrupaciones de direcciones URL. |
CRYPT_X942_OTHER_INFO | Contiene información adicional de generación de claves. |
CRYPTNET_URL_CACHE_FLUSH_INFO | Contiene información de expiración utilizada por el servicio Cryptnet URL Cache (CUC) para mantener una entrada de caché de direcciones URL. |
CRYPTNET_URL_CACHE_PRE_FETCH_INFO | Contiene información de actualización utilizada por el servicio Cryptnet URL Cache (CUC) para mantener una entrada de caché de direcciones URL. |
CRYPTNET_URL_CACHE_RESPONSE_INFO | Contiene información de respuesta utilizada por el servicio Cryptnet URL Cache (CUC) para mantener una entrada de caché de direcciones URL. |
CRYPT_INTEGER_BLOB | Esta estructura se usa para una matriz arbitraria de bytes. |
CRYPTPROTECT_PROMPTSTRUCT | Proporciona el texto de un mensaje e información sobre cuándo y dónde se mostrará ese mensaje al usar las funciones CryptProtectData y CryptUnprotectData . |
CRYPTUI_INITDIALOG_STRUCT | Admite la estructura CRYPTUI_VIEWCERTIFICATE_STRUCT . |
CRYPTUI_SELECTCERTIFICATE_STRUCT | Contiene información sobre el cuadro de diálogo que muestra la función CryptUIDlgSelectCertificate . |
CRYPTUI_VIEWCERTIFICATE_STRUCT | Contiene información sobre un certificado que se va a ver. Se usa en la función CryptUIDlgViewCertificate . |
CRYPTUI_VIEWSIGNERINFO_STRUCT | Contiene información para la función CryptUIDlgViewSignerInfo . |
CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO | Contiene información que controla el funcionamiento de la función CryptUIWizExport cuando un certificado es el objeto que se exporta. |
CRYPTUI_WIZ_EXPORT_INFO | Contiene información que controla el funcionamiento de la función CryptUIWizExport . |
CRYPTUI_WIZ_IMPORT_SRC_INFO | Contiene el asunto para importar en la función CryptUIWizImport . |
DHPRIVKEY_VER3 | Contiene información específica de la clave privada determinada contenida en el BLOB de clave. |
DHPUBKEY | Contiene información específica del Diffie-Hellman clave pública determinada contenida en el BLOB de clave. |
DHPUBKEY_VER3 | Contiene información específica de la clave pública determinada contenida en el BLOB de clave. |
Blobs de clave privada diffie-Hellman, versión 3 | Se usa para exportar e importar información sobre una clave privada DH. |
Blobs de clave pública diffie-Hellman, versión 3 | Se usa para exportar e importar información sobre una clave pública DH. |
BLOBS de clave privada de DSS versión 3 | Se usa para exportar e importar información sobre una clave privada DH. |
Blobs de clave pública de DSS versión 3 | Se usa para exportar e importar información sobre una clave pública DH. |
DSSPRIVKEY_VER3 | Contiene información específica de la clave privada determinada contenida en el BLOB de clave. |
DSSPUBKEY | Contiene información específica de la clave pública determinada contenida en el BLOB de clave. |
DSSPUBKEY_VER3 | Contiene información específica de la clave pública determinada contenida en el BLOB de clave. |
DSSSEED | Contiene los valores de inicialización y contador que se pueden usar para comprobar los primos de la clave pública de DSS. |
HMAC_INFO | Especifica el algoritmo hash y las cadenas internas y externas que se usarán para calcular el hash del código de autenticación de mensajes basado en hash (HMAC). |
KEYSVC_BLOB | Define un BLOB de servicio de claves. |
KEYSVC_UNICODE_STRING | Define una cadena Unicode del servicio de claves. |
OCSP_BASIC_RESPONSE_ENTRY | Contiene el estado actual del certificado para un único certificado. |
OCSP_BASIC_RESPONSE_INFO | Contiene una respuesta OCSP básica especificada por RFC 2560. |
OCSP_BASIC_REVOKED_INFO | Contiene el motivo por el que se revoca un certificado. |
OCSP_BASIC_SIGNED_RESPONSE_INFO | Contiene una respuesta OCSP básica con una firma. |
OCSP_CERT_ID | Contiene información para identificar un certificado en una solicitud o respuesta OCSP. |
OCSP_REQUEST_ENTRY | Contiene información sobre un único certificado en una solicitud OCSP. |
OCSP_REQUEST_INFO | Contiene información para una solicitud OCSP según lo especificado por RFC 2560. |
OCSP_RESPONSE_INFO | Indica el éxito o error de la solicitud OCSP correspondiente. Para las solicitudes correctas, contiene el tipo y el valor de la información de respuesta. |
OCSP_SIGNATURE_INFO | Contiene una firma para una solicitud o respuesta OCSP. |
OCSP_SIGNED_REQUEST_INFO | Contiene información para una solicitud OCSP con información de firma opcional. |
PROV_ENUMALGS | Devuelto por llamadas a CryptGetProvParam o CPGetProvParam. |
PROV_ENUMALGS_EX | Devuelto por llamadas a CryptGetProvParam o CPGetProvParam. |
PUBLICKEYSTRUC | Indica el tipo BLOB de una clave y el algoritmo que usa la clave. |
ROOT_INFO_LUID | Contiene un identificador único local (LUID) para la información raíz de tarjeta inteligente criptográfica. |
RSAPUBKEY | Contiene información específica de la clave pública determinada contenida en el BLOB de clave. |
SCHANNEL_ALG | Contiene información de tamaño de clave y algoritmo. |
SIGNER_ATTR_AUTHCODE | Especifica los atributos de una firma Authenticode . |
SIGNER_BLOB_INFO | Especifica un BLOB que se va a firmar. |
SIGNER_CERT | Especifica un certificado usado para firmar un documento. El certificado se puede almacenar en un archivo de certificado de publicador de software (SPC) o en un almacén de certificados. |
SIGNER_CERT_STORE_INFO | Especifica el almacén de certificados usado para firmar un documento. |
SIGNER_CONTEXT | Contiene un BLOB firmado. |
SIGNER_FILE_INFO | Especifica un archivo que se va a firmar. |
SIGNER_PROVIDER_INFO | Especifica la información de CSP y clave privada que se usa para crear una firma digital. |
SIGNER_SIGNATURE_INFO | Contiene información sobre una firma digital. |
SIGNER_SPC_CHAIN_INFO | Especifica un certificado de publicador de software (SPC) y una cadena de certificados que se usan para firmar un documento. |
SIGNER_SUBJECT_INFO | Especifica un asunto para firmar. |
Estructuras de certificados comunes
Muchas de las funciones de certificado usan las siguientes estructuras.
Estructura | Descripción |
---|---|
CERT_BIOMETRIC_DATA | Contiene información sobre los datos biométricos. |
CERT_BIOMETRIC_EXT_INFO | Contiene un conjunto de información biométrica. |
CERT_CONTEXT | Contiene las representaciones codificadas y descodificadas de un certificado. |
CERT_CRL_CONTEXT_PAIR | Contiene un contexto de certificado y un contexto de CRL asociado. |
CERT_DH_PARAMETERS | Contiene parámetros asociados a un algoritmo de clave pública Diffie-Hellman . |
CERT_DSS_PARAMETERS | Contiene parámetros asociados a un algoritmo de clave pública de DSS. |
CERT_ECC_SIGNATURE | Contiene los valores r y s de una firma de algoritmo de firma digital de curva elíptica (ECDSA). |
CERT_EXTENSION | Contiene la información de extensión de un certificado, una lista de revocación de certificados (CRL) o una lista de confianza de certificados (CTL). |
CERT_EXTENSIONS | Contiene una matriz de extensiones. |
CERT_GENERAL_SUBTREE | Se usa en CERT_NAME_CONSTRAINTS_INFO estructura, esta estructura proporciona la identidad de un certificado que se puede incluir o excluir. |
CERT_HASHED_URL | Contiene una dirección URL con hash. |
CERT_ID | Se usa como medio flexible para identificar de forma única un certificado. |
CERT_INFO | Contiene la información de un certificado. |
CERT_KEY_CONTEXT | Contiene datos para el miembro pvData de un miembro Value de CERT_EXTENSION estructura asociada a una propiedad CERT_KEY_CONTEXT_PROP_ID. |
CERT_KEYGEN_REQUEST_INFO | Contiene información almacenada en la solicitud de Netscape Keygen. |
CERT_LDAP_STORE_OPENED_PARA | Se usa con la función CertOpenStore cuando se especifica el proveedor de CERT_STORE_PROV_LDAP mediante la marca CERT_LDAP_STORE_OPENED_FLAG para especificar la sesión LDAP existente que se usará para realizar la consulta, así como la cadena de consulta LDAP. |
CERT_LOGOTYPE_AUDIO | Contiene información sobre un logotipo de audio. |
CERT_LOGOTYPE_AUDIO_INFO | Contiene información más detallada sobre un logotipo de audio. |
CERT_LOGOTYPE_DATA | Contiene datos de tipo de logotipo. |
CERT_LOGOTYPE_DETAILS | Contiene información adicional sobre un logotipo. |
CERT_LOGOTYPE_EXT_INFO | Contiene un conjunto de información de tipo de logotipo. |
CERT_LOGOTYPE_IMAGE | Contiene información sobre un logotipo de imagen. |
CERT_LOGOTYPE_IMAGE_INFO | Contiene información más detallada sobre un logotipo de imagen. |
CERT_LOGOTYPE_INFO | Contiene información sobre los datos logotype. |
CERT_LOGOTYPE_REFERENCE | Contiene información de referencia del tipo de logotipo. |
CERT_NAME_CONSTRAINTS_INFO | Contiene información sobre los certificados que se permiten o excluyen específicamente de la confianza. |
CERT_NAME_INFO | Contiene nombres de asunto o emisor. La información se representa como una matriz de estructuras de CERT_RDN . |
CERT_NAME_VALUE | Contiene un valor de atributo de nombre distintivo relativo (RDN). |
CERT_OTHER_LOGOTYPE_INFO | Contiene información sobre los tipos de logotipo que no están predefinidos. |
CERT_PAIR | Contiene un certificado y su par entre certificados. |
CERT_PHYSICAL_STORE_INFO | Contiene información sobre los almacenes de certificados físicos. |
CERT_POLICY_CONSTRAINTS_INFO | Contiene directivas establecidas para aceptar certificados como de confianza. |
CERT_POLICY_MAPPING | Contiene una asignación entre los identificadores de dominio del emisor y los identificadores de dominio del firmante. |
CERT_POLICY_MAPPINGS_INFO | Proporciona asignación entre los identificadores de identificadores de directiva de dos dominios. |
CERT_PUBLIC_KEY_INFO | Contiene una clave pública y su algoritmo. |
CERT_QC_STATEMENT | Representa una sola instrucción en una secuencia de una o varias instrucciones para su inclusión en una extensión de instrucciones de certificado calificado (QC). |
CERT_QC_STATEMENTS_EXT_INFO | Contiene una secuencia de una o varias instrucciones que componen la extensión de instrucciones De certificado calificado (QC) para un QC. |
CERT_RDN | Contiene un nombre distintivo relativo (RDN) que consta de una matriz de estructuras de CERT_RDN_ATTR . |
CERT_RDN_ATTR | Contiene un único atributo de un nombre distintivo relativo (RDN). |
CERT_REQUEST_INFO | Contiene información para una solicitud de certificado. |
CERT_REVOCATION_CRL_INFO | Contiene información actualizada por un controlador de tipos de revocación de CRL. |
CERT_REVOCATION_PARA | Esta estructura se puede pasar opcionalmente a CertVerifyRevocation para ayudar a encontrar el emisor del contexto que se va a comprobar. |
CERT_REVOCATION_STATUS | Contiene información sobre el estado de revocación del certificado. |
CERT_SELECT_STRUCT | Contiene criterios sobre los que seleccionar los certificados que se presentan en un cuadro de diálogo de selección de certificados. Esta estructura se usa en la función CertSelectCertificate . |
CERT_SIGNED_CONTENT_INFO | Contiene contenido codificado que se va a firmar y un BLOB que contiene la firma. |
CERT_STORE_PROV_FIND_INFO | Muchas de las funciones de devolución de llamada del proveedor de almacén usan esta estructura. |
CERT_STORE_PROV_INFO | Contiene información devuelta por el CertDllOpenStoreProv instalado cuando se abre un almacén con CertOpenStore. |
CERT_STRONG_SIGN_PARA | Contiene parámetros que se usan para comprobar las firmas seguras en certificados, CRL, repositorios OCSP y mensajes PKCS #7. |
CERT_STRONG_SIGN_SERIALIZED_INFO | Contiene elalgoritmo hash del algoritmo/ de firma y los pares delongitud de bits del algoritmo / de clave públicaque se pueden usar para la firma segura. |
CERT_SUBJECT_INFO_ACCESS | Se trata de un sinónimo de la estructura de CERT_AUTHORITY_INFO_ACCESS . |
CERT_SYSTEM_STORE_INFO | Contiene información utilizada por funciones que funcionan con almacenes del sistema. |
CERT_SYSTEM_STORE_RELOCATE_PARA | Contiene los datos que se van a pasar a CertOpenStore cuando el parámetro dwFlags de esa función se establece en CERT_SYSTEM_STORE_RELOCATE_FLAG. |
CERT_TEMPLATE_EXT | Esta estructura es una plantilla de certificado. |
CERT_X942_DH_PARAMETERS | Contiene parámetros asociados a un algoritmo de clave pública Diffie-Hellman. |
CERT_X942_DH_VALIDATION_PARAMS | Opcionalmente, esta estructura está apuntada por un miembro de la estructura de CERT_X942_DH_PARAMETERS y contiene información adicional de inicialización. |
CMC_ADD_ATTRIBUTES_INFO | Contiene atributos de certificado que se van a agregar a un certificado. |
CMC_ADD_EXTENSIONS_INFO | Contiene atributos de control de extensión de certificado que se van a agregar a un certificado. |
CMC_DATA_INFO | Esta estructura proporciona un medio para comunicar diferentes fragmentos de información etiquetada. |
CMC_PEND_INFO | Esta estructura es un posible miembro de una estructura CMC_STATUS_INFO . |
CMC_RESPONSE_INFO | Esta estructura proporciona un medio para comunicar diferentes fragmentos de información etiquetada. |
CMC_STATUS_INFO | Contiene información de estado sobre los mensajes de administración de certificados a través de CMS. |
CMC_TAGGED_ATTRIBUTE | Esta estructura se usa en las estructuras CMC_DATA_INFO y CMC_RESPONSE_INFO . |
CMC_TAGGED_CERT_REQUEST | Esta estructura se usa en la estructura CMC_TAGGED_REQUEST . |
CMC_TAGGED_CONTENT_INFO | Esta estructura se usa en las estructuras CMC_DATA_INFO y CMC_RESPONSE_INFO . |
CMC_TAGGED_OTHER_MSG | Esta estructura se usa en las estructuras CMC_DATA_INFO y CMC_RESPONSE_INFO . |
CMC_TAGGED_REQUEST | Esta estructura se usa en las estructuras de CMC_DATA_INFO para solicitar un certificado. |
CRL_CONTEXT | Contiene las representaciones codificadas y descodificadas de una CRL. |
CRL_ENTRY | Contiene información sobre un único certificado revocado. Es miembro de una estructura CRL_INFO . |
CRL_INFO | Contiene la información de una lista de revocación de certificados (CRL). |
CRL_ISSUING_DIST_POINT | Contiene información sobre los tipos de certificados enumerados en una CRL. |
CROSS_CERT_DIST_POINTS_INFO | Esta estructura proporciona información utilizada para actualizar certificados cruzados dinámicos. |
CTL_ANY_SUBJECT_INFO | Contiene un SubjectAlgorithm para que coincida con el CTL y subjectIdentifier que se va a buscar en una de las entradas de CTL en las llamadas a CertFindSubjectInCTL. |
CTL_CONTEXT | Contiene las representaciones codificadas y descodificadas de un CTL. |
CTL_ENTRY | Esta estructura es un elemento de una lista de confianza de certificados (CTL). |
CTL_FIND_SUBJECT_PARA | Contiene datos usados por CertFindCTLInStore con un dwFindType de CTL_FIND_SUBJECT para buscar una lista de confianza de certificados (CTL). |
CTL_FIND_USAGE_PARA | Esta estructura es un miembro de la estructura CTL_FIND_SUBJECT_PARA y la usa CertFindCTLInStore. |
CTL_INFO | Contiene la información almacenada en una lista de confianza de certificados (CTL). |
CTL_MODIFY_REQUEST | Contiene una solicitud para modificar una lista de confianza de certificados. Esta estructura se usa en la función CertModifyCertificatesToTrust . |
CTL_USAGE | Contiene una matriz de identificadores de objeto (OID) para las extensiones de lista de confianza de certificados (CTL). |
CTL_VERIFY_USAGE_PARA | Contiene parámetros usados por CertVerifyCTLUsage para establecer la validez del uso de un CTL. |
CTL_VERIFY_USAGE_STATUS | Contiene información sobre una lista de confianza de certificados (CTL) devuelta por CertVerifyCTLUsage. |
Estructuras de extensión de certificado X.509
Las estructuras siguientes están asociadas a estructuras X.509 CERT_EXTENSION .
Estructura | Descripción |
---|---|
CERT_ACCESS_DESCRIPTION | Esta estructura es un miembro de una estructura CERT_AUTHORITY_INFO_ACCESS . |
CERT_ALT_NAME_ENTRY | Contiene un nombre alternativo en una de las diversas formas de nombre. |
CERT_ALT_NAME_INFO | Se usa en extensiones de codificación y descodificación para certificados de firmante o emisor, lista de revocación de certificados (CRL) y lista de confianza de certificados (CTL). |
CERT_AUTHORITY_INFO_ACCESS | Representa el acceso a la información de autoridad y las extensiones de certificado de acceso a la información del sujeto y especifica cómo obtener acceso a información y servicios adicionales para el sujeto o el emisor de ese certificado. |
CERT_AUTHORITY_KEY_ID_INFO | Identifica la clave usada para firmar un certificado o CRL. |
CERT_AUTHORITY_KEY_ID2_INFO | Identifica la clave usada para firmar un certificado o CRL. Difiere de la estructura CERT_AUTHORITY_KEY_ID_INFO en que el emisor de certificados es un CERT_ALT_NAME_INFO en lugar de un CERT_NAME_BLOB. |
CERT_BASIC_CONSTRAINTS_INFO | Contiene información que indica si el sujeto certificado puede actuar como una ENTIDAD de certificación, una entidad final o ambos. |
CERT_BASIC_CONSTRAINTS2_INFO | Contiene información que indica si el sujeto certificado puede actuar como una entidad de certificación o una entidad final. |
CERT_KEY_ATTRIBUTES_INFO | Contiene información adicional opcional sobre la clave pública que se está certificando. |
CERT_KEY_USAGE_RESTRICTION_INFO | Contiene restricciones impuestas al uso de la clave pública de un certificado. |
CERT_POLICIES_INFO | Contiene una matriz de CERT_POLICY_INFO. |
CERT_POLICY_ID | Contiene una lista de directivas de certificado que el certificado admite expresamente, junto con información de calificador opcional relativa a estas directivas. |
CERT_POLICY_INFO | Contiene un identificador de objeto (OID) que especifica una directiva y una matriz opcional de calificadores de directiva. |
CERT_POLICY_QUALIFIER_INFO | Contiene un identificador de objeto (OID) que especifica el calificador y la información complementaria específica del calificador. |
CERT_PRIVATE_KEY_VALIDITY | Indica un intervalo de tiempo válido para la clave privada correspondiente a la clave pública de un certificado. |
CRL_DIST_POINT | Identifica un único punto de distribución CRL al que un usuario de certificado puede hacer referencia para determinar si se han revocado los certificados. |
CRL_DIST_POINT_NAME | Identifica una ubicación desde la que se puede obtener la CRL. |
CRL_DIST_POINTS_INFO | Contiene una lista de puntos de distribución CRL a los que un usuario de certificado puede hacer referencia para determinar si se ha revocado el certificado. |
Estas estructuras se pueden codificar en el miembro Value de una estructura de CERT_EXTENSION mediante las funciones CryptEncodeObject y CryptEncodeObjectEx . Se crean y devuelven mediante las funciones CryptDecodeObject y CryptDecodeObjectEx cuando se descodifica el miembro Value de una estructura de CERT_EXTENSION .
La estructura codificada o creada depende del miembro de cadena pszObjId de la estructura CERT_EXTENSION .
En la tabla siguiente se muestran las constantes y los identificadores de identificadores predefinidos de extensión actuales junto con la estructura asociada a cada una de ellas.
Nota:
La constante predefinida (columna 1) y su OID correspondiente (columna 2) se pueden usar indistintamente.
Constante predefinida | Identificador de objeto (OID) | Estructura de los datos |
---|---|---|
X509_AUTHORITY_INFO_ACCESS | szOID_AUTHORITY_INFO_ACCESS | CERT_AUTHORITY_INFO_ACCESS |
X509_AUTHORITY_KEY_ID | szOID_AUTHORITY_KEY_IDENTIFIER | CERT_AUTHORITY_KEY_ID_INFO |
X509_ALTERNATE_NAME | szOID_SUBJECT_ALT_NAME – o – szOID_ISSUER_ALT_NAME |
CERT_ALT_NAME_INFO |
X509_BASIC_CONSTRAINTS | szOID_BASIC_CONSTRAINTS | CERT_BASIC_CONSTRAINTS_INFO |
X509_BASIC_CONSTRAINTS2 | szOID_BASIC_CONSTRAINTS2 | CERT_BASIC_CONSTRAINTS2_INFO |
X509_CERT_POLICIES | szOID_CERT_POLICIES | CERT_POLICIES_INFO |
X509_KEY_ATTRIBUTES | szOID_KEY_ATTRIBUTES | CERT_KEY_ATTRIBUTES_INFO |
X509_KEY_USAGE | szOID_KEY_USAGE | CRYPT_BIT_BLOB |
X509_KEY_USAGE_RESTRICTION | szOID_KEY_USAGE_RESTRICTION | CERT_KEY_USAGE_RESTRICTION_INFO |
Ninguno | szOID_POLICY_MAPPINGS | No implementado |
Ninguno | szOID_SUBJECT_DIR_ATTRS | No implementado |
Estructuras de mensajes
Las funciones de mensajes criptográficos usan las siguientes estructuras.
Estructura | Descripción |
---|---|
CMSG_CMS_RECIPIENT_INFO | Esta estructura se usa con la función CryptMsgGetParam para obtener información sobre un transporte de claves, un contrato de clave o un destinatario del mensaje de sobre de lista de correo. |
CMSG_CMS_SIGNER_INFO | Esta estructura contiene el contenido de signerInfo definido en mensajes firmados o firmados y sobres. |
CMSG_CNG_CONTENT_DECRYPT_INFO | Contiene toda la información pertinente que se pasa entre las funciones instalables CryptMsgControl y OID para la importación y descifrado de una API de criptografía: clave de cifrado de contenido de próxima generación (CNG). |
CMSG_CONTENT_ENCRYPT_INFO | Contiene información compartida entre las funciones instalables de PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY, PFN_CMSG_EXPORT_KEY_TRANS, PFN_CMSG_EXPORT_KEY_AGREE y PFN_CMSG_EXPORT_MAIL_LISTidentificador de objeto (OID) usadas para el cifrado y exportación de una clave de cifrado de contenido. |
CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA | Esta estructura se usa para agregar un atributo no autenticado a un firmante de un mensaje firmado. |
CMSG_CTRL_DECRYPT_PARA | Esta estructura contiene información utilizada para descifrar un mensaje sobre para un destinatario de transporte de claves. Esta estructura se pasa a CryptMsgControl si el parámetro dwCtrlType es CMSG_CTRL_DECRYPT. |
CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA | Esta estructura se usa para eliminar un atributo no autenticado de un firmante de un mensaje firmado. |
CMSG_CTRL_KEY_AGREE_DECRYPT_PARA | Esta estructura contiene información sobre un destinatario del contrato de clave. |
CMSG_CTRL_KEY_TRANS_DECRYPT_PARA | Esta estructura contiene información sobre un destinatario del mensaje de transporte de claves. |
CMSG_CTRL_MAIL_LIST_DECRYPT_PARA | Esta estructura contiene información sobre un destinatario del mensaje de lista de correo. |
CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA | Esta estructura contiene información utilizada para comprobar una firma de mensaje. Contiene el índice del firmante y la clave pública del firmante. La clave pública del firmante puede ser la estructura de CERT_PUBLIC_KEY_INFOdel firmante, el contexto del certificado o el contexto de cadena. |
CMSG_ENVELOPED_ENCODE_INFO | Esta estructura contiene información necesaria para codificar un mensaje sobre. Se pasa a CryptMsgOpenToEncode si dwMsgType está CMSG_ENVELOPED. |
CMSG_ENVELOPED_HASHED_INFO | Esta estructura se usa con mensajes hash . Se pasa a CryptMsgOpenToEncode si dwMsgType está CMSG_ENVELOPED. |
CMSG_KEY_AGREE_ENCRYPT_INFO | Contiene información de cifrado aplicable a todos los destinatarios del contrato de clave de un mensaje sobre. |
CMSG_KEY_AGREE_KEY_ENCRYPT_INFO | Contiene la clave cifrada para un destinatario del contrato de clave de un mensaje sobre. |
CMSG_KEY_TRANS_ENCRYPT_INFO | Contiene información de cifrado para un destinatario de transporte de claves de datos sobres. |
CMSG_MAIL_LIST_ENCRYPT_INFO | Contiene información de cifrado para un destinatario de lista de correo de datos sobres. |
CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO | Esta estructura contiene información sobre un destinatario del mensaje mediante la administración de claves de contrato de claves. |
CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO | Esta estructura contiene información de transporte de clave codificada para un destinatario del mensaje. |
CMSG_KEY_TRANS_RECIPIENT_INFO | Esta estructura contiene información utilizada en algoritmos de transporte clave. |
CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO | Esta estructura se usa con claves simétricas distribuidas previamente para descifrar la clave de cifrado de clave de contenido (KEK). |
CMSG_MAIL_LIST_RECIPIENT_INFO | Esta estructura contiene información usada para claves de cifrado de claves simétricas distribuidas previamente (KEK). |
CMSG_RC2_AUX_INFO | Esta estructura contiene la longitud de bits de la clave para los algoritmos de cifrado RC2. El miembro pvEncryptionAuxInfo de CMSG_ENVELOPED_ENCODE_INFOse puede establecer para que apunte a una instancia de esta estructura. |
CMSG_RC4_AUX_INFO | Esta estructura contiene la longitud de bits de la clave para algoritmos de cifrado RC4. El miembro pvEncryptionAuxInfo de CMSG_ENVELOPED_ENCODE_INFOse puede establecer para que apunte a una instancia de esta estructura. |
CMSG_RECIPIENT_ENCODE_INFO | Esta estructura contiene información sobre el tipo de administración de claves de cifrado de contenido del destinatario del mensaje. |
CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO | Esta estructura contiene información sobre un receptor de mensajes usado para descifrar la clave de sesión necesaria para descifrar el contenido del mensaje. Esta estructura se usa con mensajes de bajo nivel cmS mediante cualquiera de los métodos de administración de claves. |
CMSG_RECIPIENT_ENCRYPTED_KEY_INFO | Esta estructura contiene información utilizada para un destinatario de contrato de clave individual. |
CMSG_SIGNED_ENCODE_INFO | Esta estructura contiene información que se va a pasar a CryptMsgOpenToEncode si dwMsgType es CMSG_SIGNED. |
CMSG_SIGNER_ENCODE_INFO | Esta estructura contiene información del firmante. Se pasa a CryptMsgCountersign, CryptMsgCountersignEncoded y, opcionalmente, a CryptMsgOpenToEncode como miembro de la estructura CMSG_SIGNED_ENCODE_INFO , si el parámetro dwMsgType es CMSG_SIGNED. |
CMSG_SIGNER_INFO | Esta estructura contiene el contenido del signerInfo definido por PKCS #7 en los mensajes firmados. |
CMSG_SP3_COMPATIBLE_AUX_INFO | Esta estructura contiene información necesaria para el cifrado compatible con SP3. |
CMSG_STREAM_INFO | Esta estructura se usa para habilitar el procesamiento de datos de flujo en lugar de un solo procesamiento de bloques. El procesamiento de flujos se usa con más frecuencia al procesar mensajes de gran tamaño. Los mensajes de proceso de transmisión pueden originarse en cualquier origen serializado, como un archivo en un disco duro, un servidor o una ROM de CD. |
CRYPT_DECRYPT_MESSAGE_PARA | Contiene información para descifrar mensajes. |
CRYPT_ENCRYPT_MESSAGE_PARA | Contiene información utilizada para cifrar mensajes. |
CRYPT_HASH_MESSAGE_PARA | Contiene datos para los mensajes hash . |
CRYPT_SIGN_MESSAGE_PARA | Contiene información para firmar mensajes mediante un contexto de certificado de firma especificado . |
CRYPT_VERIFY_MESSAGE_PARA | Contiene información necesaria para comprobar un mensaje firmado. |
Estructuras de compatibilidad de OID
Las siguientes estructuras las usan las funciones de compatibilidad de OID.
Estructura | Descripción |
---|---|
CRYPT_OID_FUNC_ENTRY | Contiene un identificador de objeto (OID) y un puntero a su función relacionada. Se usa con CryptInstallOIDFunctionAddress |
CRYPT_OID_INFO | Contiene información sobre un identificador de objeto (OID). |
CRYPT_RC2_CBC_PARAMETERS | Contiene información utilizada con el cifrado de szOID_RSA_RC2CBC. |
CRYPT_SMIME_CAPABILITIES | Contiene una matriz prioritaria de funcionalidades admitidas. |
CRYPT_SMIME_CAPABILITY | Especifica una sola funcionalidad y sus parámetros asociados. |
Estructuras de la cadena de certificados
Las estructuras siguientes se usan en la creación de cadenas de certificados que se usan para establecer la confianza en un certificado.
Estructura | Descripción |
---|---|
AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA | Contiene información de directiva usada en la comprobación de cadenas de certificados para archivos. |
AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS | Contiene información adicional de la directiva Authenticode para la comprobación de la cadena de archivos. |
AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA | Contiene información de directiva de marca de tiempo que se puede usar en la comprobación de la cadena de certificados de los archivos. |
CERT_CHAIN_CONTEXT | Contiene una matriz de cadenas de certificados simples y una estructura de estado de confianza que indica datos de validez de resumen en todas las cadenas simples conectadas. |
CERT_CHAIN_ELEMENT | Esta estructura es un único elemento de una cadena de certificados simple. |
CERT_CHAIN_ENGINE_CONFIG | Establece parámetros para crear un motor de cadena de certificados no predeterminado. |
CERT_CHAIN_FIND_BY_ISSUER_PARA | Contiene información usada en CertFindChainInStore para crear cadenas de certificados. |
CERT_CHAIN_PARA | Establece los criterios de búsqueda y coincidencia que se usarán en la creación de una cadena de certificados. |
CERT_CHAIN_POLICY_PARA | Contiene información utilizada en CertVerifyCertificateChainPolicy para establecer criterios de directiva para la comprobación de cadenas de certificados. |
CERT_CHAIN_POLICY_STATUS | Contiene la información de estado de la cadena de certificados devuelta por CertVerifyCertificateChainPolicy de la comprobación de cadenas de certificados. |
CERT_REVOCATION_INFO | Indica el estado de revocación de un certificado en un CERT_CHAIN_ELEMENT. |
CERT_SELECT_CHAIN_PARA | Contiene los parámetros usados para compilar y seleccionar cadenas. |
CERT_SIMPLE_CHAIN | Contiene una matriz de elementos de cadena y un estado de confianza de resumen para la cadena que representa la matriz. |
CERT_SELECTUI_INPUT | Usado por la función CertSelectionGetSerializedBlob para serializar los certificados contenidos en un almacén o una matriz de cadenas de certificados. El BLOB serializado devuelto se puede pasar a la función CredUIPromptForWindowsCredentials . |
CERT_TRUST_LIST_INFO | Indica el uso válido de un CTL. |
CERT_TRUST_STATUS | Contiene información de confianza sobre un certificado en una cadena de certificados, información de resumen de confianza sobre una cadena simple de certificados o información de resumen sobre una matriz de cadenas simples. |
CERT_USAGE_MATCH | Proporciona parámetros para buscar certificados de emisor usados para crear una cadena de certificados. |
CTL_USAGE_MATCH | Proporciona parámetros para buscar listas de confianza de certificados (CTL) usadas para crear una cadena de certificados. |
SSL_EXTRA_CERT_CHAIN_POLICY_PARA | Contiene información de directiva utilizada en la comprobación de cadenas de certificados de cliente/servidor de Capa de sockets seguros (SSL). |
Estructuras de CSP
Las estructuras siguientes se usan con funciones de proveedor de servicios criptográficos (CSP).
Estructura | Descripción |
---|---|
BLOBHEADER | Indica el tipo BLOB de una clave y el algoritmo que usa la clave. |
VTableProvStruc | Contiene punteros a funciones de devolución de llamada que las funciones de CSP pueden usar. |
PLAINTEXTKEYBLOB | Contiene información de encabezado de parámetro para una clave de texto no cifrado. |
Estructuras de WinTrust
Las estructuras siguientes se usan con la función WinVerifyTrust .
Estructura | Descripción |
---|---|
CRYPT_PROVIDER_DEFUSAGE | Usado por la función WintrustGetDefaultForUsage para recuperar información de devolución de llamada para el uso predeterminado de un proveedor. |
CRYPT_PROVIDER_REGDEFUSAGE | Usado por la función WintrustAddDefaultForUsage para registrar información de devolución de llamada sobre el uso predeterminado de un proveedor. |
SPC_INDIRECT_DATA_CONTENT | Almacena el resumen y otros atributos de un archivo firmado por Authenticode. |
WINTRUST_BLOB_INFO | Se usa al llamar a WinVerifyTrust para comprobar un BLOB de memoria. |
WINTRUST_CATALOG_INFO | Se usa al llamar a WinVerifyTrust para comprobar un miembro de un catálogo de Microsoft. |
WINTRUST_CERT_INFO | Se usa al llamar a WinVerifyTrust para comprobar un CERT_CONTEXT. |
WINTRUST_DATA | Se usa al llamar a WinVerifyTrust para pasar la información necesaria a los proveedores de confianza. |
WINTRUST_FILE_INFO | Se usa al llamar a WinVerifyTrust para comprobar un archivo individual. |
WINTRUST_SGNR_INFO | Se usa al llamar a WinVerifyTrust para comprobar una estructura de CMSG_SIGNER_INFO . |
Estructuras SIP
El paquete de interfaz de asunto usa las siguientes estructuras (funciones SIPP).
Estructura | Descripción |
---|---|
SIP_ADD_NEWPROVIDER | Define un SIP. |
SIP_CAP_SET | Define las funciones de un SIP. |
SIP_DISPATCH_INFO | Contiene un conjunto de punteros a funciones SIP. |
SIP_INDIRECT_DATA | Contiene un resumen de la información del sujeto con hash. |
SIP_SUBJECTINFO | Especifica la información del asunto SIP. |