Funções de criptografia

As funções de criptografia são categorizadas de acordo com o uso da seguinte maneira:

Funções CryptXML

As funções XML de criptografia fornecem uma API para criar e representar assinaturas digitais usando dados XML formatados. Para obter informações sobre assinaturas formatadas XML, consulte a sintaxe de XML-Signature e a especificação de processamento em https://go.microsoft.com/fwlink/p/?linkid=139649 .

Função Descrição
Um _ SHAFinal Computa o hash final dos dados inseridos pela função MD5Update.
Um _ SHAInit Inicia o hash de um fluxo de dados.
Um _ SHAUpdate Adiciona dados a um objeto hash especificado.
CryptXmlCreateReference Cria uma referência a uma assinatura XML.
CryptXmlAddObject Adiciona o elemento Object à assinatura no contexto do documento aberto para codificação.
CryptXmlClose Fecha um identificador de objeto XML criptográfico.
CryptXmlDigestReference Usado por um aplicativo para resumir a referência resolvida. Essa função aplica transformações antes de atualizar o resumo.
CryptXmlDllCloseDigest Libera o _ Resumo XML cript _ . alocado pela função CryptXmlDllCreateDigest .
CryptXmlDllCreateDigest Cria um objeto de resumo para o método especificado.
CryptXmlDllCreateKey Analisa o elemento KeyValue e cria um identificador de chave de CNG (Cryptography API: Next Generation) BCrypt para verificar uma assinatura.
CryptXmlDllDigestData Coloca os dados no resumo.
CryptXmlDllEncodeAlgorithm Codifica os elementos SignatureMethod ou DigestMethod para algoritmos Agile com parâmetros padrão.
CryptXmlDllEncodeKeyValue Codifica um elemento KeyValue .
CryptXmlDllFinalizeDigest Recupera o valor de resumo.
CryptXmlDllGetAlgorithmInfo Decodifica o algoritmo XML e retorna informações sobre o algoritmo.
CryptXmlDllGetInterface Recupera um ponteiro para as funções de extensão criptográficas para o algoritmo especificado.
CryptXmlDllSignData Assina dados.
CryptXmlDllVerifySignature Verifica uma assinatura.
CryptXmlEncode Codifica dados de assinatura usando a função de retorno de chamada do gravador XML fornecida.
CryptXmlGetAlgorithmInfo Decodifica a _ estrutura de algoritmo XML cript _ e retorna informações sobre o algoritmo.
CryptXmlGetDocContext Retorna o contexto do documento especificado pelo identificador fornecido.
CryptXmlGetReference Retorna o elemento Reference especificado pelo identificador fornecido.
CryptXmlGetSignature Retorna um elemento de assinatura XML.
CryptXmlGetStatus Retorna uma estrutura de _ _ status XML cript que contém informações de status sobre o objeto especificado pelo identificador fornecido.
CryptXmlGetTransforms Retorna informações sobre o mecanismo de cadeia de transformação padrão.
CryptXmlImportPublicKey Importa a chave pública especificada pelo identificador fornecido.
CryptXmlOpenToEncode Abre uma assinatura digital XML para codificar e retornar um identificador do elemento de assinatura aberto. O handle encapsula um contexto de documento com uma única estrutura CRYPT _ XML _ SIGNATURE e permanece aberto até que a função CryptXmlClose seja chamada.
CryptXmlOpenToDecode Abre uma assinatura digital XML para decodificar e retorna o handle do contexto do documento que encapsula uma estrutura CRYPT _ XML _ SIGNATURE. O contexto do documento pode incluir um ou mais elementos Signature.
CryptXmlSetHMACSecret Define o segredo HMAC no handle antes de chamar a função CryptXmlSign ou CryptXmlVerify.
CryptXmlSign Cria uma assinatura criptográfica de um elemento SignedInfo.
CryptXmlVerifySignature Executa uma validação de assinatura criptográfica de um elemento SignedInfo.
RETORNO DE CHAMADA DE GRAVAÇÃO _ _ XML DE CRIPTOGRAFIA _ PFN _ Cria uma transformação para um provedor de dados especificado.
PFN _ CRYPT _ XML _ CREATE _ TRANSFORM Grava dados XML criptográficos.
LEITURA DO PROVEDOR DE _ DADOS XML DE CRIPTOGRAFIA _ _ _ _ PFN Lê dados XML criptográficos.
PFN _ CRYPT _ XML _ DATA _ PROVIDER _ CLOSE Libera o provedor de dados XML criptográfico.
INFORMAÇÕES DE ALG PFN _ _ CRYPT XML _ _ ENUM _ Enumera entradas predefinidos e registradas DE INFORMAÇÕES DE ALGORITMO XML _ _ _ DE CRYPT.

Funções de signante

Fornece funções para assinar e dados de carimbo de data/hora.

Função Descrição
SignerFreeSignerContext Libera uma estrutura SIGNER _ CONTEXT alocada por uma chamada anterior à função SignerSignEx.
SignError Chama a função GetLastError e converte o código de retorno em um HRESULT.
SignerSign Assina o arquivo especificado.
SignerSignEx Assina o arquivo especificado e retorna um ponteiro para os dados assinados.
SignerSignEx2 Assina e marca o carimbo de data/hora do arquivo especificado, permitindo várias assinaturas aninhadas.
SignerTimeStamp Carimbos de data/hora do assunto especificado. Essa função dá suporte à carimbo de data/hora authenticode. Para executar o carimbo de data/hora da Infraestrutura de Chave Pública X.509 (RFC 3161), use a função SignerTimeStampEx2.
SignerTimeStampEx Carimbos de data/hora do assunto especificado e, opcionalmente, retorna um ponteiro para uma estrutura SIGNER _ CONTEXT que contém um ponteiro para um BLOB. Essa função dá suporte à carimbo de data/hora authenticode. Para executar o carimbo de data/hora da Infraestrutura de Chave Pública X.509 (RFC 3161), use a função SignerTimeStampEx2.
SignerTimeStampEx2 Carimbos de data/hora do assunto especificado e, opcionalmente, retorna um ponteiro para uma estrutura SIGNER _ CONTEXT que contém um ponteiro para um BLOB. Essa função pode ser usada para executar a Infraestrutura de Chave Pública X.509, carimbos de data/hora compatíveis com RFC 3161.
SignerTimeStampEx3 Carimbos de data/hora do assunto especificado e dá suporte à configuração de carimbos de data/hora em várias assinaturas.

Funções de criptografia base

As funções criptográficas base fornecem os meios mais flexíveis de desenvolver aplicativos de criptografia. Toda a comunicação com um CSP (provedor de serviços criptográficos) ocorre por meio dessas funções.

Um CSP é um módulo independente que executa todas as operações criptográficas. Pelo menos um CSP é necessário com cada aplicativo que usa funções criptográficas. Ocasionalmente, um único aplicativo pode usar mais de um CSP.

Se mais de um CSP for usado, aquele a ser usado poderá ser especificado nas chamadas de função criptográfica CryptoAPI. Um CSP, o Provedor criptográfico base da Microsoft, é agrupado com o CryptoAPI. Esse CSP será usado como um provedor padrão por muitas das funções CryptoAPI se nenhum outro CSP for especificado.

Cada CSP fornece uma implementação diferente do suporte criptográfico fornecido ao CryptoAPI. Alguns fornecem algoritmos criptográficos mais fortes; outros contêm componentes de hardware, como cartões inteligentes. Além disso, alguns CSPs ocasionalmente podem se comunicar diretamente com os usuários, como quando assinaturas digitais são executadas usando a chave privada de assinatura do usuário.

As funções criptográficas base estão nos seguintes grupos amplos:

  • Funções do provedor de serviços
  • Funções de geração e Exchange chave
  • Funções de codificação e decodificação de objeto
  • Funções de criptografia e descriptografia de dados
  • Funções de hash e assinatura digital

Funções do provedor de serviços

Os aplicativos usam as funções de serviço a seguir para se conectar e desconectar um CSP (provedor de serviços de criptografia).

Função Descrição
Cryptacquirecontext
[!Important]
Essa API está preterida. Softwares novos e existentes devem começar a usar Cryptography Next Generation APIs. A Microsoft pode remover essa API em versões futuras.

Adquire um alça para o contêiner de chave do usuário atual dentro de um CSP específico.
CryptContextAddRef
[!Important]
Essa API está preterida. Softwares novos e existentes devem começar a usar Cryptography Next Generation APIs. A Microsoft pode remover essa API em versões futuras.

