Partilhar via


Estruturas de Criptografia

As seguintes estruturas são usadas por funções de criptografia. As estruturas de criptografia são categorizadas de acordo com o uso da seguinte forma:

Estruturas CryptXML

As estruturas a seguir são usadas pelo CryptXML Functions.

Estrutura Descrição
CRYPT_XML_ALGORITHM Especifica o algoritmo usado para assinar ou transformar a mensagem.
CRYPT_XML_ALGORITHM_INFO Contém informações do algoritmo.
CRYPT_XML_BLOB Contém uma matriz arbitrária de bytes.
CRYPT_XML_CRYPTOGRAPHIC_INTERFACE Passado para o CryptXmlDllGetInterface ponteiro de função para expor as funções CryptXML implementadas.
CRYPT_XML_DATA_BLOB Contém dados codificados XML.
CRYPT_XML_DATA_PROVIDER Especifica a interface para o provedor de dados XML.
CRYPT_XML_DOC_CTXT Define informações de contexto do documento.
CRYPT_XML_ISSUER_SERIAL Contém um X.509 emitido par nome distinto-número de série.
CRYPT_XML_KEY_DSA_KEY_VALUE Define um valor de chave DSA (Digital Signature Algorithm Algorithm). A estrutura CRYPT_XML_KEY_DSA_KEY_VALUE é usada como um elemento da união de valores-chave na estrutura CRYPT_XML_KEY_VALUE.
CRYPT_XML_KEY_ECDSA_KEY_VALUE Define um valor de chave ECDSA (Elliptic Curve Digital Signature Algorithm). A estrutura CRYPT_XML_KEY_ECDSA_KEY_VALUE é usada como um elemento da união de valores-chave na estrutura CRYPT_XML_KEY_VALUE.
CRYPT_XML_KEY_INFO Encapsula dados de informações importantes.
CRYPT_XML_KEY_INFO_ITEM Encapsula dados de informações importantes que correspondem a um elemento KeyInfo. O KeyInfo elemento permite que o destinatário obtenha a chave necessária para validar a assinatura.
CRYPT_XML_KEY_RSA_KEY_VALUE Define um valor de chave RSA. A estrutura CRYPT_XML_KEY_RSA_KEY_VALUE é usada como elemento da união de valores-chave na estrutura CRYPT_XML_KEY_VALUE.
CRYPT_XML_KEY_VALUE Contém um único de chave pública que pode ser útil na validação da assinatura.
CRYPT_XML_KEYINFO_PARAM É usado pela funçãoCryptXmlSign para especificar os membros do KeyInfo elemento a ser codificado.
CRYPT_XML_OBJECT Descreve um elemento Object na assinatura.
CRYPT_XML_PROPERTY Contém informações sobre uma propriedade CryptXML.
CRYPT_XML_REFERENCE Contém informações usadas para preencher o elemento Reference.
CRYPT_XML_REFERENCES Define uma matriz de CRYPT_XML_REFERENCE estruturas.
CRYPT_XML_SIGNATURE Contém informações usadas para preencher o elemento Signature.
CRYPT_XML_SIGNED_INFO Retorna informações sobre o status de validação de assinatura, informações de status de resumo sobre um elemento SignedInfo de ou informações de status de resumo sobre uma matriz de elementos de de referência.
CRYPT_XML_TRANSFORM_CHAIN_CONFIG Define transformações definidas pelo aplicativo que são permitidas para uso na assinatura digital XML.
CRYPT_XML_TRANSFORM_INFO Contém informações que são usadas ao aplicar a transformação de dados.
CRYPT_XML_X509DATA Representa a sequência de opções no elemento X509Data.
CRYPT_XML_X509DATA_ITEM Representa X.509 dados que devem ser codificados em um elemento nomeado X509Data.

 

Estruturas Gerais de Criptografia

As estruturas a seguir são usadas pelo Base Cryptography Functions.

