Share via


Estruturas de criptografia

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

Estruturas CryptXML

As estruturas a seguir são usadas pelas Funções CryptXML.

Estrutura Descrição
CRYPT_XML_ALGORITHM Especifica o algoritmo usado para assinar ou transformar a mensagem.
CRYPT_XML_ALGORITHM_INFO Contém informações de algoritmo.
CRYPT_XML_BLOB Contém uma matriz arbitrária de bytes.
CRYPT_XML_CRYPTOGRAPHIC_INTERFACE Passado para o ponteiro da função CryptXmlDllGetInterface para expor as funções CryptXML implementadas.
CRYPT_XML_DATA_BLOB Contém dados codificados em 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 par de nome diferenciado e número de série emitido por X.509 .
CRYPT_XML_KEY_DSA_KEY_VALUE Define um valor de chave DSA ( Algoritmo de Assinatura Digital ). A estrutura CRYPT_XML_KEY_DSA_KEY_VALUE é usada como um elemento da união de valor de chave na estrutura CRYPT_XML_KEY_VALUE .
CRYPT_XML_KEY_ECDSA_KEY_VALUE Define um valor de chave ECDSA (Algoritmo de Assinatura Digital de Curva Elíptica). A estrutura CRYPT_XML_KEY_ECDSA_KEY_VALUE é usada como um elemento da união de valor de chave na estrutura CRYPT_XML_KEY_VALUE .
CRYPT_XML_KEY_INFO Encapsula os principais dados de informações.
CRYPT_XML_KEY_INFO_ITEM Encapsula os dados de informações principais que correspondem a um elemento KeyInfo . O elemento KeyInfo 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 valor de chave na estrutura CRYPT_XML_KEY_VALUE .
CRYPT_XML_KEY_VALUE Contém uma única chave pública que pode ser útil para validar a assinatura.
CRYPT_XML_KEYINFO_PARAM É usado pela função CryptXmlSign para especificar os membros do elemento KeyInfo a serem codificados.
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 estruturas de CRYPT_XML_REFERENCE .
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 resumo status sobre um elemento SignedInfo ou informações de resumo status sobre uma matriz de elementos Reference.
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 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 dados X.509 que devem ser codificados em um elemento nomeado X509Data.

 

Estruturas gerais de criptografia

As estruturas a seguir são usadas pelas Funções base de criptografia.