Incrementa a contagem de referência em um alça HCRYPTPROV.
CryptEnumProviders
[!Important]
Essa API está preterida. Softwares novos e existentes devem começar a usar Cryptography Next Generation APIs. A Microsoft pode remover essa API em versões futuras.

Enumera os provedores em um computador.
CryptEnumProviderTypes
[!Important]
Essa API está preterida. Softwares novos e existentes devem começar a usar Cryptography Next Generation APIs. A Microsoft pode remover essa API em versões futuras.

Enumera os tipos de provedores com suporte no computador.
CryptGetDefaultProvider
[!Important]
Essa API está preterida. Softwares novos e existentes devem começar a usar Cryptography Next Generation APIs. A Microsoft pode remover essa API em versões futuras.

Determina o CSP padrão para o usuário atual ou para o computador para um tipo de provedor especificado.
Cryptgetprovparam
[!Important]
Essa API está preterida. Softwares novos e existentes devem começar a usar Cryptography Next Generation APIs. A Microsoft pode remover essa API em versões futuras.

Recupera os parâmetros que regem as operações de um CSP.
CryptInstallDefaultContext
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Instala um contexto HCRYPTPROV adquirido anteriormente para ser usado como um contexto padrão.
CryptReleaseContext
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Libera o identificador adquirido pela função CryptAcquireContext .
CryptSetProvider e CryptSetProviderEx
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Especifica o CSP padrão do usuário para um tipo de CSP específico.
CryptSetProvParam
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Especifica os atributos de um CSP.
CryptUninstallDefaultContext
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Remove um contexto padrão instalado anteriormente pelo CryptInstallDefaultContext.
FreeCryptProvFromCertEx Libera o identificador para um CSP ( provedor de serviços de criptografia ) ou para uma chave de Cryptography API: próxima geração (CNG).

funções de geração de chave e Exchange

As funções de geração de chave e troca trocam chaves com outros usuários e criam, configuram e destruim chaves criptográficas.

Função Descrição
CryptDeriveKey
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Cria uma chave derivada de uma senha.
CryptDestroyKey
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Destrói uma chave.
CryptDuplicateKey
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Faz uma cópia exata de uma chave, incluindo o estado da chave.
CryptExportKey
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Transfere uma chave do CSP para um blob de chave no espaço de memória do aplicativo.
CryptGenKey
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Cria uma chave aleatória.
CryptGenRandom
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Gera dados aleatórios.
CryptGetKeyParam
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Recupera os parâmetros de uma chave.
CryptGetUserKey
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Obtém um identificador para a chave de assinatura ou troca de chaves.
CryptImportKey
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Transfere uma chave de um blob de chave para um CSP.
CryptSetKeyParam
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Especifica os parâmetros de uma chave.

Codificação de objeto e funções de decodificação

Essas são funções generalizadas de codificação e decodificação. Eles são usados para codificar e decodificar certificados, listas de certificados revogados (CRLs), solicitações de certificadoe extensões de certificado.

Função Descrição
CryptDecodeObject Decodifica uma estrutura do tipo lpszStructType.
CryptDecodeObjectEx Decodifica uma estrutura do tipo lpszStructType. CryptDecodeObjectEx dá suporte à opção de alocação de memória de passagem única.
CryptEncodeObject Codifica uma estrutura do tipo lpszStructType.
CryptEncodeObjectEx Codifica uma estrutura do tipo lpszStructType. CryptEncodeObjectEx dá suporte à opção de alocação de memória de passagem única.

Criptografia de dados e funções de descriptografia

As funções a seguir dão suporte a operações de criptografia e descriptografia. CryptEncrypt e CryptDecrypt exigem uma chave criptográfica antes de serem chamadas. Isso é feito usando a função CryptGenKey, CryptDeriveKeyou CryptImportKey . O algoritmo de criptografia é especificado quando a chave é criada. CryptSetKeyParam pode definir parâmetros de criptografia adicionais.

Função Descrição
CryptDecrypt
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Descriptografa uma seção de texto cifrado usando a chave de criptografia especificada.
CryptEncrypt
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Criptografa uma seção de texto não criptografado usando a chave de criptografia especificada.
CryptProtectData Executa a criptografia nos dados em uma estrutura de DATA_BLOB .
CryptProtectMemory Criptografa a memória para proteger informações confidenciais.
CryptUnprotectData Executa uma descriptografia e verificação de integridade dos dados em um DATA_BLOB.
CryptUnprotectMemory Descriptografa a memória que foi criptografada usando CryptProtectMemory.

Funções de hash e assinatura digital

Essas funções computam hashes de dados e também criam e verificam assinaturas digitais. Os hashes também são conhecidos como resumos de mensagens.

Função Descrição
CryptCreateHash
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Cria um objeto hash vazio.
CryptDestroyHash
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Destrói um objeto de hash.
CryptDuplicateHash Duplica um objeto de hash.
CryptGetHashParam Recupera um parâmetro de objeto de hash.
CryptHashData
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Aplica hash a um bloco de dados, adicionando-o ao objeto hash especificado.
CryptHashSessionKey
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Aplica hash a uma chave de sessão, adicionando-a ao objeto hash especificado.
CryptSetHashParam
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Define um parâmetro de objeto de hash.
CryptSignHash
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Assina o objeto hash especificado.
CryptUIWizDigitalSign Exibe um assistente que assina digitalmente um documento ou um blob.
CryptUIWizFreeDigitalSignContext Libera um ponteiro para uma estrutura de CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT .
CryptVerifySignature
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Verifica uma assinatura digital, dado um identificador ao objeto de hash.
PFNCFILTERPROC Filtra os certificados que aparecem no assistente de assinatura digital exibido pela função CryptUIWizDigitalSign .

Funções de repositório de certificados e certificados

As funções de repositório de certificados e certificados gerenciam o uso, o armazenamento e a recuperação de certificados, CRLs (listas de certificados revogados ) e listas de certificados confiáveis (CTLs). Essas funções são divididas nos seguintes grupos:

  • Funções de repositório de certificados
  • Funções de manutenção do repositório de certificados e certificados
  • Funções de certificado
  • Funções da lista de certificados revogados
  • Funções de lista de certificados confiáveis
  • Funções de propriedade estendida
  • Funções MakeCert

Funções de repositório de certificados

Um site de usuário pode, ao longo do tempo, coletar muitos certificados. Normalmente, um site tem certificados para o usuário do site, bem como outros certificados que descrevem aqueles indivíduos e entidades com quem o usuário se comunica. Para cada entidade, pode haver mais de um certificado. Para cada certificado individual, deve haver uma cadeia de verificação de certificados que fornece uma trilha de volta para um certificado raizconfiável. Os repositórios de certificados e suas funções relacionadas fornecem funcionalidade para armazenar, recuperar, enumerar, verificar e usar as informações armazenadas nos certificados.

Função Descrição
CertAddStoreToCollection Adiciona um repositório de certificados irmãos a um repositório de certificados de coleção.
CertCloseStore Fecha um identificador de repositório de certificados.
CertControlStore Permite que um aplicativo seja notificado quando há uma diferença entre o conteúdo de um armazenamento em cache e o conteúdo do armazenamento que é persistido no armazenamento. Ele também fornece a dessincronização do armazenamento em cache, se necessário, e fornece um meio de confirmar as alterações feitas no armazenamento armazenado em cache para o repositório persistente.
CertDuplicateStore Duplica um identificador de repositório aumentando a contagem de referência.
CertEnumPhysicalStore Enumera os repositórios físicos para um repositório do sistema especificado.
CertEnumSystemStore Enumera todos os armazenamentos de sistema disponíveis.
CertEnumSystemStoreLocation Enumera todos os locais que têm um armazenamento do sistema disponível.
CertGetStoreProperty Obtém uma propriedade store.
Certopenstore Abre um armazenamento de certificados usando um tipo de provedor de armazenamento especificado.
CertOpenSystemStore Abre um armazenamento de certificados do sistema com base em um protocolo de subsistema.
CertRegisterPhysicalStore Adiciona um armazenamento físico a uma coleção de armazenamento do sistema de registro.
CertRegisterSystemStore Registra um armazenamento do sistema.
CertRemoveStoreFromCollection Remove um armazenamento de certificados irmãos de um armazenamento de coleção.
CertSaveStore Salva o armazenamento de certificados.
CertSetStoreProperty Define uma propriedade store.
CertUnregisterPhysicalStore Remove um armazenamento físico de uma coleção de armazenamento do sistema especificada.
CertUnregisterSystemStore Unregisters a specified system store.
CryptUIWizExport Apresenta um assistente que exporta um certificado, uma CTL (lista de certificados de confiança), uma CRL (lista de certificados revogados) ou um armazenamento de certificados.
CryptUIWizImport Apresenta um assistente que importa um certificado, uma CTL (lista de certificados de confiança), uma CRL (lista de certificados revogados) ou um armazenamento de certificados.