Estrutura Descrição
CMS_DH_KEY_INFO Usado com o parâmetro KP_CMS_DH_KEY_INFO na funçãoCryptSetKeyParam para conter Diffie-Hellman informações de chave.
CMS_KEY_INFO Esta estrutura não é utilizada.
CRYPT_AES_128_KEY_STATE Especifica as informações dede chave simétricade 128 bits para uma cifra AES (Advanced Encryption Standard).
CRYPT_AES_256_KEY_STATE Especifica as informações de chave simétrica de 256 bits para uma cifra AES.
CRYPT_ALGORITHM_IDENTIFIER Contém o identificador de objeto (OID) do algoritmo e quaisquer parâmetros necessários para esse algoritmo.
CRYPT_ATTRIBUTE Especifica um atributo que tem um ou mais valores.
CRYPT_ATTRIBUTE_TYPE_VALUE Contém um único valor de atributo.
CRYPT_ATTRIBUTES Contém uma matriz de atributos.
CRYPT_BIT_BLOB Contém uma matriz de bytes.
CRYPT_BLOB_ARRAY Contém uma matriz de estruturas CRYPT_DATA_BLOB.
CRYPT_CONTENT_INFO Contém dados codificados no formato de dados PKCS #7 ContentInfo.
CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY Contém informações que representam a sequência de certificados Netscape.
CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA Usado com a funçãoCryptInstallDefaultContext para conter uma matriz de cadeias de caracteres de identificador de objeto.
CRYPT_ECC_CMS_SHARED_INFO Representa informações de chave de criptografia de chave ao usar ECC (Criptografia de Curva Elíptica) no tipo de conteúdo EnvelopedData de Sintaxe de Mensagem Criptográfica (CMS).
CRYPT_ENCRYPTED_PRIVATE_KEY_INFO Contém as informações de uma PKCS #8 criptografada chave privada.
CRYPT_ENROLLMENT_NAME_VALUE_PAIR Essa estrutura é usada para criar solicitações de certificado em nome de um usuário.
CRYPT_INTEGER_BLOB Contém os dados de vários tipos de objetos binários grandes sob nomes apropriados para digitar.
CRYPT_KEY_LIMITS Suporta a funçãonão implementadaCryptGetLocalKeyLimits e não é usada. Ele será removido em uma versão futura do Wincrypt.h.
CRYPT_KEY_PROV_INFO Contém campos que são passados como argumentos para CryptAcquireContext para adquirir um identificador para um contêiner de chave específico dentro de um determinado provedor de serviços de criptografia (CSP), ou para criar ou destruir um contêiner de chave.
CRYPT_KEY_PROV_PARAM Contém dados a serem passados como argumentos para CryptSetProvParam.
CRYPT_KEY_SIGN_MESSAGE_PARA Contém informações sobre o CSP e os algoritmos usados para assinar uma mensagem.
CRYPT_KEY_VERIFY_MESSAGE_PARA Contém informações necessárias para verificar mensagens assinadas sem um certificado para o signatário.
CRYPT_MASK_GEN_ALGORITHM Identifica o algoritmo usado para gerar uma máscara de assinatura RSA PKCS #1 v2.1.
CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE Contém ponteiros para funções implementadas por um provedor de local de objeto.
CRYPT_PKCS8_EXPORT_PARAMS Contém informações que identificam uma chave privada e um ponteiro para uma função de retorno de chamada.
CRYPT_PKCS8_IMPORT_PARAMS Contém uma chave privada PKCS #8 e dois ponteiros para funções de retorno de chamada.
CRYPT_PKCS12_PBE_PARAMS Contém parâmetros usados para criar uma chave de criptografia, vetorial de inicialização (IV) ou chave MAC (Message Authentication Code) para um algoritmo de criptografia baseado em senhaPKCS #12.
CRYPT_PRIVATE_KEY_INFO Contém as informações de uma chave privada PKCS #8.
CRYPT_PSOURCE_ALGORITHM Identifica o algoritmo e (opcionalmente) o valor do rótulo para uma criptografia de chave RSAES-OAEP.
CRYPT_RETRIEVE_AUX_INFO Contém informações opcionais de sincronização de tempo para passar para a funçãoCryptRetrieveObjectByUrl.
CRYPT_RSA_SSA_PSS_PARAMETERS Contém os parâmetros para uma assinatura RSA PKCS #1 v2.1.
CRYPT_RSAES_OAEP_PARAMETERS Contém os parâmetros para uma criptografia de chave RSAES-OAEP.
CRYPT_SEQUENCE_OF_ANY Contém uma lista arbitrária de BLOBs codificados.
CRYPT_SMART_CARD_ROOT_INFO Contém o cartão inteligente e as IDs de sessão associadas a um contexto de certificado.
CRYPT_TIME_STAMP_REQUEST_INFO Esta estrutura é usada para carimbo de data/hora.
CRYPT_URL_INFO Contém informações sobre agrupamentos de URLs.
CRYPT_X942_OTHER_INFO Contém informações adicionais de geração de chaves.
CRYPTNET_URL_CACHE_FLUSH_INFO Contém informações de expiração usadas pelo serviço CUC (Cryptnet URL Cache) para manter uma entrada de cache de URL.
CRYPTNET_URL_CACHE_PRE_FETCH_INFO Contém informações de atualização usadas pelo serviço CUC (Cryptnet URL Cache) para manter uma entrada de cache de URL.
CRYPTNET_URL_CACHE_RESPONSE_INFO Contém informações de resposta usadas pelo serviço Cryptnet URL Cache (CUC) para manter uma entrada de cache de URL.
CRYPT_INTEGER_BLOB Essa estrutura é usada para uma matriz arbitrária de bytes.
CRYPTPROTECT_PROMPTSTRUCT Fornece o texto de um prompt e informações sobre quando e onde esse prompt deve ser exibido ao usar o CryptProtectData e funções de CryptUnprotectData.
CRYPTUI_INITDIALOG_STRUCT Suporta a estrutura CRYPTUI_VIEWCERTIFICATE_STRUCT.
CRYPTUI_SELECTCERTIFICATE_STRUCT Contém informações sobre a caixa de diálogo exibida pela funçãoCryptUIDlgSelectCertificate.
CRYPTUI_VIEWCERTIFICATE_STRUCT Contém informações sobre um certificado a ser exibido. Ele é usado na funçãoCryptUIDlgViewCertificate.
CRYPTUI_VIEWSIGNERINFO_STRUCT Contém informações para a funçãoCryptUIDlgViewSignerInfo.
CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO Contém informações que controlam a operação do função de CryptUIWizExport quando um certificado é o objeto que está sendo exportado.
CRYPTUI_WIZ_EXPORT_INFO Contém informações que controlam a operação da funçãoCryptUIWizExport.
CRYPTUI_WIZ_IMPORT_SRC_INFO Contém o assunto a ser importado para a funçãoCryptUIWizImport.
DHPRIVKEY_VER3 Contém informações específicas para a chave privada específica contida na chave de BLOB.
DHPUBKEY Contém informações específicas para a chave pública de Diffie-Hellman específica contida no BLOB de chave.
DHPUBKEY_VER3 Contém informações específicas para a chave pública específica contida no BLOB de chave.
Diffie-Hellman Versão 3 BLOBs de chave privada Usado para exportar e importar informações sobre uma chave privada DH.
Diffie-Hellman Versão 3 BLOBs de chave pública Usado para exportar e importar informações sobre uma chave pública DH.
BLOBs de chave privada do DSS versão 3 Usado para exportar e importar informações sobre uma chave privada DH.
BLOBs de chave pública do DSS versão 3 Usado para exportar e importar informações sobre uma chave pública DH.
DSSPRIVKEY_VER3 Contém informações específicas para a chave privada específica contida no BLOB de chave.
DSSPUBKEY Contém informações específicas para a chave pública específica contida no BLOB de chave.
DSSPUBKEY_VER3 Contém informações específicas para a chave pública específica contida no BLOB de chave.
DSSSEED Contém os valores seed e counter que podem ser usados para verificar os primos da chave pública DSS.
HMAC_INFO Especifica o algoritmo dede hashe as cadeias de caracteres internas e externas que devem ser usadas para calcular o hash Hash-Based de código de autenticação de mensagem (HMAC).
KEYSVC_BLOB Define um BLOB de serviço de chave.
KEYSVC_UNICODE_STRING Define um serviço de chave cadeia de caracteres Unicode.
OCSP_BASIC_RESPONSE_ENTRY Contém o status atual do certificado para um único certificado.
OCSP_BASIC_RESPONSE_INFO Contém uma resposta OCSP básica conforme especificado pelo RFC 2560.
OCSP_BASIC_REVOKED_INFO Contém o motivo pelo qual um certificado foi revogado.
OCSP_BASIC_SIGNED_RESPONSE_INFO Contém uma resposta OCSP básica com uma assinatura.
OCSP_CERT_ID Contém informações para identificar um certificado em uma solicitação ou resposta OCSP.
OCSP_REQUEST_ENTRY Contém informações sobre um único certificado em uma solicitação OCSP.
OCSP_REQUEST_INFO Contém informações para uma solicitação OCSP, conforme especificado pelo RFC 2560.
OCSP_RESPONSE_INFO Indica o sucesso ou a falha da solicitação OCSP correspondente. Para solicitações bem-sucedidas, ele contém o tipo e o valor das informações de resposta.
OCSP_SIGNATURE_INFO Contém uma assinatura para uma solicitação ou resposta OCSP.
OCSP_SIGNED_REQUEST_INFO Contém informações para uma solicitação OCSP com informações de assinatura opcionais.
PROV_ENUMALGS Retornado por chamadas para CryptGetProvParam ou CPGetProvParam.
PROV_ENUMALGS_EX Retornado por chamadas para CryptGetProvParam ou CPGetProvParam.
PUBLICKEYSTRUC Indica o tipo de BLOB de uma chave e o algoritmo que a chave usa.
ROOT_INFO_LUID Contém um identificador exclusivo local (LUID) para informações de raiz de cartão inteligente criptográfico.
RSAPUBKEY Contém informações específicas para a chave pública específica contida no BLOB de chave.
SCHANNEL_ALG Contém informações sobre o algoritmo e o tamanho da chave.
SIGNER_ATTR_AUTHCODE Especifica atributos para uma assinatura deAuthenticode.
SIGNER_BLOB_INFO Especifica um BLOB assinar.
SIGNER_CERT Especifica um certificado usado para assinar um documento. O certificado pode ser armazenado em um arquivo SPC (Software Publisher Certificate) ou em um armazenamento de certificados.
SIGNER_CERT_STORE_INFO Especifica o armazenamento de certificados usado para assinar um documento.
SIGNER_CONTEXT Contém um BLOB assinado.
SIGNER_FILE_INFO Especifica um arquivo a ser assinado.
SIGNER_PROVIDER_INFO Especifica o CSP e as informações de chave privada usadas para criar uma assinatura digital.
SIGNER_SIGNATURE_INFO Contém informações sobre uma assinatura digital.
SIGNER_SPC_CHAIN_INFO Especifica um SPC (Software Publisher Certificate) e uma cadeia de certificados usada para assinar um documento.
SIGNER_SUBJECT_INFO Especifica um assunto a ser assinado.

 