Estrutura Descrição
CMS_DH_KEY_INFO Usado com o parâmetro KP_CMS_DH_KEY_INFO na função CryptSetKeyParam para conter informações de chave Diffie-Hellman .
CMS_KEY_INFO Essa estrutura não é usada.
CRYPT_AES_128_KEY_STATE Especifica as informações de chave simétrica de 128 bits para uma criptografia AES ( Advanced Encryption Standard ).
CRYPT_AES_256_KEY_STATE Especifica as informações de chave simétrica de 256 bits para uma criptografia AES.
CRYPT_ALGORITHM_IDENTIFIER Contém o OID (identificador de objeto ) do algoritmo e todos os 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 de CRYPT_DATA_BLOB .
CRYPT_CONTENT_INFO Contém dados codificados no formato de dados ContentInfo do PKCS nº 7.
CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY Contém informações que representam a sequência de certificados do Netscape de certificados.
CRYPT_DEFAULT_CONTEXT_MULTI_OID_PARA Usada com a função CryptInstallDefaultContext 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 a Criptografia de Curva Elíptica (ECC) no tipo de conteúdo EnvelopedData da Sintaxe de Mensagem Criptográfica (CMS).
CRYPT_ENCRYPTED_PRIVATE_KEY_INFO Contém as informações de uma chave privada PKCS nº 8 criptografada.
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 em nomes apropriados para o tipo.
CRYPT_KEY_LIMITS Dá suporte à função CryptGetLocalKeyLimits não implementada 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 provedor de serviços criptográficos específico (CSP) ou para criar ou destruir um contêiner de chaves.
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 nº 1 v2.1.
CRYPT_OBJECT_LOCATOR_PROVIDER_TABLE Contém ponteiros para funções implementadas por um provedor de localização 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 nº 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, um IV ( vetor de inicialização ) ou uma chave MAC ( Código de Autenticação de Mensagem ) para um algoritmo de criptografia baseado em senha PKCS nº 12 .
CRYPT_PRIVATE_KEY_INFO Contém as informações de uma chave privada PKCS nº 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 a serem passadas para a função CryptRetrieveObjectByUrl .
CRYPT_RSA_SSA_PSS_PARAMETERS Contém os parâmetros para uma assinatura RSA PKCS nº 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 Essa 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 chave.
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 CUC (Cryptnet URL Cache) 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 as funções CryptProtectData e CryptUnprotectData .
CRYPTUI_INITDIALOG_STRUCT Dá suporte à estrutura CRYPTUI_VIEWCERTIFICATE_STRUCT .
CRYPTUI_SELECTCERTIFICATE_STRUCT Contém informações sobre a caixa de diálogo exibida pela função CryptUIDlgSelectCertificate .
CRYPTUI_VIEWCERTIFICATE_STRUCT Contém informações sobre um certificado a ser exibido. Ele é usado na função CryptUIDlgViewCertificate .
CRYPTUI_VIEWSIGNERINFO_STRUCT Contém informações para a função CryptUIDlgViewSignerInfo .
CRYPTUI_WIZ_EXPORT_CERTCONTEXT_INFO Contém informações que controlam a operação da função 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ção CryptUIWizExport .
CRYPTUI_WIZ_IMPORT_SRC_INFO Contém o assunto a ser importado para a função CryptUIWizImport .
DHPRIVKEY_VER3 Contém informações específicas para a chave privada específica contida no BLOB de chave.
DHPUBKEY Contém informações específicas para a chave pública 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.
BLOBs de chave privada Diffie-Hellman versão 3 Usado para exportar e importar informações sobre uma chave privada DH.
BLOBs de chave pública Diffie-Hellman versão 3 Usado para exportar e importar informações sobre uma chave pública DH.
BLOBs de chave privada da versão 3 do DSS Usado para exportar e importar informações sobre uma chave privada DH.
BLOBs de chave pública da versão 3 do DSS 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 de semente e contador que podem ser usados para verificar os primos da chave pública DSS.
HMAC_INFO Especifica o algoritmo de hash e as cadeias de caracteres internas e externas que devem ser usadas para calcular o hash HMAC ( Código de Autenticação de Mensagem Baseado em Hash ).
KEYSVC_BLOB Define um BLOB de serviço de chave.
KEYSVC_UNICODE_STRING Define uma cadeia de caracteres Unicode de serviço de chave.
OCSP_BASIC_RESPONSE_ENTRY Contém o certificado atual status 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 êxito 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 BLOB de uma chave e o algoritmo que a chave usa.
ROOT_INFO_LUID Contém um LUID ( identificador exclusivo local ) para informações 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 de algoritmo e tamanho da chave.
SIGNER_ATTR_AUTHCODE Especifica atributos para uma assinatura Authenticode .
SIGNER_BLOB_INFO Especifica um BLOB a ser assinado.
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 repositório de certificados.
SIGNER_CERT_STORE_INFO Especifica o repositório 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 as informações de CSP e 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 Certificado do Editor de Software (SPC) e uma cadeia de certificados usadas para assinar um documento.
SIGNER_SUBJECT_INFO Especifica um assunto a ser assinado.

 

