Compartilhar 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
  • estruturas gerais de criptografia
  • estruturas de certificado comuns
  • estruturas de extensão de certificado X.509
  • estruturas de mensagens
  • estruturas de suporte OID
  • estruturas de cadeia de certificados
  • estruturas CSP
  • estruturas WinTrust
  • estruturas SIP

Estruturas CryptXML

As estruturas a seguir são usadas pelo de funçõesCryptXML .

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 de 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 X.509 nome diferenciado emitido– par de números de série.
CRYPT_XML_KEY_DSA_KEY_VALUE Define um valor de chavede algoritmo de assinatura digital(DSA). 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 (Algoritmo de Assinatura Digital de Curva Elíptica). 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 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 valores 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çãoCryptXmlSign para especificar os membros do elemento KeyInfo 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 popular o elemento de Referência de.
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 da assinatura, informações de status de resumo sobre um elemento signedInfo ou informações de status de resumo sobre uma matriz de elementos de referência de.
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 de X.509 que devem ser codificados em um elemento nomeado X509Data.

 

Estruturas gerais de criptografia

As estruturas a seguir são usadas pelo base de funções de criptografia.

Estrutura Descrição
CMS_DH_KEY_INFO Usado com o parâmetro KP_CMS_DH_KEY_INFO na funçãoCryptSetKeyParam para conter informações de chave de 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 de identificador de objeto (OID) 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 CRYPT_DATA_BLOB.
CRYPT_CONTENT_INFO Contém dados codificados no formato de dados ContentInfo 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 Usado com a funçãoCryptInstallDefaultContext para conter uma matriz de cadeias de caracteres do 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 um PKCS nº 8 criptografado 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 em nomes apropriados para digitar.
CRYPT_KEY_LIMITS Dá suporte à funçãoCryptGetLocalKeyLimits não simplificada 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 em um determinado provedor de serviços criptográficos (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 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, de vetor de inicialização (IV) ou 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 de 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 nº 1 v2.1.
CRYPT_RSAES_OAEP_PARAMETERS Contém os parâmetros de 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 as IDs de cartão inteligente e 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 de 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 da funçãoCryptUIWizExport 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 node 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 do 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 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 de semente e contador 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 HMAC ( de Código de Autenticação de Mensagem).
KEYSVC_BLOB Define um BLOB de serviço de chave.
KEYSVC_UNICODE_STRING Define um serviço de chave cadeia de Unicode.
OCSP_BASIC_RESPONSE_ENTRY Contém o status do certificado atual para um único certificado.
OCSP_BASIC_RESPONSE_INFO Contém uma resposta OCSP básica, conforme especificado por 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 por 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 opcionais de assinatura.
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 ( de identificador local exclusivo) para informações raiz do 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 umblobpara 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 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 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 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úblicaDiffie-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 de um certificado , CRL (lista de certificados revogados) ou (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 uma URL 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 que são especificamente permitidos ou excluídos da confiança.
CERT_NAME_INFO Contém nomes de entidade 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 nome diferenciado 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 certificado cruzado de par.
CERT_PHYSICAL_STORE_INFO Contém informações sobre repositórios de certificados de 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 de 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 nome diferenciado relativo (RDN) que consiste em uma matriz de estruturas CERT_RDN_ATTR.
CERT_RDN_ATTR Contém um único atributo de um nome diferenciado 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 crl.
CERT_REVOCATION_PARA Essa estrutura pode, opcionalmente, 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 que são apresentados em uma caixa de diálogo de seleção de certificado. Essa estrutura é usada na funçãoCertSelectCertificate.
CERT_SIGNED_CONTENT_INFO Contém conteúdo codificado a ser assinado e uma 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 peloCertDllOpenStoreProv doinstalado quando um repositório é aberto com CertOpenStore.
CERT_STRONG_SIGN_PARA Contém parâmetros usados para verificar se há assinaturas fortes em certificados, CRLs, reponses OCSP e mensagens PKCS nº 7.
CERT_STRONG_SIGN_SERIALIZED_INFO Contém o algoritmo de assinatura /algoritmo de hash e algoritmo de chave pública/bits de comprimento pares que podem ser usados para assinatura forte.
CERT_SUBJECT_INFO_ACCESS Esse é 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 repositórios de sistema.
CERT_SYSTEM_STORE_RELOCATE_PARA Contém dados a serem passados para CertOpenStore quando o parâmetro dwFlags da função for 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 Essa estrutura é, opcionalmente, apontada por um membro da estrutura de 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 CMC_STATUS_INFO.
CMC_RESPONSE_INFO Essa 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 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 de 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 certificados revogados).
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 umade lista de confiança de certificado(CTL).
CTL_FIND_SUBJECT_PARA Contém dados usados peloCertFindCTLInStorecom um dwFindType de CTL_FIND_SUBJECT para localizar umade lista de confiança de certificado(CTL).
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 umade lista de confiança do certificado(CTL).
CTL_MODIFY_REQUEST Contém uma solicitação para modificar uma lista de confiança de certificado. Essa estrutura é usada na funçãoCertModifyCertificatesToTrust.
CTL_USAGE Contém uma matriz de OIDs (Identificadores de Objeto) para extensões dede lista de confiança de certificado (CTL) de.
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 umade lista de confiança de certificado(CTL) 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 das várias formas de nome.
CERT_ALT_NAME_INFO Usado em extensões de codificação e decodificação para certificados de entidade ou emissor , de lista de revogação de certificados (CRLs) e de lista de confiança de certificado (CTLs).
CERT_AUTHORITY_INFO_ACCESS Representa o acesso às informações da autoridade e as extensões de certificado de acesso de 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 um certificado ou CRL.
CERT_AUTHORITY_KEY_ID2_INFO Identifica a chave usada para assinar um certificado ou CRL. É diferente 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 o assunto certificado pode atuar como uma AC, uma entidade final ou ambos.
CERT_BASIC_CONSTRAINTS2_INFO Contém informações que indicam se o assunto certificado 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 qualificação opcionais relativas a essas políticas.
CERT_POLICY_INFO Contém um OID (identificador de objeto) especificando 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 de CRL que um usuário de certificado pode fazer referência 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 fazer referência para determinar se o certificado foi revogado.

 

Essas estruturas podem ser codificadas no Value membro de uma estrutura CERT_EXTENSION usando as funçõesCryptEncodeObject eCryptEncodeObjectEx. Eles são criados e retornados pelas funções CryptDecodeObject e CryptDecodeObjectEx quando o Value membro de uma estrutura 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 delas, são mostradas na tabela a seguir.

Nota

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

 

Constante predefinida Identificador de objeto (OID) 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 transporte de chave, contrato de chave ou destinatário de mensagem de envelope de lista de emails.
CMSG_CMS_SIGNER_INFO Essa estrutura contém o conteúdo do SignerInfo definido em mensagens assinadas ou assinadas e envelopes.
CMSG_CNG_CONTENT_DECRYPT_INFO Contém todas as informações relevantes passadas entre funções instaláveis CryptMsgControl e OID para importação e descriptografia de uma CEK (chave de criptografia 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_AGREEe PFN_CMSG_EXPORT_MAIL_LIST de identificador de objeto (OID) 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 de CERT_PUBLIC_KEY_INFOdo signatário, contexto de certificadoou contexto de 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 estiver CMSG_ENVELOPED.
CMSG_ENVELOPED_HASHED_INFO Essa estrutura é usada com mensagens de hash. Ele será 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 enveloped.
CMSG_KEY_AGREE_KEY_ENCRYPT_INFO Contém a chave criptografada para um destinatário de 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 envolvidos.
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 do contrato de chave.
CMSG_KEY_TRANS_RECIPIENT_ENCODE_INFO Essa estrutura contém informações de transporte de chave codificadas para um destinatário de 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) 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 CMSG_SIGNED.
CMSG_SIGNER_ENCODE_INFO Essa estrutura contém informações do signatário. Ele é passado para CryptMsgCountersign, CryptMsgCountersignEncodede, 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 SignerInfo definido PKCS nº 7 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 geralmente é 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 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 de hash.
CRYPT_SIGN_MESSAGE_PARA Contém informações para assinar mensagens usando uma assinatura especificada contexto de certificado.
CRYPT_VERIFY_MESSAGE_PARA Contém informações necessárias para verificar uma mensagem assinada.

 

Estruturas de suporte de OID

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

Estrutura Descrição
CRYPT_OID_FUNC_ENTRY Contém um 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 de 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 a 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 do 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 em 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 a criação de 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 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 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 criar e selecionar cadeias.
CERT_SIMPLE_CHAIN Contém uma matriz de elementos de cadeia e um status de confiança resumida 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. OBLOB deserializado retornado 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 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 emissores usados para criar uma cadeia de certificados.
CTL_USAGE_MATCH Fornece parâmetros para localizar listas de confiança de certificado (CTL) 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 de de provedor de serviços criptográficos (CSP).

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 sem formatação.

 

Estruturas WinTrust

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

Estrutura Descrição
CRYPT_PROVIDER_DEFUSAGE Usado pela funçãoWintrustGetDefaultForUsage para recuperar informações de retorno de chamada para o uso padrão de um provedor.
CRYPT_PROVIDER_REGDEFUSAGE Usado 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 por 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 hash.
SIP_SUBJECTINFO Especifica informações do assunto SIP.