Estruturas comuns de certificados

As estruturas a seguir são usadas por muitas das funções de certificado.

Estrutura Descrição
CERT_BIOMETRIC_DATA Contém informações sobre dados biométricos.
CERT_BIOMETRIC_EXT_INFO Contém um conjunto de informações biométricas.
CERT_CONTEXT Contém as representações codificadas e decodificadas de um certificado .
CERT_CRL_CONTEXT_PAIR Contém um contexto de certificado e um contexto de CRL associado.
CERT_DH_PARAMETERS Contém parâmetros associados a um algoritmo de chave pública Diffie-Hellman.
CERT_DSS_PARAMETERS Contém parâmetros associados a um algoritmo de chave pública DSS.
CERT_ECC_SIGNATURE Contém os valores r e s para uma assinatura ECDSA (Elliptic Curve Digital Signature Algorithm).
CERT_EXTENSION Contém as informações de extensão para umde certificado, lista de revogação de certificados (CRL) ou lista de certificados confiáveis (CTL).
CERT_EXTENSIONS Contém uma matriz de extensões.
CERT_GENERAL_SUBTREE Usada em CERT_NAME_CONSTRAINTS_INFO estrutura, essa estrutura fornece a identidade de um certificado que pode ser incluído ou excluído.
CERT_HASHED_URL Contém um URL com hash.
CERT_ID Usado como um meio flexível de identificar exclusivamente um certificado.
CERT_INFO Contém as informações de um certificado.
CERT_KEY_CONTEXT Contém dados para o pvData membro de um Value membro de CERT_EXTENSION estrutura associada a uma propriedade CERT_KEY_CONTEXT_PROP_ID.
CERT_KEYGEN_REQUEST_INFO Contém informações armazenadas na solicitação Netscape Keygen.
CERT_LDAP_STORE_OPENED_PARA Usado com a funçãoCertOpenStore quando o provedor de CERT_STORE_PROV_LDAP é especificado usando o sinalizador CERT_LDAP_STORE_OPENED_FLAG para especificar a sessão LDAP existente a ser usada para executar a consulta, bem como a cadeia de caracteres de consulta LDAP.
CERT_LOGOTYPE_AUDIO Contém informações sobre um logotipo de áudio.
CERT_LOGOTYPE_AUDIO_INFO Contém informações mais detalhadas sobre um logotipo de áudio.
CERT_LOGOTYPE_DATA Contém dados do logótipo.
CERT_LOGOTYPE_DETAILS Contém informações adicionais sobre um logótipo.
CERT_LOGOTYPE_EXT_INFO Contém um conjunto de informações sobre o logótipo.
CERT_LOGOTYPE_IMAGE Contém informações sobre um logotipo de imagem.
CERT_LOGOTYPE_IMAGE_INFO Contém informações mais detalhadas sobre um logotipo de imagem.
CERT_LOGOTYPE_INFO Contém informações sobre dados de logótipos.
CERT_LOGOTYPE_REFERENCE Contém informações de referência de logótipo.
CERT_NAME_CONSTRAINTS_INFO Contém informações sobre certificados que são especificamente permitidos ou excluídos da confiança.
CERT_NAME_INFO Contém nomes de assunto ou emissor. As informações são representadas como uma matriz de estruturas CERT_RDN.
CERT_NAME_VALUE Contém um valor de atributo de nome distinto relativo (RDN).
CERT_OTHER_LOGOTYPE_INFO Contém informações sobre tipos de logotipo que não são predefinidos.
CERT_PAIR Contém um certificado e seu par de certificados cruzados.
CERT_PHYSICAL_STORE_INFO Contém informações sobre armazenamentos físicos certificados.
CERT_POLICY_CONSTRAINTS_INFO Contém políticas estabelecidas para aceitar certificados como confiáveis.
CERT_POLICY_MAPPING Contém um mapeamento entre OIDs de política de domínio do emissor e de domínio do assunto.
CERT_POLICY_MAPPINGS_INFO Fornece mapeamento entre os OIDs de política de dois domínios.
CERT_PUBLIC_KEY_INFO Contém uma chave pública e seu algoritmo.
CERT_QC_STATEMENT Representa uma única instrução em uma sequência de uma ou mais instruções para inclusão em uma extensão de instruções de Certificado Qualificado (QC).
CERT_QC_STATEMENTS_EXT_INFO Contém uma sequência de uma ou mais instruções que compõem a extensão de instruções de Certificado Qualificado (QC) para um QC.
CERT_RDN Contém um nome distinto relativo (RDN) que consiste em uma matriz de CERT_RDN_ATTR estruturas.
CERT_RDN_ATTR Contém um único atributo de um nome distinto relativo (RDN).
CERT_REQUEST_INFO Contém informações para uma solicitação de certificado .
CERT_REVOCATION_CRL_INFO Contém informações atualizadas por um manipulador de tipo de revogação de CRL.
CERT_REVOCATION_PARA Esta estrutura pode opcionalmente ser passada para CertVerifyRevocation para ajudar a encontrar o emissor do contexto a ser verificado.
CERT_REVOCATION_STATUS Contém informações sobre o status de revogação do certificado.
CERT_SELECT_STRUCT Contém critérios para selecionar certificados apresentados em uma caixa de diálogo de seleção de certificados. Essa estrutura é usada na funçãoCertSelectCertificate.
CERT_SIGNED_CONTENT_INFO Contém conteúdo codificado a ser assinado e umBLOBpara conter a assinatura.
CERT_STORE_PROV_FIND_INFO Essa estrutura é usada por muitas das funções de retorno de chamada do provedor de loja.
CERT_STORE_PROV_INFO Contém informações retornadas pelo instalado CertDllOpenStoreProv quando uma loja é aberta com CertOpenStore.
CERT_STRONG_SIGN_PARA Contém parâmetros usados para verificar assinaturas fortes em certificados, CRLs, respostas OCSP e mensagens PKCS #7.
CERT_STRONG_SIGN_SERIALIZED_INFO Contém o algoritmo de assinatura /algoritmo de hash e algoritmo de chave pública/comprimento de bit pares que podem ser usados para sinalização forte.
CERT_SUBJECT_INFO_ACCESS Este é um sinônimo para a estrutura CERT_AUTHORITY_INFO_ACCESS.
CERT_SYSTEM_STORE_INFO Contém informações usadas por funções que funcionam com armazenamentos do sistema.
CERT_SYSTEM_STORE_RELOCATE_PARA Contém dados a serem passados para CertOpenStore quando o parâmetro dwFlags dwFlag s dessa função é definido como CERT_SYSTEM_STORE_RELOCATE_FLAG.
CERT_TEMPLATE_EXT Esta estrutura é um modelo de certificado.
CERT_X942_DH_PARAMETERS Contém parâmetros associados a um algoritmo de chave pública Diffie-Hellman.
CERT_X942_DH_VALIDATION_PARAMS Esta estrutura é opcionalmente apontada por um membro da estrutura CERT_X942_DH_PARAMETERS e contém informações adicionais sobre sementes.
CMC_ADD_ATTRIBUTES_INFO Contém atributos de certificado a serem adicionados a um certificado.
CMC_ADD_EXTENSIONS_INFO Contém atributos de controle de extensão de certificado a serem adicionados a um certificado.
CMC_DATA_INFO Esta estrutura fornece um meio de comunicar diferentes partes de informações marcadas.
CMC_PEND_INFO Esta estrutura é um possível membro de uma estrutura CMC_STATUS_INFO.
CMC_RESPONSE_INFO Esta estrutura fornece um meio de comunicar diferentes partes de informações marcadas.
CMC_STATUS_INFO Contém informações de status sobre Mensagens de Gerenciamento de Certificados sobre CMS.
CMC_TAGGED_ATTRIBUTE Esta estrutura é utilizada nas estruturas CMC_DATA_INFO e CMC_RESPONSE_INFO.
CMC_TAGGED_CERT_REQUEST Esta estrutura é usada na estrutura CMC_TAGGED_REQUEST.
CMC_TAGGED_CONTENT_INFO Esta estrutura é utilizada nas estruturas CMC_DATA_INFO e CMC_RESPONSE_INFO.
CMC_TAGGED_OTHER_MSG Esta estrutura é utilizada nas estruturas CMC_DATA_INFO e CMC_RESPONSE_INFO.
CMC_TAGGED_REQUEST Essa estrutura é usada nas estruturas CMC_DATA_INFO para solicitar um certificado.
CRL_CONTEXT Contém as representações codificadas e decodificadas de uma CRL.
CRL_ENTRY Contém informações sobre um único certificado revogado. É membro de uma estrutura CRL_INFO.
CRL_INFO Contém as informações de uma lista de revogação de certificados (CRL).
CRL_ISSUING_DIST_POINT Contém informações sobre os tipos de certificados listados em uma CRL.
CROSS_CERT_DIST_POINTS_INFO Essa estrutura fornece informações usadas para atualizar certificados cruzados dinâmicos.
CTL_ANY_SUBJECT_INFO Contém um SubjectAlgorithm a ser correspondido na CTL e o SubjectIdentifier a ser correspondido em uma das entradas CTL em chamadas para CertFindSubjectInCTL.
CTL_CONTEXT Contém as representações codificadas e decodificadas de uma CTL.
CTL_ENTRY Essa estrutura é um elemento de uma CTL (lista de confiança de de certificados).
CTL_FIND_SUBJECT_PARA Contém dados usados por CertFindCTLInStore com um dwFindType de CTL_FIND_SUBJECT para localizar umade lista de certificados confiáveis de(CTL).
CTL_FIND_USAGE_PARA Esta estrutura é um membro da estrutura CTL_FIND_SUBJECT_PARA e é usada por CertFindCTLInStore.
CTL_INFO Contém as informações armazenadas em uma CTL (lista de confiança de de certificados).
CTL_MODIFY_REQUEST Contém uma solicitação para modificar uma lista de certificados confiáveis. Essa estrutura é usada na funçãoCertModifyCertificatesToTrust.
CTL_USAGE Contém uma matriz de identificadores de objeto (OIDs) para extensões de lista de confiança de certificado (CTL).
CTL_VERIFY_USAGE_PARA Contém parâmetros usados por CertVerifyCTLUsage para estabelecer a validade do uso de uma CTL.
CTL_VERIFY_USAGE_STATUS Contém informações sobre uma lista de certificados (CTL) retornada por CertVerifyCTLUsage.

 