Funções de manutenção do certificado e do armazenamento de certificados

CryptoAPI fornece um conjunto de funções gerais de manutenção do certificado e do armazenamento de certificados.

Função Descrição
CertAddSerializedElementToStore Adiciona o certificado serializado ou o elemento CRL ao armazenamento.
CertCreateContext Cria o contexto especificado com base nos bytes codificados. O novo contexto não é colocado em um armazenamento.
CertEnumSubjectInSortedCTL Enumera os TrustedSubjects em um contexto CTL classificação.
CertFindSubjectInCTL Localiza o assunto especificado em uma CTL.
CertFindSubjectInSortedCTL Localiza o assunto especificado em uma CTL classificação.
OpenPersonalTrustDBDialog e OpenPersonalTrustDBDialogEx Exibe a caixa de diálogo Certificados.

Funções de certificado

A maioria das funções de certificado tem funções relacionadas para lidar com CRLs e CTLs. Para obter mais informações sobre funções relacionadas de CRL e CTL, consulte Funções de lista de certificados revogados e Funções de lista de confiança de certificado.

Função Descrição
CertAddCertificateContextToStore Adiciona um contexto de certificado ao armazenamento de certificados.
CertAddCertificateLinkToStore Adiciona um link em um armazenamento de certificados a um contexto de certificado em um armazenamento diferente.
CertAddEncodedCertificateToStore Converte o certificado codificado em um contexto de certificado e, em seguida, adiciona o contexto ao armazenamento de certificados.
CertAddRefServerOcspResponse Incrementa a contagem de referência para um alça de RESPOSTA _ _ OCSP do SERVIDOR _ HCERT.
CertAddRefServerOcspResponseContext Incrementa a contagem de referência para uma estrutura DE CONTEXTO DE RESPOSTA DO CERT SERVER _ _ OCSP. _ _
CertCloseServerOcspResponse Fecha um guid de resposta do servidor OCSP (protocolo de status de certificado online).
CertCreateCertificateContext Cria um contexto de certificado de um certificado codificado. O contexto criado não é colocado em um armazenamento de certificados.
CertCreateSelfSignCertificate Cria um certificado autoassinado.
CertDeleteCertificateFromStore Exclui um certificado do armazenamento de certificados.
Certduplicatecertificatecontext Duplica um contexto de certificado incrementando sua contagem de referência.
CertEnumCertificatesInStore Enumera os contextos de certificado no armazenamento de certificados.
CertFindCertificateInStore Localiza o primeiro ou próximo contexto de certificado no armazenamento de certificados que atende a um critério de pesquisa.
Certfreecertificatecontext Libera um contexto de certificado.
CertGetIssuerCertificateFromStore Obtém um contexto de certificado do armazenamento de certificados para o primeiro emissor ou próximo do certificado de assunto especificado.
CertGetServerOcspResponseContext Recupera um contexto de resposta OCSP (protocolo de status de certificado online) sem bloqueio válido para o handle especificado.
CertGetSubjectCertificateFromStore Obtém do armazenamento de certificados o contexto do certificado de assunto, que é identificado exclusivamente pelo emissor e pelo número de série.
CertGetValidUsages Retorna uma matriz de usos que consistem na interseção dos usos válidos para todos os certificados em uma matriz de certificados.
CertOpenServerOcspResponse Abre um handle para uma resposta OCSP (protocolo de status de certificado online) associada a uma cadeia de certificados do servidor.
CertRetrieveLogoOrBiometricInfo Executa uma recuperação de URL de logotipo ou informações biométricas especificadas na extensão de certificado EXT szOID _ LOGOTYPE _ ou szOID _ BIOMETRIC _ EXT.
CertSelectCertificate Apresenta uma caixa de diálogo que permite que o usuário selecione certificados de um conjunto de certificados que corresponderem a determinados critérios.
CertSelectCertificateChains Recupera cadeias de certificados com base nos critérios de seleção especificados.
CertSelectionGetSerializedBlob Uma função auxiliar usada para recuperar um BLOB de certificado serializado de uma estrutura CERT _ SELECTUI _ INPUT.
CertSerializeCertificateStoreElement Serializa o certificado codificado de um contexto de certificado e uma representação codificada de suas propriedades.
CertVerifySubjectCertificateContext Executa as verificações habilitadas no certificado de assunto usando o emissor.
CryptUIDlgCertMgr Exibe uma caixa de diálogo que permite ao usuário gerenciar certificados.
CryptUIDlgSelectCertificate Exibe uma caixa de diálogo que permite que um usuário selecione um certificado.
CryptUIDlgSelectCertificateFromStore Exibe uma caixa de diálogo que permite a seleção de um certificado de um repositório especificado.
CryptUIDlgViewCertificate Apresenta uma caixa de diálogo que exibe um certificado especificado.
CryptUIDlgViewContext Exibe um certificado, CRL ou CTL.
CryptUIDlgViewSignerInfo Exibe uma caixa de diálogo que contém as informações de signatário de uma mensagem assinada.
GetFriendlyNameOfCert Recupera o nome de exibição de um certificado.
RKeyCloseKeyService Fecha um identificador de serviço de chave.
RKeyOpenKeyService Abre um identificador de serviço de chave em um computador remoto.
RKeyPFXInstall Instala um certificado em um computador remoto.

Funções da lista de certificados revogados

Essas funções gerenciam o armazenamento e a recuperação de listas de certificados revogados (CRLs).

Função Descrição
CertAddCRLContextToStore Adiciona um contexto de CRL ao repositório de certificados.
CertAddCRLLinkToStore Adiciona um link em uma loja a um contexto de CRL em um repositório diferente.
CertAddEncodedCRLToStore Converte a CRL codificada em um contexto de CRL e, em seguida, adiciona o contexto ao repositório de certificados.
CertCreateCRLContext Cria um contexto de CRL de uma CRL codificada. O contexto criado não é colocado em um repositório de certificados.
CertDeleteCRLFromStore Exclui uma CRL do repositório de certificados.
CertDuplicateCRLContext Duplica um contexto de CRL incrementando a contagem de referência.
CertEnumCRLsInStore Enumera os contextos de CRL em um repositório.
CertFindCertificateInCRL Pesquisa a CRL ( lista de certificados revogados ) do certificado especificado.
CertFindCRLInStore Localiza o primeiro, ou próximo, o contexto de CRL no repositório de certificados que corresponde a um critério específico.
CertFreeCRLContext Libera um contexto de CRL.
CertGetCRLFromStore Obtém o primeiro, ou próximo, o contexto de CRL do repositório de certificados para o certificado de emissor especificado.
CertSerializeCRLStoreElement Serializa a CRL codificada do contexto de CRL e suas propriedades.

Funções de lista de certificados confiáveis

Essas funções gerenciam o armazenamento e a recuperação de listas de certificados confiáveis (CTLs).

Função Descrição
CertAddCTLContextToStore Adiciona um contexto de CTL ao repositório de certificados.
CertAddCTLLinkToStore Adiciona um link em uma loja a um contexto de CRL em um repositório diferente.
CertAddEncodedCTLToStore Converte a CTL codificada em um contexto de CTL e, em seguida, adiciona o contexto ao repositório de certificados.
CertCreateCTLContext Cria um contexto de CTL a partir de uma lista de certificados confiáveis codificados. O contexto criado não é colocado em um repositório de certificados.
CertDeleteCTLFromStore Exclui uma CTL do repositório de certificados.
CertDuplicateCTLContext Duplica um contexto de CTL incrementando a contagem de referência.
CertEnumCTLsInStore Enumera os contextos de CTL no repositório de certificados.
CertFindCTLInStore Localiza o primeiro contexto de CTL, ou próximo, no repositório de certificados que corresponde a um critério específico.
CertFreeCTLContext Libera um contexto de CTL.
CertModifyCertificatesToTrust Modifica o conjunto de certificados em uma CTL para uma determinada finalidade.
CertSerializeCTLStoreElement Serializa a CTL codificada do contexto de CTL e suas propriedades.

Funções de propriedade estendida

As funções a seguir funcionam com propriedades estendidas de certificados, CRLs e CTLs.