Estruturas de certificado comuns

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 (Algoritmo de Assinatura Digital de Curva Elíptica).
CERT_EXTENSION Contém as informações de extensão para um certificado, CRL ( lista de certificados revogados ) ou CTL ( lista de certificados confiáveis ).
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 uma 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 membro pvData de um membro Value 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ção CertOpenStore 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 tipo de logotipo de áudio.
CERT_LOGOTYPE_AUDIO_INFO Contém informações mais detalhadas sobre um tipo de logotipo de áudio.
CERT_LOGOTYPE_DATA Contém dados de tipo de logotipo.
CERT_LOGOTYPE_DETAILS Contém informações adicionais sobre um tipo de logotipo.
CERT_LOGOTYPE_EXT_INFO Contém um conjunto de informações de tipo de logotipo.
CERT_LOGOTYPE_IMAGE Contém informações sobre um tipo de logotipo de imagem.
CERT_LOGOTYPE_IMAGE_INFO Contém informações mais detalhadas sobre um tipo de logotipo de imagem.
CERT_LOGOTYPE_INFO Contém informações sobre dados de tipo de logotipo.
CERT_LOGOTYPE_REFERENCE Contém informações de referência de tipo de logotipo.
CERT_NAME_CONSTRAINTS_INFO Contém informações sobre certificados 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 de CERT_RDN .
CERT_NAME_VALUE Contém um valor de atributo RDN ( nome diferenciado relativo ).
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 certificado cruzado de par.
CERT_PHYSICAL_STORE_INFO Contém informações sobre repositórios de certificados físicos.
CERT_POLICY_CONSTRAINTS_INFO Contém políticas estabelecidas para aceitar certificados como confiáveis.
CERT_POLICY_MAPPING Contém um mapeamento entre o domínio do emissor e os OIDs da política 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 QC (Certificado Qualificado).
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 QC (Certificado Qualificado) para um QC.
CERT_RDN Contém um RDN ( nome diferenciado relativo ) que consiste em uma matriz de estruturas CERT_RDN_ATTR .
CERT_RDN_ATTR Contém um único atributo de um RDN ( nome diferenciado relativo ).
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 crl.
CERT_REVOCATION_PARA Opcionalmente, essa estrutura pode ser passada para CertVerifyRevocation para ajudar a localizar 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 sobre os quais selecionar certificados apresentados em uma caixa de diálogo de seleção de certificado. Essa estrutura é usada na função CertSelectCertificate .
CERT_SIGNED_CONTENT_INFO Contém conteúdo codificado a ser assinado e um BLOB para manter a assinatura.
CERT_STORE_PROV_FIND_INFO Essa estrutura é usada por muitas das funções de retorno de chamada do provedor de repositório.
CERT_STORE_PROV_INFO Contém informações retornadas pelo CertDllOpenStoreProv instalado quando um repositório é aberto com CertOpenStore.
CERT_STRONG_SIGN_PARA Contém parâmetros usados para marcar para assinaturas fortes em certificados, CRLs, reponses OCSP e mensagens PKCS nº 7.
CERT_STRONG_SIGN_SERIALIZED_INFO Contém oalgoritmo de hash do algoritmo/ de assinatura e os pares decomprimento de bit do algoritmo / de chave públicaque podem ser usados para assinatura forte.
CERT_SUBJECT_INFO_ACCESS Esse é um sinônimo da estrutura CERT_AUTHORITY_INFO_ACCESS .
CERT_SYSTEM_STORE_INFO Contém informações usadas por funções que funcionam com repositórios do sistema.
CERT_SYSTEM_STORE_RELOCATE_PARA Contém dados a serem passados para CertOpenStore quando o parâmetro dwFlags dessa função é definido como CERT_SYSTEM_STORE_RELOCATE_FLAG.
CERT_TEMPLATE_EXT Essa 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 Opcionalmente, essa estrutura é apontada por um membro da estrutura CERT_X942_DH_PARAMETERS e contém informações adicionais de semente.
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 Essa estrutura fornece um meio de comunicar diferentes partes de informações marcadas.
CMC_PEND_INFO Essa estrutura é um possível membro de uma estrutura de CMC_STATUS_INFO .
CMC_RESPONSE_INFO Essa estrutura fornece um meio de comunicar diferentes partes de informações marcadas.
CMC_STATUS_INFO Contém status informações sobre mensagens de gerenciamento de certificados por CMS.
CMC_TAGGED_ATTRIBUTE Essa estrutura é usada nas estruturas CMC_DATA_INFO e CMC_RESPONSE_INFO .
CMC_TAGGED_CERT_REQUEST Essa estrutura é usada na estrutura CMC_TAGGED_REQUEST .
CMC_TAGGED_CONTENT_INFO Essa estrutura é usada nas estruturas CMC_DATA_INFO e CMC_RESPONSE_INFO .
CMC_TAGGED_OTHER_MSG Essa estrutura é usada 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. Ele é membro de uma estrutura CRL_INFO .
CRL_INFO Contém as informações de uma CRL (lista de revogação de certificados).
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 no 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 certificado ).
CTL_FIND_SUBJECT_PARA Contém dados usados por CertFindCTLInStore com um dwFindType de CTL_FIND_SUBJECT para localizar uma CTL ( lista de certificados confiáveis ).
CTL_FIND_USAGE_PARA Essa estrutura é 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 certificado ).
CTL_MODIFY_REQUEST Contém uma solicitação para modificar uma lista de confiança do certificado. Essa estrutura é usada na função CertModifyCertificatesToTrust .
CTL_USAGE Contém uma matriz de OIDs (Identificadores de Objeto) para extensões de CTL ( lista de confiança de certificado ).
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 CTL ( lista de confiança de certificado ) retornada por CertVerifyCTLUsage.

 