X.509 Estruturas de extensão de certificado

As seguintes estruturas estão associadas a X.509 CERT_EXTENSION estruturas.

Estrutura Descrição
CERT_ACCESS_DESCRIPTION Esta estrutura é membro de uma estrutura CERT_AUTHORITY_INFO_ACCESS.
CERT_ALT_NAME_ENTRY Contém um nome alternativo em uma das várias formas de nome.
CERT_ALT_NAME_INFO Usado na codificação e decodificação de extensões para certificados de de assunto ou emissor, de lista de revogação de certificados (CRLs) e de lista de certificados confiáveis (CTLs).
CERT_AUTHORITY_INFO_ACCESS Representa o acesso às informações da autoridade e as extensões de certificado de acesso às informações do assunto e especifica como acessar informações e serviços adicionais para o assunto ou o emissor desse certificado.
CERT_AUTHORITY_KEY_ID_INFO Identifica a chave usada para assinar umade certificadoou CRL.
CERT_AUTHORITY_KEY_ID2_INFO Identifica a chave usada para assinar umade certificadoou CRL. Difere da estrutura CERT_AUTHORITY_KEY_ID_INFO na medida em que o emissor do certificado é um CERT_ALT_NAME_INFO em vez de um CERT_NAME_BLOB.
CERT_BASIC_CONSTRAINTS_INFO Contém informações que indicam se o sujeito certificado pode atuar como uma autoridade de certificação, uma entidade final ou ambos.
CERT_BASIC_CONSTRAINTS2_INFO Contém informações que indicam se o sujeito certificado pode atuar como uma autoridade de certificação ou uma entidade final.
CERT_KEY_ATTRIBUTES_INFO Contém informações adicionais opcionais sobre a chave pública que está sendo certificada.
CERT_KEY_USAGE_RESTRICTION_INFO Contém restrições impostas ao uso da chave pública de um certificado.
CERT_POLICIES_INFO Contém uma matriz de CERT_POLICY_INFO.
CERT_POLICY_ID Contém uma lista de políticas de certificado que o certificado suporta expressamente, juntamente com informações de qualificador opcionais pertencentes a essas políticas.
CERT_POLICY_INFO Contém um identificador de objeto (OID) especificando uma política e uma matriz opcional de qualificadores de política.
CERT_POLICY_QUALIFIER_INFO Contém um identificador de objeto (OID) especificando o qualificador e informações suplementares específicas do qualificador.
CERT_PRIVATE_KEY_VALIDITY Indica um período de tempo válido para a chave privada correspondente à chave pública de um certificado.
CRL_DIST_POINT Identifica um único ponto de distribuição de CRL que um usuário de certificado pode referenciar para determinar se os certificados foram revogados.
CRL_DIST_POINT_NAME Identifica um local a partir do qual a CRL pode ser obtida.
CRL_DIST_POINTS_INFO Contém uma lista de pontos de distribuição de CRL que um usuário de certificado pode referenciar para determinar se o certificado foi revogado.

 