Função Descrição
CertEnumCertificateContextProperties Enumera as propriedades para o contexto de certificado especificado.
CertEnumCRLContextProperties Enumera as propriedades para o contexto de CRL especificado.
CertEnumCTLContextProperties Enumera as propriedades para o contexto de CTL especificado.
CertGetCertificateContextProperty Recupera as propriedades do certificado.
CertGetCRLContextProperty Recupera as propriedades da CRL.
CertGetCTLContextProperty Recupera as propriedades da CTL.
CertSetCertificateContextProperty Define as propriedades do certificado.
CertSetCRLContextProperty Define as propriedades da CRL.
CertSetCTLContextProperty Define propriedades de CTL.

Funções MakeCert

As funções a seguir dão suporte à ferramenta MakeCert .

Função Descrição
FreeCryptProvFromCert Libera o identificador para um CSP ( provedor de serviços de criptografia ) e, opcionalmente, exclui o contêiner temporário criado pela função GetCryptProvFromCert .
GetCryptProvFromCert Obtém um identificador para um CSP e uma especificação de chave para um contexto de certificado.
PvkFreeCryptProv Libera o identificador para um CSP e, opcionalmente, exclui o contêiner temporário criado pela função PvkGetCryptProv .
PvkGetCryptProv Obtém um identificador para um CSP com base em um nome de arquivo de chave privada ou em um nome de contêiner de chave.
PvkPrivateKeyAcquireContextFromMemory Cria um contêiner temporário no CSP e carrega uma chave privada da memória no contêiner.
PvkPrivateKeySave Salva uma chave privada e sua chave pública correspondente em um arquivo especificado.
SignError Chama GetLastError e converte o código de retorno em um HRESULT.

Funções de verificação de certificado

Os certificados são verificados usando as cadeias de certificados ou CTLs . As funções são fornecidas para ambos:

  • Funções de verificação usando CTLs
  • Funções de verificação da cadeia de certificados

Funções de verificação usando CTLs

Essas funções usam CTLs no processo de verificação. Funções adicionais para trabalhar com CTLs podem ser encontradas em funções de lista de certificados confiáveis e funções de propriedade estendidas.

As funções a seguir usam CTLs diretamente para verificação.

Função Descrição
CertVerifyCTLUsage Verifica o uso de uma CTL.
CryptMsgEncodeAndSignCTL Codifica e assina uma CTL como uma mensagem.
CryptMsgGetAndVerifySigner Recupera e verifica uma CTL de uma mensagem.
CryptMsgSignCTL Assina uma mensagem que contém uma CTL.

Funções de verificação da cadeia de certificados

As cadeias de certificados são criadas para fornecer informações de confiança sobre certificados individuais.

Nome da função Descrição
CertCreateCertificateChainEngine Cria um novo mecanismo de cadeia não padrão para um aplicativo.
CertCreateCTLEntryFromCertificateContextProperties Cria uma entrada de CTL cujos atributos são as propriedades do contexto de certificado.
CertDuplicateCertificateChain Duplica uma cadeia de certificados incrementando a contagem de referência da cadeia e retornando um ponteiro para a cadeia.
CertFindChainInStore Localiza o primeiro, ou próximo, o contexto da cadeia de certificados em um repositório.
CertFreeCertificateChain Libera uma cadeia de certificados reduzindo sua contagem de referência.
CertFreeCertificateChainEngine Libera um mecanismo de cadeia de certificados não padrão.
CertFreeCertificateChainList Libera a matriz de ponteiros para contextos de cadeia.
CertGetCertificateChain Cria um contexto de cadeia a partir de um certificado final e voltando para um certificado raizconfiável, se possível.
CertIsValidCRLForCertificate Verifica uma CRL para determinar se ela deve incluir um certificado específico se o certificado fosse revogado.
CertSetCertificateContextPropertiesFromCTLEntry Define propriedades no contexto do certificado usando os atributos na entrada de CTL.
CertVerifyCertificateChainPolicy Verifica uma cadeia de certificados para verificar sua validade, incluindo sua conformidade com quaisquer critérios de política de validade especificados.

Funções de mensagem

As funções de mensagem do CryptoAPI consistem em dois grupos de funções: funções de mensagens de nível baixo e funções de mensagens simplificadas.

As funções de mensagens de nível baixo criam e trabalham diretamente com # mensagens PKCS 7. Essas funções codificam # dados PKCS 7 para transmissão e decodificam # dados PKCS 7 recebidos. Eles também descriptografam e verificam as assinaturas de mensagens recebidas. Para obter uma visão geral das # mensagens padrão e de baixo nível do PKCS 7, consulte mensagens de nível inferior.

As funções de mensagens simplificadas estão em um nível mais alto e encapsulam várias funções de mensagens de nível baixo e funções de certificado em funções únicas que executam uma tarefa específica de uma maneira específica. Essas funções reduzem o número de chamadas de função necessárias para realizar uma tarefa, simplificando assim o uso do CryptoAPI. Para obter uma visão geral das mensagens simplificadas, consulte mensagens simplificadas.

  • Funções de mensagem de nível baixo
  • Funções de mensagens simplificadas

Funções de mensagem de nível baixo

As funções de mensagens de nível baixo fornecem a funcionalidade necessária para codificar dados para transmissão e decodificar # mensagens PKCS 7 recebidas. A funcionalidade também é fornecida para descriptografar e verificar as assinaturas de mensagens recebidas. O uso dessas funções de mensagens de baixo nível na maioria dos aplicativos não é recomendado. Para a maioria dos aplicativos, o uso de funções de mensagens simplificadas, que encapsulam várias funções de mensagens de baixo nível em uma única chamada de função, é preferencial.