Estruturas de extensão de certificado X.509

As estruturas a seguir estão associadas a estruturas de CERT_EXTENSION X.509.

Estrutura Descrição
CERT_ACCESS_DESCRIPTION Essa estrutura é membro de uma estrutura CERT_AUTHORITY_INFO_ACCESS .
CERT_ALT_NAME_ENTRY Contém um nome alternativo em uma de uma variedade de formulários de nome.
CERT_ALT_NAME_INFO Usado em extensões de codificação e decodificação para certificados de entidade ou emissor, CRLs ( lista de certificados revogados ) e CTLs ( lista de confiança do certificado ).
CERT_AUTHORITY_INFO_ACCESS Representa o acesso às informações de autoridade e as extensões de certificado de acesso de entidade 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 um certificado ou CRL.
CERT_AUTHORITY_KEY_ID2_INFO Identifica a chave usada para assinar um certificado ou CRL. Ele difere da estrutura de CERT_AUTHORITY_KEY_ID_INFO , pois 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 a entidade certificada pode atuar como uma AC, uma entidade final ou ambas.
CERT_BASIC_CONSTRAINTS2_INFO Contém informações que indicam se a entidade certificada pode atuar como uma AC 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 dá suporte expressamente, juntamente com informações de qualificador opcionais relativas a essas políticas.
CERT_POLICY_INFO Contém um OID (identificador de objeto) que especifica uma política e uma matriz opcional de qualificadores de política.
CERT_POLICY_QUALIFIER_INFO Contém um OID (identificador de objeto) que especifica as informações complementares específicas do qualificador e 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 crl que um usuário de certificado pode referenciar para determinar se os certificados foram revogados.
CRL_DIST_POINT_NAME Identifica um local 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 membro Value de uma estrutura CERT_EXTENSION usando as funções CryptEncodeObject e CryptEncodeObjectEx . Eles são criados e retornados pelas funções CryptDecodeObject e CryptDecodeObjectEx quando o membro Value de uma estrutura de CERT_EXTENSION é decodificado.

A estrutura codificada ou criada depende do membro da cadeia de caracteres pszObjId da estrutura CERT_EXTENSION .

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

Observação

A constante predefinida (coluna 1) e seu OID correspondente (coluna 2) podem ser usados de forma intercambiável.

 