Essas estruturas podem ser codificadas no Value membro de uma estrutura CERT_EXTENSION usando oCryptEncodeObjecte funções CryptEncodeObjectEx. Eles são criados e retornados pelo CryptDecodeObject e funções de CryptDecodeObjectEx quando o Value membro de uma estrutura CERT_EXTENSION é decodificado.

A estrutura codificada ou criada depende do pszObjId membro da string da estrutura CERT_EXTENSION.

As constantes predefinidas de extensão atual e OIDs, juntamente com a estrutura associada a cada uma, são mostradas na tabela a seguir.

Observação

A constante predefinida (coluna 1) e o seu correspondente OID (coluna 2) podem ser utilizados indistintamente.

 

Constante predefinida Identificador de objeto (OID) Estrutura dos dados
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 – Ou –
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
Nenhum szOID_POLICY_MAPPINGS Não implementado
Nenhum szOID_SUBJECT_DIR_ATTRS Não implementado

 

Estruturas de Mensagem

As estruturas a seguir são usadas pelas funções de mensagem criptográfica.

Estrutura Descrição
CMSG_CMS_RECIPIENT_INFO Essa estrutura é usada com a funçãoCryptMsgGetParam para obter informações sobre um transporte de chave, contrato de chave ou destinatário da mensagem de envelope da lista de email.
CMSG_CMS_SIGNER_INFO Essa estrutura contém o conteúdo do SignerInfo definido em mensagens assinadas ou assinadas e envelopadas.
CMSG_CNG_CONTENT_DECRYPT_INFO Contém todas as informações relevantes passadas entre CryptMsgControl e funções instaláveis OID para a importação e desencriptação de uma chave de encriptação de conteúdo (CEK) da API de Criptografia: Next Generation (CNG).
CMSG_CONTENT_ENCRYPT_INFO Contém informações compartilhadas entre as funções instaláveis PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY, PFN_CMSG_EXPORT_KEY_TRANS, PFN_CMSG_EXPORT_KEY_AGREEe PFN_CMSG_EXPORT_MAIL_LISTOID (object identifier) usadas para a criptografia e exportação de uma chave de criptografia de conteúdo.
CMSG_CTRL_ADD_SIGNER_UNAUTH_ATTR_PARA Essa estrutura é usada para adicionar um atributo não autenticado a um signatário de uma mensagem assinada.
CMSG_CTRL_DECRYPT_PARA Essa estrutura contém informações usadas para descriptografar uma mensagem envelopada para um destinatário de transporte de chave. Essa estrutura é passada para CryptMsgControl se o parâmetro dwCtrlType for CMSG_CTRL_DECRYPT.
CMSG_CTRL_DEL_SIGNER_UNAUTH_ATTR_PARA Essa estrutura é usada para excluir um atributo não autenticado de um signatário de uma mensagem assinada.
CMSG_CTRL_KEY_AGREE_DECRYPT_PARA Essa estrutura contém informações sobre um destinatário chave do contrato.
CMSG_CTRL_KEY_TRANS_DECRYPT_PARA Esta estrutura contém informações sobre um destinatário da mensagem de transporte de chave.
CMSG_CTRL_MAIL_LIST_DECRYPT_PARA Essa estrutura contém informações sobre um destinatário de mensagem de lista de email.
CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA Essa estrutura contém informações usadas para verificar uma assinatura de mensagem. Ele contém o índice do signatário e a chave pública do signatário. A chave pública do signatário pode ser a estrutura CERT_PUBLIC_KEY_INFOdo signatário, de contexto do certificado ou o contexto da cadeia.
CMSG_ENVELOPED_ENCODE_INFO Esta estrutura contém as informações necessárias para codificar uma mensagem envelopada. Ele é passado para CryptMsgOpenToEncode se dwMsgType estiver CMSG_ENVELOPED.
CMSG_ENVELOPED_HASHED_INFO Essa estrutura é usada com mensagens de em hash. Ele é passado para CryptMsgOpenToEncode se dwMsgType estiver CMSG_ENVELOPED.
CMSG_KEY_AGREE_ENCRYPT_INFO Contém informações de criptografia aplicáveis a todos os destinatários do contrato de chave de uma mensagem envelopada.
CMSG_KEY_AGREE_KEY_ENCRYPT_INFO Contém a chave criptografada para um destinatário de contrato de chave de uma mensagem envelopada.
CMSG_KEY_TRANS_ENCRYPT_INFO Contém informações de criptografia para um destinatário de transporte de chave de dados envelopados.
CMSG_MAIL_LIST_ENCRYPT_INFO Contém informações de criptografia para um destinatário da lista de endereçamento de dados envelopados.
CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO Essa estrutura contém informações sobre um destinatário de mensagem usando o gerenciamento de chaves de contrato de chave.
CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO Essa estrutura contém informações de transporte de chave codificadas para um destinatário da mensagem.
CMSG_KEY_TRANS_RECIPIENT_INFO Esta estrutura contém informações usadas em algoritmos de transporte de chaves.
CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO Essa estrutura é usada com chaves simétricas distribuídas anteriormente para descriptografar a chave de criptografia de chave de conteúdo (KEK).
CMSG_MAIL_LIST_RECIPIENT_INFO Esta estrutura contém informações usadas para chaves de criptografia de chavesimétricasdistribuídas anteriormente (KEK).
CMSG_RC2_AUX_INFO Esta estrutura contém o comprimento de bit da chave para algoritmos de encriptação RC2. O membro do pvEncryptionAuxInfo no CMSG_ENVELOPED_ENCODE_INFOpode ser definido para apontar para uma instância dessa estrutura.
CMSG_RC4_AUX_INFO Esta estrutura contém o comprimento de bit da chave para algoritmos de encriptação RC4. O membro do pvEncryptionAuxInfo no CMSG_ENVELOPED_ENCODE_INFOpode ser definido para apontar para uma instância dessa estrutura.
CMSG_RECIPIENT_ENCODE_INFO Essa estrutura contém informações sobre o tipo de gerenciamento de chave de criptografia de conteúdo de um destinatário de mensagem.
CMSG_RECIPIENT_ENCRYPTED_KEY_ENCODE_INFO Essa estrutura contém informações sobre um recetor de mensagem usado para descriptografar a chave de sessão necessária para descriptografar o conteúdo da mensagem. Esta estrutura é usada com mensagens de baixo nível CMS usando qualquer um dos métodos de gerenciamento de chaves.
CMSG_RECIPIENT_ENCRYPTED_KEY_INFO Essa estrutura contém informações usadas para um destinatário individual do contrato de chave.
CMSG_SIGNED_ENCODE_INFO Essa estrutura contém informações a serem passadas para CryptMsgOpenToEncode se dwMsgType estiver CMSG_SIGNED.
CMSG_SIGNER_ENCODE_INFO Essa estrutura contém informações do signatário. Ele é passado para CryptMsgCountersign, CryptMsgCountersignEncoded e, opcionalmente, para CryptMsgOpenToEncode como membro da estrutura CMSG_SIGNED_ENCODE_INFO, se o parâmetro dwMsgType for CMSG_SIGNED.
CMSG_SIGNER_INFO Esta estrutura contém o conteúdo do PKCS #7 definido SignerInfo em mensagens assinadas.
CMSG_SP3_COMPATIBLE_AUX_INFO Essa estrutura contém informações necessárias para a criptografia compatível com o SP3.
CMSG_STREAM_INFO Essa estrutura é usada para permitir o processamento de dados de fluxo em vez de processamento de bloco único. O processamento de fluxo é mais frequentemente usado ao processar mensagens grandes. As mensagens de processo de fluxo podem ser originadas de qualquer fonte serializada, como um arquivo em um disco rígido, um servidor ou um CD-ROM.
CRYPT_DECRYPT_MESSAGE_PARA Contém informações para desencriptar mensagens.
CRYPT_ENCRYPT_MESSAGE_PARA Contém informações usadas para criptografar mensagens.
CRYPT_HASH_MESSAGE_PARA Contém dados para hashing mensagens.
CRYPT_SIGN_MESSAGE_PARA Contém informações para assinar mensagens usando um contexto de assinatura certificado especificado.
CRYPT_VERIFY_MESSAGE_PARA Contém as informações necessárias para verificar uma mensagem assinada.

 