Função Descrição
CryptMsgCalculateEncodedLength Calcula o comprimento de uma mensagem criptográfica codificada.
CryptMsgClose Fecha um identificador de uma mensagem criptográfica.
CryptMsgControl Executa uma função de controle especial após a CryptMsgUpdate final de uma mensagem criptográfica codificada ou decodificada.
CryptMsgCountersign Referendas uma assinatura já existente em uma mensagem.
CryptMsgCountersignEncoded Referendas uma assinatura já existente (codificada SignerInfo, conforme definido pelo PKCS # 7).
CryptMsgDuplicate Duplica um identificador de mensagem criptográfica incrementando a contagem de referência. A contagem de referência mantém o controle do tempo de vida da mensagem.
CryptMsgGetParam Adquire um parâmetro após a codificação ou decodificação de uma mensagem criptográfica.
CryptMsgOpenToDecode Abre uma mensagem de criptografia para decodificação.
CryptMsgOpenToEncode Abre uma mensagem de criptografia para codificação.
CryptMsgUpdate Atualiza o conteúdo de uma mensagem de criptografia.
CryptMsgVerifyCountersignatureEncoded Verifica uma referenda em termos da estrutura SignerInfo (conforme definido pelo PKCS # 7).
CryptMsgVerifyCountersignatureEncodedEx Verifica se o parâmetro pbSignerInfoCounterSignature contém o hash criptografado do campo EncryptedDigest da estrutura de parâmetro pbSignerInfo .

Funções de mensagens simplificadas

as funções de mensagens simplificadas encapsulam funções de mensagens de nível baixo em uma única função para realizar uma tarefa especificada.

Função Descrição
CryptDecodeMessage Decodifica uma mensagem criptográfica.
CryptDecryptAndVerifyMessageSignature Descriptografa a mensagem especificada e verifica o signatário.
CryptDecryptMessage Descriptografa a mensagem especificada.
CryptEncryptMessage Criptografa a mensagem para o destinatário ou destinatários.
CryptGetMessageCertificates Retorna o repositório de certificados que contém os certificados e as CRLsda mensagem.
CryptGetMessageSignerCount Retorna a contagem de assinantes na mensagem assinada.
CryptHashMessage Cria um hash da mensagem.
CryptSignAndEncryptMessage Assina a mensagem e, em seguida, a criptografa para o destinatário ou destinatários.
CryptSignMessageWithKey Assina uma mensagem usando a chave privada do CSP especificada nos parâmetros para a função.
CryptSignMessage Assina a mensagem.
CryptVerifyDetachedMessageHash Verifica uma mensagem com hash que contém um hash desanexado.
CryptVerifyDetachedMessageSignature Verifica uma mensagem assinada que contém uma assinatura desanexada ou assinaturas.
CryptVerifyMessageHash Verifica uma mensagem com hash.
CryptVerifyMessageSignature Verifica uma mensagem assinada.
CryptVerifyMessageSignatureWithKey Verifica a assinatura de uma mensagem assinada usando informações de chave pública especificadas.

Funções auxiliares

As funções auxiliares são agrupadas da seguinte maneira:

  • Funções de Gerenciamento de Dados
  • Funções de conversão de dados
  • Funções de uso avançado de chave
  • Funções de identificador de chave
  • Funções de suporte a OID
  • Funções de recuperação de objeto remoto
  • Funções PFX

Funções de Gerenciamento de Dados

As funções CryptoAPI a seguir gerenciam dados e certificados.

Função Descrição
CertCompareCertificate Compara dois certificados para determinar se eles são idênticos.
CertCompareCertificateName Compara dois nomes de certificado para determinar se eles são idênticos.
CertCompareIntegerBlob Compara dois BLOBsinteiros.
CertComparePublicKeyInfo Compara duas chaves públicas para determinar se elas são idênticas.
CertFindAttribute Localiza o primeiro atributo identificado por seu OID ( identificador de objeto ).
CertFindExtension Localiza a primeira extensão identificada por seu OID.
CertFindRDNAttr Localiza o primeiro atributo RDN identificado por seu OID na lista nome dos nomes distintos relativos.
CertGetIntendedKeyUsage Adquire os bytes de uso de chave pretendidos do certificado.
CertGetPublicKeyLength Adquire o comprimento de bit da chave pública/privada do blob de chave pública.
CertIsRDNAttrsInCertificateName Compara os atributos no nome do certificado com o CERT_RDN especificado para determinar se todos os atributos estão incluídos lá.
CertIsStrongHashToSign Determina se o algoritmo de hash especificado e a chave pública no certificado de autenticação podem ser usados para executar a assinatura forte.
CertVerifyCRLRevocation Verifica se o certificado do requerente não está na CRL ( lista de certificados revogados ).
CertVerifyCRLTimeValidity Verifica a validade de tempo de uma CRL.
CertVerifyRevocation Verifica se o certificado do requerente não está na CRL.
CertVerifyTimeValidity Verifica a validade do tempo de um certificado.
CertVerifyValidityNesting Verifica se a validade da hora da entidade está aninhada na validade do tempo do emissor.
CryptExportPKCS8 Essa função é substituída pela função CryptExportPKCS8Ex .
CryptExportPKCS8Ex Exporta a chave privada no formato de #8 PKCS.
CryptExportPublicKeyInfo Exporta as informações de chave pública associadas à chave privada correspondente do provedor.
CryptExportPublicKeyInfoEx Exporta as informações de chave pública associadas à chave privada correspondente do provedor. Essa função é diferente de CryptExportPublicKeyInfo , pois o usuário pode especificar o algoritmo de chave pública, substituindo, assim, o padrão fornecido pelo CSP.
CryptExportPublicKeyInfoFromBCryptKeyHandle Exporta as informações de chave pública associadas à chave privada correspondente de um provedor.
CryptFindCertificateKeyProvInfo Enumera os provedores criptográficos e seus contêineres de chave para localizar a chave privada que corresponde à chave pública de um certificado.
CryptFindLocalizedName Localiza o nome localizado para um nome especificado, por exemplo, localiza o nome localizado para o nome da loja do sistema raiz.
CryptHashCertificate
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Aplica hash ao conteúdo codificado.
CryptHashCertificate2 Aplica hash a um bloco de dados usando um provedor de hash de API de criptografia: próxima geração (CNG).
CryptHashPublicKeyInfo
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Computa o hash das informações de chave pública codificadas.
CryptHashToBeSigned
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Computa o hash das informações "para serem assinadas" no conteúdo assinado codificado (CERT_SIGNED_CONTENT_INFO).
CryptImportPKCS8
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Importa a chave privada no formato de #8 PKCS para um CSP ( provedor de serviços de criptografia ).
CryptImportPublicKeyInfo
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Converte e importa informações de chave pública para o provedor e retorna um identificador da chave pública.
CryptImportPublicKeyInfoEx
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Converte e importa as informações de chave pública para o provedor e retorna um identificador da chave pública. Parâmetros adicionais (sobre aqueles especificados por CryptImportPublicKeyInfo) que podem ser usados para substituir os padrões são fornecidos para CERT_PUBLIC_KEY_INFOsuplementares.
CryptImportPublicKeyInfoEx2 Importa uma chave pública para um provedor de CNG assimétrico.
CryptMemAlloc Aloca memória para um buffer. Essa memória é usada por todas as funções crypt32. lib que retornam buffers alocados.
CryptMemFree Libera memória alocada por CryptMemAlloc ou CryptMemRealloc.
CryptMemRealloc Libera a memória alocada atualmente para um buffer, e aloca memória para um novo buffer.
CryptQueryObject
[!Important]
Essa API está preterida. O software novo e o existente devem começar a usar APIs de próxima geração de criptografia. A Microsoft poderá remover essa API em versões futuras.

Recupera informações sobre o conteúdo de um BLOB ou de um arquivo.
CryptSignAndEncodeCertificate Codifica as informações de "para serem assinadas", assina essas informações codificadas e codifica as informações com sinal e codificado resultantes.
CryptSignCertificate Assina as informações "para serem assinadas" no conteúdo codificado e assinado.
CryptSIPAddProvider Adiciona um pacote de interface de entidade (SIP).
CryptSIPCreateIndirectData Retorna uma estrutura de SIP_INDIRECT_DATA que contém um hash da estrutura de SIP_SUBJECTINFO fornecida, o algoritmo de resumo e um atributo de codificação. O hash pode ser usado como uma referência indireta aos dados.
CryptSIPGetCaps Recupera os recursos de um SIP.
CryptSIPGetSignedDataMsg Recupera uma assinatura Authenticode do arquivo.
CryptSIPLoad Carrega a biblioteca de vínculo dinâmico que implementa um pacote de interface de entidade e atribui funções de exportação de biblioteca apropriadas a uma estrutura de SIP_DISPATCH_INFO .
CryptSIPPutSignedDataMsg Armazena uma assinatura Authenticode no arquivo de destino.
CryptSIPRemoveProvider Remove um SIP adicionado por uma chamada anterior à função CryptSIPAddProvider .
CryptSIPRemoveSignedDataMsg Remove uma assinatura Authenticode especificada.
CryptSIPRetrieveSubjectGuid Recupera um GUID com base nas informações de cabeçalho em um arquivo especificado.
CryptSIPRetrieveSubjectGuidForCatalogFile Recupera o GUID do assunto associado ao arquivo especificado.
CryptSIPVerifyIndirectData Valida os dados indiretos com hash no assunto fornecido.
CryptUpdateProtectedState Migra as chaves mestras do usuário atual após a alteração do Sid ( identificador de segurança ) do usuário.
CryptVerifyCertificateSignature Verifica a assinatura de um certificado de entidade ou uma CRL usando as informações de chave pública.
CryptVerifyCertificateSignatureEx Uma versão estendida do CryptVerifyCertificateSignature.
GetEncSChannel Armazena o conteúdo da DLL Schannel criptografada na memória.
pCryptSIPGetCaps Implementado por um SIP para recursos de relatório.

Funções de conversão de dados

As funções CryptoAPI a seguir convertem membros da estrutura de certificado em formulários diferentes.

Função Descrição
CertAlgIdToOID Converte um identificador de algoritmo CryptoAPI ( _ ID alg) em uma cadeia de caracteres de identificação de objeto (ASN. 1) de uma preobject Notation .
CertGetNameString Adquire o assunto ou o nome do emissor de um certificado e o converte em uma cadeia de caracteres terminada em nulo.
CertNameToStr Converte um blob de nome de certificado em uma cadeia de caracteres terminada em zero.
CertOIDToAlgId Converte a cadeia de caracteres do identificador de objeto ASN. 1 no identificador do algoritmo CSP.
CertRDNValueToStr Converte um valor de nome em uma cadeia de caracteres terminada em nulo.
CertStrToName Converte uma cadeia de caracteres X. 500 terminada em nulo em um nome de certificado codificado.
CryptBinaryToString Converte uma sequência binária em uma cadeia de caracteres formatada.
CryptFormatObject Formata dados codificados e retorna uma cadeia de caracteres Unicode.
CryptStringToBinary Converte uma cadeia de caracteres formatada em uma sequência binária.

Funções de uso de chave aprimoradas

As funções a seguir lidam com a extensão EKU (uso aprimorado de chave) e a propriedade estendida EKU de certificados. A extensão EKU e a propriedade estendida especificam e limitam os usos válidos de um certificado. As extensões fazem parte do próprio certificado. Eles são definidos pelo emissor do certificado e são somente leitura. Propriedades estendidas por certificado são valores associados a um certificado que pode ser definido em um aplicativo.

Função Descrição
CertAddEnhancedKeyUsageIdentifier Adiciona um identificador de uso à propriedade EKU de um certificado.
CertGetEnhancedKeyUsage Adquire, de um certificado, informações sobre a extensão ou propriedade de EKU.
CertRemoveEnhancedKeyUsageIdentifier Remove o identificador de uso da propriedade estendida EKU de um certificado.
CertSetEnhancedKeyUsage Define a propriedade EKU para um certificado.

Funções de identificador de chave

As funções de identificador de chave permitem ao usuário criar, definir, recuperar ou localizar um identificador de chave ou suas propriedades.

Um identificador de chave é o identificador exclusivo de um par de chaves pública/privada. Ele pode ser qualquer identificador exclusivo, mas geralmente é o hash SHA1 de 20 byte de uma estrutura de INFORMAÇÕES DE CHAVE PÚBLICA DO CERTIFICADO _ _ _ codificado. Um identificador de chave pode ser obtido por meio da ID DE PROP DO IDENTIFICADOR DE CHAVE DE _ _ CERTIFICADO do _ _ certificado. O identificador de chave permite o uso desse par de chaves para criptografar ou descriptografar mensagens sem usar o certificado.

Os identificadores de chave não estão associados a CRLs ou CTLs.

Um identificador de chave pode ter as mesmas propriedades que um contexto de certificado. Para obter mais informações, consulte CertCreateContext.

Função Descrição
CryptCreateKeyIdentifierFromCSP
[!Important]
Essa API está preterida. Os softwares novos e existentes devem começar a usar Cryptography Next Generation APIs. A Microsoft pode remover essa API em versões futuras.

Cria um identificador de chave do BLOBde chave pública de um CSP.
CryptEnumKeyIdentifierProperties Enumera identificadores de chave e suas propriedades.
CryptGetKeyIdentifierProperty
[!Important]
Essa API está preterida. Os softwares novos e existentes devem começar a usar Cryptography Next Generation APIs. A Microsoft pode remover essa API em versões futuras.

Adquire uma propriedade específica de um identificador de chave especificado.
CryptSetKeyIdentifierProperty
[!Important]
Essa API está preterida. Os softwares novos e existentes devem começar a usar Cryptography Next Generation APIs. A Microsoft pode remover essa API em versões futuras.

Define uma propriedade de um identificador de chave especificado.

Funções de suporte do OID

Essas funções fornecem suporte ao OID (identificador de objeto). Essas funções instalam, registram e expedim para OID e codificam funções específicas de tipo.

As seguintes funções CryptoAPI usam estas funções de suporte OID:

Para ter uma visão geral desse processo, consulte Estendendo a funcionalidade cryptoAPI.

As funções a seguir funcionam com OIDs.

Função Descrição
CryptEnumOIDFunction Enumera as funções OID registradas identificadas por seu tipo de codificação, nome da função e OID.
CryptEnumOIDInfo Enumera as informações OID registradas identificadas por seu grupo e chama pfnEnumOIDInfo para obter as correspondeções.
CryptFindOIDInfo Usa a chave e o grupo especificados para encontrar informações de OID.
CryptFreeOIDFunctionAddress Libera a contagem de alças que foi incrementada e retornada por CryptGetOIDFunctionAddress ou CryptGetDefaultOIDFunctionAddress.
CryptGetDefaultOIDDllList Adquire a lista de entradas DLL padrão registradas para o conjunto de funções e o tipo de codificação especificados.
CryptGetDefaultOIDFunctionAddress Adquire a primeira ou a próxima função padrão instalada ou carrega a DLL que contém a função padrão.
CryptGetOIDFunctionAddress Pesquisa a lista de funções instaladas para um tipo de codificação e uma combinação de OID. Se uma corresponder não for encontrada lá, o Registro será pesquisado para encontrar uma combinação.
CryptGetOIDFunctionValue Adquire o valor para o tipo de codificação, o nome da função, o OID e o nome do valor especificados.
CryptInitOIDFunctionSet Inicializa e retorna um identificador do conjunto de funções OID identificado pelo nome da função fornecido.
CryptInstallOIDFunctionAddress Instala um conjunto de endereços de função OID que podem ser chamado.
CryptRegisterDefaultOIDFunction Registra a DLL que contém a função padrão a ser chamada para o tipo de codificação e o nome da função especificados.
CryptRegisterOIDFunction Registra a DLL que contém a função a ser chamada para o tipo de codificação, o nome da função e o OID especificados.
CryptRegisterOIDInfo Registra as informações OID especificadas na estrutura CRYPT _ OID _ INFO, persistindo-as no Registro.
CryptSetOIDFunctionValue Define o valor para o tipo de codificação, o nome da função, o OID e o nome do valor especificados.
CryptUnregisterDefaultOIDFunction Remove o registro da DLL que contém a função padrão a ser chamada para o tipo de codificação e o nome da função especificados.
CryptUnregisterOIDFunction Remove o registro da DLL que contém a função a ser chamada para o tipo de codificação, o nome da função e o OID especificados.
CryptUnregisterOIDInfo Remove o registro das informações OID especificadas.

Funções de recuperação de objeto remoto

As funções a seguir permitem que o usuário recupere um objeto PKI (Infraestrutura de Chave Pública), adquira a URL de um certificado, CTL ou CRL ou extraia uma URL de um objeto.

Função Descrição
CryptGetObjectUrl Adquire a URL do objeto remoto de um certificado, CTL ou CRL.
CryptRetrieveObjectByUrl Recupera o objeto PKI de um local especificado por uma URL.

Funções PFX

As funções a seguir suportam BLOBsde formato Exchange (PFX).

Função Descrição
PFXExportCertStore Exporta do armazenamento de certificados referenciado os certificados e, se disponível, suas chaves privadas associadas.
PFXExportCertStoreEx Exporta do certificado referenciado armazena os certificados e, se disponível, suas chaves privadas associadas.
PFXImportCertStore Importa um BLOB PFX e retorna o handle de um armazenamento que contém certificados e quaisquer chaves privadas associadas.
PFXIsPFXBlob Tenta decodificar a camada externa de um BLOB como um pacote PFX.
PFXVerifyPassword Tenta decodificar a camada externa de um BLOB como um pacote PFX e descriptografá-la com a senha determinada.

Funções de backup e restauração dos Serviços de Certificados

Os Serviços de Certificados incluem funções para fazer o back-up e restaurar o banco de dados dos Serviços de Certificados. Essas funções de backup e restauração dos Serviços de Certificados estão contidas Certadm.dll. Ao contrário dos outros elementos de API associados aos Serviços de Certificados, essas funções não são encapsuladas em um objeto que pode ser usado para chamar métodos de classe. Em vez disso, as APIs de backup e restauração são chamadas carregando primeiro a biblioteca Certadm.dll na memória chamando LoadLibrary e, em seguida, determinando o endereço das funções chamando GetProcAddress. Quando terminar de chamar as funções de backup e restauração dos Serviços de Certificados, chame FreeLibrary para liberar Certadm.dll recursos da memória.

Observação

As funções de backup e restauração fornecidas Certadm.dll não fazem backup nem restauram as chaves privadas do Serviço de Certificado. Para obter informações sobre como fazer o back-up das chaves privadas dos Serviços de Certificados, consulte Fazer o back-upe restaurar a chave privada dos Serviços de Certificados .

Para chamar as funções de backup e restauração, você deve ter privilégios de backup e restauração. Para obter detalhes, consulte Configurando os privilégios de backup e restauração.

Observação

Se CoInitializeEx foi chamado anteriormente no mesmo thread usado para chamar as APIs de backup e restauração dos Serviços de Certificados, o sinalizador COINIT APARTMENTTHREADED deve ter sido passado para _ CoInitializeEx. Ou seja, ao usar o mesmo thread, você não poderá chamar a API de backup e restauração dos Serviços de Certificados se o thread tiver passado anteriormente no sinalizador COINIT MULTITHREADED em uma chamada para _ CoInitializeEx.

As APIs de Backup dos Serviços de Certificados são definidas em Certbcli.h. No entanto, ao criar seu programa, use Certsrv.h como o arquivo de inclusão.

As APIs a seguir são exportadas por Certadm.dll.

Função Descrição
CertSrvBackupClose Fecha um arquivo aberto.
CertSrvBackupEnd Encerra uma sessão de backup.
CertSrvBackupFree Libera um buffer alocado pelas APIs de backup e restauração.
CertSrvBackupGetBackupLogs Retorna uma lista de arquivos de log que precisam ser armazenados em backup.
CertSrvBackupGetDatabaseNames Retorna uma lista de arquivos de banco de dados que precisam ser armazenados em backup.
CertSrvBackupGetDynamicFileList Recupera a lista de nomes de arquivos dinâmicos dos Serviços de Certificados que precisam ser backupados para o contexto de backup determinado.
CertSrvBackupOpenFile Abre um arquivo em preparação para fazer o back-up.
CertSrvBackupPrepare Prepara o banco de dados para o backup online.
CertSrvBackupRead Lê o conteúdo de um arquivo aberto.
CertSrvBackupTruncateLogs Trunca os arquivos de log.
CertSrvIsServerOnline Determina se um servidor dos Serviços de Certificados está online (em execução ativa).
CertSrvRestoreEnd Encerra uma sessão de restauração.
CertSrvRestoreGetDatabaseLocations Recupera locais de banco de dados (usados para cenários de backup e restauração).
CertSrvRestorePrepare Inicia uma sessão de restauração.
CertSrvRestoreRegister Registra uma operação de restauração.
CertSrvRestoreRegisterComplete Conclui uma operação de restauração registrada anteriormente.
CertSrvRestoreRegisterThroughFile Registra uma operação de restauração.
CertSrvServerControl Envia um comando de controle para a instância dos Serviços de Certificados.

Funções de retorno de chamada

As funções de retorno de chamada nesta seção são usadas para registrar ou instalar provedores de armazenamento de certificados definidos pelo aplicativo e para fornecer funcionalidade relacionada por meio de funções de retorno de chamada. As funções de retorno de chamada são implementadas por um aplicativo e são chamadas por funções CryptoAPI. As funções de retorno de chamada permitem que o aplicativo controle, em parte, a maneira como as funções CryptoAPI manipulam dados.

Função de retorno de chamada Use
CertChainFindByIssuerCallback Uma função de retorno de chamada definida pelo aplicativo que permite que o aplicativo filtre certificados que podem ser adicionados à cadeia de certificados.
CertDllOpenStoreProv Define a função open do provedor de lojas.
CertEnumPhysicalStoreCallback Função de retorno de chamada usada pela função CertEnumPhysicalStore para formatar e apresentar informações sobre cada repositório físico encontrado.
CertEnumSystemStoreCallback Função de retorno de chamada usada pela função CertEnumSystemStore para formatar e apresentar informações sobre cada repositório físico encontrado.
CertEnumSystemStoreLocationCallback Função de retorno de chamada usada pela função CertEnumSystemStoreLocation para formatar e apresentar informações sobre cada repositório físico encontrado.
CertStoreProvCloseCallback Determina o que acontece quando a contagem de referência de um armazenamento aberto se torna zero.
CertStoreProvControl Permite que um aplicativo seja notificado quando houver uma diferença entre o conteúdo de um armazenamento em cache em uso e o conteúdo desse armazenamento conforme ele é persistido no armazenamento.
CertStoreProvDeleteCertCallback Determina as ações a serem tomadas antes que um certificado seja excluído de um armazenamento de certificados.
CertStoreProvDeleteCRLCallback Determina as ações a serem tomadas antes que uma CRL (lista de certificados revogados) seja excluída de um armazenamento de certificados.
CertStoreProvDeleteCTL Determina se uma CTL pode ser excluída.
CertStoreProvFindCert Localiza o primeiro ou próximo certificado em um armazenamento que corresponde aos critérios especificados.
CertStoreProvFindCRL Localiza a primeira OU a próxima CRL em um armazenamento que corresponde aos critérios especificados.
CertStoreProvFindCTL Localiza a primeira, ou a próxima, CTL em um armazenamento que corresponde aos critérios especificados.
CertStoreProvFreeFindCert Libera um contexto de certificado encontrado anteriormente.
CertStoreProvFreeFindCRL Libera um contexto de CRL encontrado anteriormente.
CertStoreProvFreeFindCTL Libera um contexto CTL encontrado anteriormente.
CertStoreProvGetCertProperty Recupera uma propriedade especificada de um certificado.
CertStoreProvGetCRLProperty Recupera uma propriedade especificada de uma CRL.
CertStoreProvGetCTLProperty Recupera uma propriedade especificada de uma CTL.
CertStoreProvReadCertCallback Atualmente, não é usado, mas pode ser exportado para CSPs futuros.
CertStoreProvReadCRLCallback Atualmente, não é usado, mas pode ser exportado para CSPs futuros.
CertStoreProvReadCTL Leia a cópia do provedor do contexto CTL e, se ele existir, crie um novo contexto CTL.
CertStoreProvSetCertPropertyCallback Determina as ações a serem tomadas antes de uma chamada para CertSetCertificateContextProperty ou CertGetCertificateContextProperty.
CertStoreProvSetCRLPropertyCallback Determina as ações a serem tomadas antes de uma chamada para CertSetCRLContextProperty ou CertGetCRLContextProperty.
CertStoreProvSetCTLProperty Determina se uma propriedade pode ser definida em uma CTL.
CertStoreProvWriteCertCallback Determina as ações a serem tomadas antes de adicionar um certificado a um armazenamento.
CertStoreProvWriteCRLCallback Determina as ações a serem tomadas antes de adicionar uma CRL a um armazenamento.
CertStoreProvWriteCTL Determina se uma CTL pode ser adicionada ao armazenamento.
CRYPT _ ENUM _ KEYID _ PROP Função de retorno de chamada usada pela função CryptEnumKeyIdentifierProperties.
FUNÇÃO _ _ OID CRYPT ENUM _ Função de retorno de chamada usada pela função CryptEnumOIDFunction.
CRYPT _ ENUM _ OID _ INFO Função de retorno de chamada usada pela função CryptEnumOIDInfo.
CryptGetSignerCertificateCallback Função de retorno de chamada usada com a estrutura _ CRYPT VERIFY MESSAGE _ _ PARA para obter e verificar o certificado de um signante de mensagem.
PCRYPT _ DECRYPT _ PRIVATE _ KEY _ FUNC Função de retorno de chamada usada pela função CryptImportPKCS8.
PCRYPT _ ENCRYPT _ PRIVATE _ KEY _ FUNC Função de retorno de chamada usada ao criar a estrutura CRYPT _ ENCRYPTED PRIVATE KEY _ _ _ INFO.
PCRYPT _ RESOLVE _ HCRYPTPROV _ FUNC Função de retorno de chamada usada pela função CryptImportPKCS8.
RETORNO DE CHAMADA DE ERRO _ DE ANÁLISE DE CDF PFN _ _ _ Uma função definida pelo usuário chamada para erros de Função de Definição de Catálogo ao analisar um CDF (arquivo de definição de catálogo).
FUNC DE CLASSIFICAÇÃO DE CONTEXTO _ DE CRIAÇÃO DE CERTIFICADO _ _ _ _ PFN Chamado para cada entrada de contexto classificação quando um contexto é criado.
PFN _ CMSG _ CNG _ IMPORTAR CHAVE DE CRIPTOGRAFIA DE _ _ _ CONTEÚDO Uma função instalável do OID (identificador de objeto CNG) para importação de uma CEK (chave de criptografia de conteúdo) já descriptografada.
PFN _ CMSG _ CNG _ IMPORT _ KEY _ AGREE Importa uma chave de criptografia de conteúdo para um destinatário de transporte de chave de uma mensagem envelografada.
PFN _ CMSG _ CNG _ IMPORT _ KEY _ TRANS Uma função instalável de OID CNG para importação e descriptografia de um CEK (chave de criptografia de conteúdo) criptografada e criptografada.
PFN _ CMSG _ EXPORT _ KEY _ AGREE Criptografa e exporta a chave de criptografia de conteúdo para um destinatário do contrato de chave de uma mensagem envelografada.
PFN _ CMSG _ EXPORT _ KEY _ TRANS Criptografa e exporta a chave de criptografia de conteúdo para um destinatário de transporte de chave de uma mensagem envelografada.
PFN _ CMSG _ EXPORT _ MAIL _ LIST Criptografa e exporta a chave de criptografia de conteúdo para um destinatário de lista de emails de uma mensagem envelografada.
CHAVE CRIPTOGRAFADA DE CONTEÚDO DO PFN _ CMSG _ GEN _ _ _ Gera a chave simétrica usada para criptografar o conteúdo de uma mensagem envelografada.
PFN _ CMSG _ IMPORT _ KEY _ AGREE Importa uma chave de criptografia de conteúdo para um destinatário de transporte de chave de uma mensagem envelografada.
PFN _ CMSG _ IMPORT _ KEY _ TRANS Importa uma chave de criptografia de conteúdo para um destinatário de transporte de chave de uma mensagem envelografada.
PFN _ CMSG _ IMPORT _ MAIL _ LIST Importa uma chave de criptografia de conteúdo para um destinatário de transporte de chave de uma mensagem envelografada.
PFN _ CRYPT _ EXPORT _ PUBLIC _ KEY _ INFO _ EX2 _ FUNC Chamado por CryptExportPublicKeyInfoEx para exportar um BLOB de chave pública e codiá-lo.
FUNC ( PFN _ CRYPT _ EXTRACT _ _ ENCODED SIGNATURE _ PARAMETERS _ FUNC) Chamado para decodificar e retornar o identificador de algoritmo de hash e, opcionalmente, os parâmetros de assinatura.
PFN _ CRYPT _ SIGN _ AND _ ENCODE _ HASH _ FUNC Chamado para assinar e codificar um hash computado.
PFN _ CRYPT _ VERIFY _ ENCODED _ SIGNATURE _ FUNC Chamado para descriptografar uma assinatura codificada e compará-la a um hash computado.
INFORMAÇÕES DA CHAVE PÚBLICA DE IMPORTAÇÃO DO PFN _ _ _ _ _ EX2 _ FUNC Chamado por CryptImportPublicKeyInfoEx2 para decodificar o identificador de algoritmo de chave pública, carregar o provedor de algoritmos e importar o par de chaves.
PFNCCERTDISPLAYPROC Uma função de retorno de chamada definida pelo usuário que permite que o chamador da função CryptUIDlgSelectCertificate manipular a exibição de certificados que o usuário seleciona exibir.
PFNCMFILTERPROC Filtra cada certificado para decidir se ele aparecerá na caixa de diálogo de seleção de certificado exibida pela função CertSelectCertificate.
PFNCMHOOKPROC Chamado antes que as mensagens sejam processadas pela caixa de diálogo de seleção de certificado produzida pela função CertSelectCertificate.

Funções de definição de catálogo

Essas funções são usadas para criar um catálogo. Todas essas funções são chamadas por MakeCat.

Função Descrição
CryptCATCDFClose Fecha um arquivo de definição de catálogo e libera a memória para a estrutura CRYPTCATCDF correspondente.
CryptCATCDFEnumAttributesWithCDFTag Enumera os atributos de arquivos de membro na seção CatalogFiles de uma CDF.
CryptCATCDFEnumCatAttributes Enumera atributos de nível de catálogo dentro da seção CatalogHeader de uma CDF.
CryptCATCDFEnumMembersByCDFTagEx Enumera os membros de arquivo individuais na seção CatalogFiles de uma CDF.
CryptCATCDFOpen Abre uma CDF existente para leitura e inicializa uma estrutura CRYPTCATCDF.

Funções de catálogo

Essas funções são usadas para gerenciar um catálogo.

Função Descrição
CryptCATAdminAcquireContext Adquire um handle para um contexto de administrador de catálogo. Esse handle pode ser usado por chamadas subsequentes para as funções CryptCATAdminAddCatalog, CryptCATAdminEnumCatalogFromHashe CryptCATAdminRemoveCatalog.
CryptCATAdminAcquireContext2 Adquire um alça para um contexto de administrador de catálogo para um determinado algoritmo de hash e política de hash.
CryptCATAdminAddCatalog Adiciona um catálogo ao banco de dados de catálogo.
CryptCATAdminCalcHashFromFileHandle Calcula o hash de um arquivo.
CryptCATAdminCalcHashFromFileHandle2 Calcula o hash de um arquivo usando o algoritmo especificado.
CryptCATAdminEnumCatalogFromHash Enumera os catálogos que contêm um hash especificado.
CryptCATAdminReleaseCatalogContext Libera um alça para um contexto de catálogo retornado anteriormente pela função CryptCATAdminAddCatalog.
CryptCATAdminReleaseContext Libera o handle atribuído anteriormente pela função CryptCATAdminAcquireContext.
CryptCATAdminRemoveCatalog Exclui um arquivo de catálogo e remove a entrada desse catálogo do banco de dados Windows catálogo.
CryptCATAdminResolveCatalogPath Recupera o caminho totalmente qualificado do catálogo especificado.
CryptCATCatalogInfoFromContext Recupera informações de catálogo de um contexto de catálogo especificado.
CryptCATClose Fecha um alça de catálogo aberto anteriormente pela função CryptCATOpen.
CryptCATEnumerateAttr Enumera os atributos associados a um membro de um catálogo.
CryptCATEnumerateCatAttr Enumera os atributos associados a um catálogo.
CryptCATEnumerateMember Enumera os membros de um catálogo.
CryptCATGetAttrInfo Recupera informações sobre um atributo de um membro de um catálogo.
CryptCATGetMemberInfo Recupera informações de membro do PKCS 7 do # catálogo. Além de recuperar as informações de membro de uma marca de referência especificada, essa função abre um contexto de membro.
CryptCATOpen Abre um catálogo e retorna um alça de contexto para o catálogo aberto.
IsCatalogFile Recupera um valor booliana que indica se o arquivo especificado é um arquivo de catálogo.

Funções WinTrust

As funções a seguir são usadas para executar várias operações de confiança.

Função Descrição
WintrustAddActionID Adiciona uma ação de provedor de confiança ao sistema do usuário.
WintrustGetRegPolicyFlags Recupera sinalizadores de política para um provedor de política.
WintrustAddDefaultForUsage Especifica o identificador de uso padrão e as informações de retorno de chamada para um provedor
WintrustGetDefaultForUsage Recupera o identificador de uso padrão e as informações de retorno de chamada.
WintrustLoadFunctionPointers Carrega pontos de entrada de função para um GUID de ação especificado.
WintrustRemoveActionID Remove uma ação adicionada pela função WintrustAddActionID.
WintrustSetDefaultIncludePEPageHashes Define a configuração padrão que determina se os hashes de página são incluídos ao criar dados indiretos sip (pacote de interface de assunto) para arquivos executáveis portáteis.
WintrustSetRegPolicyFlags Define sinalizadores de política para um provedor de política.
WinVerifyTrust Executa uma ação de verificação de confiança em um objeto especificado.
WinVerifyTrustEx Executa uma ação de verificação de confiança em um objeto especificado e leva um ponteiro para uma estrutura WINTRUST _ DATA.
WTHelperCertCheckValidSignature Verifica se uma assinatura é válida.
WTHelperCertFindIssuerCertificate Localiza um certificado do emissor dos armazenamentos de certificado especificados que corresponde ao certificado de assunto especificado.
WTHelperCertIsSelfSigned Verifica se um certificado é auto-assinado.
WTHelperGetFileHash Verifica a assinatura de um arquivo assinado e obtém o valor de hash e o identificador de algoritmo para o arquivo.
WTHelperGetProvCertFromChain Recupera um certificado do provedor de confiança da cadeia de certificados.
WTHelperGetProvPrivateDataFromChain Recebe uma estrutura _ _ PRIVDATA DO PROVEDOR DE CRIPTOGRAFIA da cadeia usando a ID do provedor.
WTHelperGetProvSignerFromChain Recupera um signante ou contador por índice da cadeia.
WTHelperProvDataFromStateData Recupera informações do provedor de confiança de um handle especificado.

Funções de localizador de objeto

As funções de retorno de chamada a seguir podem ser implementadas por um provedor personalizado que se destina a ser chamado pelo pacote de segurança canal seguro (Schannel) para recuperar certificados.

Função Descrição
LIBERAÇÃO DO PROVEDOR DE LOCALIZADOR DE OBJETO DE CRIPTOGRAFIA _ _ _ _ _ PFN Especifica que um objeto foi alterado.
PFN _ CRYPT _ OBJECT _ LOCATOR _ PROVIDER _ GET Recupera um objeto .
VERSÃO DO PROVEDOR DE _ _ _ LOCALIZADOR DE OBJETO DE _ _ CRIPTOGRAFIA PFN Libera o provedor.
SENHA GRATUITA DO PROVEDOR DE LOCALIZADOR DE OBJETO DE CRIPTOGRAFIA _ _ _ _ _ _ PFN Libera a senha usada para criptografar uma matriz de byte PFX.
PROVEDOR DE LOCALIZADOR DE OBJETO DE CRIPTOGRAFIA PFN _ _ _ _ _ GRATUITO Libera o objeto retornado pelo provedor.
_ _ _ _ identificador gratuito do provedor de localizador de objetos _ PFN criptografado _ Libera memória para um identificador de objeto.
_inicialização do _ _ provedor de localizador de objeto PFN _ cript _ Inicializa o provedor.