Constante predefinida OID (identificador de objeto) Estrutura de 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 mensagens

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ção CryptMsgGetParam para obter informações sobre um destinatário de mensagem de envelope de transporte de chave, contrato de chave ou lista de emails.
CMSG_CMS_SIGNER_INFO Essa estrutura contém o conteúdo do SignerInfo definido em mensagens assinadas ou assinadas e envolvidas.
CMSG_CNG_CONTENT_DECRYPT_INFO Contém todas as informações relevantes passadas entre as funções instaláveis CryptMsgControl e OID para a importação e descriptografia de uma CEK (chave de criptografia: CNG) de última geração.
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_AGREE e OID (identificador de objeto PFN_CMSG_EXPORT_MAIL_LIST) 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 em envelope para um destinatário de transporte de chave. Essa estrutura será 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 de contrato de chave.
CMSG_CTRL_KEY_TRANS_DECRYPT_PARA Essa estrutura que contém informações sobre um destinatário de 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 emails.
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, o contexto do certificado ou o contexto da cadeia.
CMSG_ENVELOPED_ENCODE_INFO Essa estrutura contém informações necessárias para codificar uma mensagem em envelope. Ele será passado para CryptMsgOpenToEncode se dwMsgType for CMSG_ENVELOPED.
CMSG_ENVELOPED_HASHED_INFO Essa estrutura é usada com mensagens com hash . Ele será passado para CryptMsgOpenToEncode se dwMsgType for 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 enveloped.
CMSG_KEY_AGREE_KEY_ENCRYPT_INFO Contém a chave criptografada para um destinatário de um contrato de chave de uma mensagem enveloped.
CMSG_KEY_TRANS_ENCRYPT_INFO Contém informações de criptografia para um destinatário de transporte chave de dados enveloped.
CMSG_MAIL_LIST_ENCRYPT_INFO Contém informações de criptografia para um destinatário de lista de endereçamento de dados enveloped.
CMSG_KEY_AGREE_RECIPIENT_ENCODE_INFO Essa estrutura contém informações sobre um destinatário de mensagens 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 Essa estrutura contém informações usadas em algoritmos de transporte de chave.
CMSG_MAIL_LIST_RECIPIENT_ENCODE_INFO Essa estrutura é usada com chaves simétricas distribuídas anteriormente para descriptografar a KEK (chave de criptografia de chave de conteúdo).
CMSG_MAIL_LIST_RECIPIENT_INFO Essa estrutura contém informações usadas para KEK (chaves de criptografia de chave ) simétricas distribuídas anteriormente.
CMSG_RC2_AUX_INFO Essa estrutura contém o comprimento do bit da chave para algoritmos de criptografia RC2. O membro pvEncryptionAuxInfo no CMSG_ENVELOPED_ENCODE_INFOpode ser definido para apontar para uma instância dessa estrutura.
CMSG_RC4_AUX_INFO Essa estrutura contém o comprimento do bit da chave para algoritmos de criptografia RC4. O membro 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 do 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 receptor de mensagem usado para descriptografar a chave de sessão necessária para descriptografar o conteúdo da mensagem. Essa estrutura é usada com mensagens de baixo nível cms usando qualquer um dos métodos de gerenciamento de chave.
CMSG_RECIPIENT_ENCRYPTED_KEY_INFO Essa estrutura contém informações usadas para um destinatário de contrato de chave individual.
CMSG_SIGNED_ENCODE_INFO Essa estrutura contém informações a serem passadas para CryptMsgOpenToEncode se dwMsgType for 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 Essa estrutura contém o conteúdo do PKCS nº 7 definido SignerInfo em mensagens assinadas.
CMSG_SP3_COMPATIBLE_AUX_INFO Essa estrutura contém informações necessárias para criptografia compatível com SP3.
CMSG_STREAM_INFO Essa estrutura é usada para habilitar o processamento de dados de fluxo em vez de processamento de bloco único. O processamento de fluxo é usado com mais frequência 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 uma ROM de CD.
CRYPT_DECRYPT_MESSAGE_PARA Contém informações para descriptografar mensagens.
CRYPT_ENCRYPT_MESSAGE_PARA Contém informações usadas para criptografar mensagens.
CRYPT_HASH_MESSAGE_PARA Contém dados para mensagens de hash .
CRYPT_SIGN_MESSAGE_PARA Contém informações para assinar mensagens usando um contexto de certificado de autenticação especificado .
CRYPT_VERIFY_MESSAGE_PARA Contém informações necessárias para verificar uma mensagem assinada.

 

Estruturas de suporte do OID

As estruturas a seguir são usadas pelas funções de suporte do OID.

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

 

Estruturas de 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 de arquivos na cadeia de certificados.
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 resumida 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 no CertFindChainInStore para criar cadeias de certificados.
CERT_CHAIN_PARA Estabelece os critérios de pesquisa e correspondência a serem usados na criaçã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 a cadeia de certificados status informações 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 criar e selecionar cadeias.
CERT_SIMPLE_CHAIN Contém uma matriz de elementos de cadeia e uma relação de confiança resumida status para a cadeia que a matriz representa.
CERT_SELECTUI_INPUT Usada pela função CertSelectionGetSerializedBlob para serializar os certificados contidos em um repositório ou uma matriz de cadeias de certificados. O BLOB serializado retornado pode ser passado para a função CredUIPromptForWindowsCredentials .
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 resumida 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 do emissor usados para criar uma cadeia de certificados.
CTL_USAGE_MATCH Fornece parâmetros para localizar CTL ( listas de confiança de certificado ) usadas 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 de cliente/servidor SSL ( Secure Sockets Layer ).

 

Estruturas CSP

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

Estrutura Descrição
BLOBHEADER Indica o tipo 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 não criptografado.

 

Estruturas WinTrust

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

Estrutura Descrição
CRYPT_PROVIDER_DEFUSAGE Usada pela função WintrustGetDefaultForUsage para recuperar informações de retorno de chamada para o uso padrão de um provedor.
CRYPT_PROVIDER_REGDEFUSAGE Usada pela função WintrustAddDefaultForUsage 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 por 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 de CMSG_SIGNER_INFO .

 

Estruturas SIP

As estruturas a seguir são usadas pelo pacote de interface do assunto (funções SIP).

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 com hash.
SIP_SUBJECTINFO Especifica informações de assunto SIP.