Estruturas de Suporte OID

As estruturas a seguir são usadas pelo OID Support Functions.

Estrutura Descrição
CRYPT_OID_FUNC_ENTRY Contém umde identificador de objeto(OID) e um ponteiro para sua função relacionada. Ele é usado com CryptInstallOIDFunctionAddress
CRYPT_OID_INFO Contém informações sobre umde identificador de objeto(OID).
CRYPT_RC2_CBC_PARAMETERS Contém informações usadas com criptografia szOID_RSA_RC2CBC.
CRYPT_SMIME_CAPABILITIES Contém uma matriz priorizada de recursos suportados.
CRYPT_SMIME_CAPABILITY Especifica um único recurso e seus parâmetros associados.

 

Estruturas da cadeia de certificados

As estruturas a seguir são usadas na criação de cadeias de certificados usadas para estabelecer confiança em um certificado.

Estrutura Descrição
AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_PARA Contém informações de política usadas na verificação de cadeias de certificados para arquivos.
AUTHENTICODE_EXTRA_CERT_CHAIN_POLICY_STATUS Contém informações adicionais da política Authenticode para verificação em cadeia de arquivos.
AUTHENTICODE_TS_EXTRA_CERT_CHAIN_POLICY_PARA Contém informações de política de carimbo de data/hora que podem ser usadas na verificação da cadeia de certificados de arquivos.
CERT_CHAIN_CONTEXT Contém uma matriz de cadeias de certificados simples e uma estrutura de status de confiança que indica dados de validade resumidos em todas as cadeias simples conectadas.
CERT_CHAIN_ELEMENT Essa estrutura é um único elemento em uma cadeia de certificados simples.
CERT_CHAIN_ENGINE_CONFIG Define parâmetros para criar um mecanismo de cadeia de certificados não padrão.
CERT_CHAIN_FIND_BY_ISSUER_PARA Contém informações usadas em CertFindChainInStore para criar cadeias de certificados.
CERT_CHAIN_PARA Estabelece os critérios de pesquisa e correspondência a serem usados na construção de uma cadeia de certificados.
CERT_CHAIN_POLICY_PARA Contém informações usadas em CertVerifyCertificateChainPolicy para estabelecer critérios de política para a verificação de cadeias de certificados.
CERT_CHAIN_POLICY_STATUS Contém informações de status da cadeia de certificados retornadas por CertVerifyCertificateChainPolicy da verificação de cadeias de certificados.
CERT_REVOCATION_INFO Indica o status de revogação de um certificado em um CERT_CHAIN_ELEMENT.
CERT_SELECT_CHAIN_PARA Contém os parâmetros usados para construir e selecionar cadeias.
CERT_SIMPLE_CHAIN Contém uma matriz de elementos de cadeia e um status de confiança resumido para a cadeia que a matriz representa.
CERT_SELECTUI_INPUT Usado pelo função de CertSelectionGetSerializedBlob para serializar os certificados contidos em um armazenamento ou uma matriz de cadeias de certificados. OBLOB serializadoretornado pode ser passado para a funçãoCredUIPromptForWindowsCredentials.
CERT_TRUST_LIST_INFO Indica o uso válido de uma CTL.
CERT_TRUST_STATUS Contém informações de confiança sobre um certificado em uma cadeia de certificados, informações de confiança resumidas sobre uma cadeia simples de certificados ou informações resumidas sobre uma matriz de cadeias simples.
CERT_USAGE_MATCH Fornece parâmetros para localizar certificados de emissor usados para criar uma cadeia de certificados.
CTL_USAGE_MATCH Fornece parâmetros para localizar listas de certificados confiáveis (CTL) usados para criar uma cadeia de certificados.
SSL_EXTRA_CERT_CHAIN_POLICY_PARA Contém informações de política usadas na verificação de cadeias de certificados cliente/servidor Secure Sockets Layer (SSL).

 

Estruturas CSP

As estruturas a seguir são usadas com funções CSP ( provedor de serviços de criptografia).

Estrutura Descrição
BLOBHEADER Indica o tipo de BLOB de uma chave e o algoritmo que a chave usa.
VTableProvStruc Contém ponteiros para funções de retorno de chamada que podem ser usadas por funções CSP.
PLAINTEXTKEYBLOB Contém informações de cabeçalho de parâmetro para uma chave de texto sem formatação.

 

Estruturas WinTrust

As estruturas a seguir são usadas com a funçãoWinVerifyTrust.

Estrutura Descrição
CRYPT_PROVIDER_DEFUSAGE Usado pelo WintrustGetDefaultForUsage função para recuperar informações de retorno de chamada para o uso padrão de um provedor.
CRYPT_PROVIDER_REGDEFUSAGE Usada pelo WintrustAddDefaultForUsage função para registrar informações de retorno de chamada sobre o uso padrão de um provedor.
SPC_INDIRECT_DATA_CONTENT Armazena o resumo e outros atributos de um arquivo assinado pelo Authenticode.
WINTRUST_BLOB_INFO Usado ao chamar WinVerifyTrust para verificar um BLOB de memória.
WINTRUST_CATALOG_INFO Usado ao chamar WinVerifyTrust para verificar um membro de um catálogo da Microsoft.
WINTRUST_CERT_INFO Usado ao chamar WinVerifyTrust para verificar um CERT_CONTEXT.
WINTRUST_DATA Usado ao chamar WinVerifyTrust para passar as informações necessárias para os provedores de confiança
WINTRUST_FILE_INFO Usado ao chamar WinVerifyTrust para verificar um arquivo individual.
WINTRUST_SGNR_INFO Usado ao chamar WinVerifyTrust para verificar uma estrutura CMSG_SIGNER_INFO.

 

Estruturas SIP

As estruturas a seguir são usadas por de pacote de interface do assunto (funções SIPP.

Estrutura Descrição
SIP_ADD_NEWPROVIDER Define um SIP.
SIP_CAP_SET Define os recursos de um SIP.
SIP_DISPATCH_INFO Contém um conjunto de ponteiros para funções SIP.
SIP_INDIRECT_DATA Contém um resumo das informações do assunto em hash.
SIP_SUBJECTINFO Especifica as informações do assunto SIP.