Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
As funções de criptografia são categorizadas de acordo com o uso da seguinte forma:
- Funções CryptXML
- Funções do signatário
- Funções de criptografia de base
- funções de armazenamento de certificados e certificados
- Funções MakeCert
- Funções de verificação de certificado
- funções de mensagem
- Funções Auxiliares
- funções de backup e restauração de serviços de certificados
- Funções de retorno de chamada
- Funções de definição de catálogo
- Funções de catálogo
- funções WinTrust
- Funções do localizador de objetos
Funções CryptXML
As funções XML criptográficas fornecem uma API para criar e representar assinaturas digitais usando dados formatados em XML. Para obter informações sobre assinaturas formatadas em XML, consulte a XML-Signature Syntax and Processing specification em https://go.microsoft.com/fwlink/p/?linkid=139649.
Função | Descrição |
---|---|
A_SHAFinal | Calcula o hash final dos dados inseridos pela função MD5Update. |
A_SHAInit | Inicia o hashing de um fluxo de dados. |
A_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 digerir a referência resolvida. Esta função aplica transformações antes de atualizar o resumo. |
CryptXmlDllCloseDigest | Libera o CRYPT_XML_DIGEST alocado pela funçãoCryptXmlDllCreateDigest. |
CryptXmlDllCreateDigest | Cria um objeto digest para o método especificado. |
CryptXmlDllCreateKey | Analisa o elemento KeyValue e cria um identificador de chave BCrypt da API de Criptografia: Nova Geração (CNG) para verificar uma assinatura. |
CryptXmlDllDigestData | Coloca dados no resumo. |
CryptXmlDllEncodeAlgorithm | Codifica SignatureMethod ou DigestMethod elementos para algoritmos ágeis com parâmetros padrão. |
CryptXmlDllEncodeKeyValue | Codifica um KeyValue elemento. |
CryptXmlDllFinalizeDigest | Recupera o valor digest. |
CryptXmlDllGetAlgorithmInfo | Decodifica o algoritmo XML e retorna informações sobre o algoritmo. |
CryptXmlDllGetInterface | Recupera um ponteiro para as funções de extensão criptográfica para o algoritmo especificado. |
CryptXmlDllSignData | Dados de sinais. |
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 CRYPT_XML_ALGORITHM 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 XML Signature. |
CryptXmlGetStatus | Retorna uma estrutura CRYPT_XML_STATUS 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 retorna um identificador do elemento Signature aberto. O identificador encapsula um contexto de documento com uma única estrutura de CRYPT_XML_SIGNATURE e permanece aberto até que a funçãoCryptXmlClose seja chamada. |
CryptXmlOpenToDecode | Abre uma assinatura digital XML para decodificar e retorna o identificador 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 identificador antes de chamar o CryptXmlSign ou função CryptXmlVerify. |
CryptXmlSign | Cria uma assinatura criptográfica de um elemento SignedInfo. |
CryptXmlVerifySignature | Executa uma validação de assinatura criptográfica de um elemento SignedInfo. |
PFN_CRYPT_XML_WRITE_CALLBACK | Cria uma transformação para um provedor de dados especificado. |
PFN_CRYPT_XML_CREATE_TRANSFORM | Grava dados XML criptográficos. |
PFN_CRYPT_XML_DATA_PROVIDER_READ | Lê dados XML criptográficos. |
PFN_CRYPT_XML_DATA_PROVIDER_CLOSE | Libera o provedor de dados XML criptográficos. |
PFN_CRYPT_XML_ENUM_ALG_INFO | Enumera entradas CRYPT_XML_ALGORITHM_INFO predefinidas e registradas. |
Funções do signatário
Fornece funções para assinar e carimbo de data/hora.
Função | Descrição |
---|---|
SignerFreeSignerContext | Libera uma estrutura de SIGNER_CONTEXT alocada por uma chamada anterior para a funçãoSignerSignEx. |
SignError | Chama o 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 carimba a hora do arquivo especificado, permitindo várias assinaturas aninhadas. |
SignerTimeStamp | Carimbo de data/hora o assunto especificado. Esta função suporta carimbo de data/hora Authenticode. Para executar o carimbo de data/hora X.509 Public Key Infrastructure (RFC 3161), use a funçãoSignerTimeStampEx2. |
SignerTimeStampEx | Carimba a hora do assunto especificado e, opcionalmente, retorna um ponteiro para uma estrutura de SIGNER_CONTEXT que contém um ponteiro para umBLOB. Esta função suporta carimbo de data/hora Authenticode. Para executar o carimbo de data/hora X.509 Public Key Infrastructure (RFC 3161), use a funçãoSignerTimeStampEx2. |
SignerTimeStampEx2 | Carimba a hora do assunto especificado e, opcionalmente, retorna um ponteiro para uma estrutura de SIGNER_CONTEXT que contém um ponteiro para umBLOB. Esta função pode ser usada para executar a infraestrutura de chave pública X.509, compatível com RFC 3161, carimbos de data/hora. |
SignerTimeStampEx3 | Carimba a hora do assunto especificado e suporta a definição de carimbos de data/hora em várias assinaturas. |
Funções de criptografia de base
As funções criptográficas de base fornecem os meios mais flexíveis de desenvolver aplicações de criptografia. Toda a comunicação com um provedor de serviços de criptografia (CSP) 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. Um único aplicativo pode ocasionalmente usar mais de um CSP.
Se mais de um CSP for usado, o que será usado poderá ser especificado nas chamadas de função criptográfica CryptoAPI. Um CSP, o Microsoft Base Cryptographic Provider, é fornecido com o CryptoAPI. Este CSP é 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 à CryptoAPI. Alguns fornecem algoritmos criptográficos mais fortes; outros contêm componentes de hardware, como cartões inteligentes. Além disso, alguns CSPs podem ocasionalmente 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 de base estão nos seguintes grupos amplos:
- Funções do provedor de serviços
- Geração de chaves e funções de troca
- Funções de codificação e decodificação de objetos
- Funções de encriptação e desencriptação de dados
- Funções de hash e assinatura digital
Funções do provedor de serviços
Os aplicativos usam as seguintes funções de serviço para conectar e desconectar um provedor de serviços de criptografia (CSP).
Função | Descrição |
---|---|
CryptAcquireContext |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Adquire um identificador para o contêiner de chave do usuário atual dentro de um CSP específico. |
CryptContextAddRef |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Incrementa a contagem de referência em um identificador deHCRYPTPROV. |
CryptEnumProviders |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Enumera os provedores em um computador. |
CryptEnumProviderTypes |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Enumera os tipos de provedores suportados no computador. |
CryptGetDefaultProvider |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. 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 |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Recupera os parâmetros que governam as operações de um CSP. |
CryptInstallDefaultContext |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Instala um contexto deHCRYPTPROVadquirido anteriormente para ser usado como um contexto padrão. |
CryptReleaseContext |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Libera o identificador adquirido pela funçãoCryptAcquireContext. |
CryptSetProvider e CryptSetProviderEx |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Especifica o CSP padrão do usuário para um tipo de CSP específico. |
CryptSetProvParam |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Especifica atributos de um CSP. |
CryptUninstallDefaultContext |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Remove um contexto padrão instalado anteriormente pelo CryptInstallDefaultContext. |
FreeCryptProvFromCertEx | Libera o identificador para um provedor de serviços de criptografia (CSP) ou para uma chave de API de criptografia: próxima geração (CNG). |
Geração de chaves e funções de troca
Funções de geração e troca de chaves trocar chaves com outros usuários e criar, configurar e destruir chaves criptográficas.
Função | Descrição |
---|---|
CryptDeriveKey |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Cria uma chave derivada de uma senha. |
CryptDestroyKey |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Destrói uma chave. |
CryptDuplicateKey |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Faz uma cópia exata de uma chave, incluindo o estado da chave. |
CryptExportKey |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Transfere uma chave do CSP para umBLOB de chaveno espaço de memória do aplicativo. |
CryptGenKey |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Cria uma chave aleatória. |
CryptGenRandom |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Gera dados aleatórios. |
CryptGetKeyParam |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Recupera os parâmetros de uma chave. |
CryptGetUserKey |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Obtém um identificador para a troca de chaves ou chave de assinatura. |
CryptImportKey |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Transfere uma chave de umBLOB de chavepara um CSP. |
CryptSetKeyParam |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Especifica os parâmetros de uma chave. |
Funções de codificação e decodificação de objetos
Estas são funções de codificação e descodificação generalizadas. Eles são usados para codificar e decodificar certificados, listas de revogação de certificados (CRLs), solicitações de certificadoe extensões de certificado.
Funções de encriptação e desencriptação de dados
As seguintes funções suportam operações de encriptação e desencriptação. CryptEncrypt e CryptDecrypt requerem uma chave criptográfica antes de serem chamados. Isso é feito usando o CryptGenKey, CryptDeriveKeyou função de CryptImportKey. O algoritmo de encriptação é especificado quando a chave é criada. CryptSetKeyParam pode definir parâmetros de criptografia adicionais.
Função | Descrição |
---|---|
CryptDecrypt |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Descriptografa uma seção de de texto cifrado usando a chave de criptografia especificada. |
CryptEncrypt |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Criptografa uma seção de de texto sem formatação usando a chave de criptografia especificada. |
CryptProtectData | Executa a criptografia nos dados em uma estrutura DATA_BLOB. |
CryptProtectMemory | Criptografa a memória para proteger informações confidenciais. |
CryptUnprotectData | Executa uma desencriptação e verificação de integridade dos dados num 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 |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Cria um objeto hash vazio. |
CryptDestroyHash |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Destrói um objeto hash. |
CryptDuplicateHash | Duplica um objeto hash. |
CryptGetHashParam | Recupera um parâmetro de objeto hash. |
CryptHashData |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Hashes um bloco de dados, adicionando-o ao objeto hash especificado. |
CryptHashSessionKey |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Hashes uma chave de sessão, adicionando-a ao objeto hash especificado. |
CryptSetHashParam |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Define um parâmetro de objeto hash. |
CryptSignHash |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode 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 CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT. |
CryptVerifySignature |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Verifica uma assinatura digital, dado um identificador para o objeto hash. |
PFNCFILTERPROC | Filtra os certificados que aparecem no assistente de assinatura digital exibido pela funçãoCryptUIWizDigitalSign. |
Funções de armazenamento de certificados e certificados
As funções de armazenamento de certificados gerenciam o uso, o armazenamento e a recuperação de certificados , listas de revogação de certificados (CRLs) e listas de certificados confiáveis (CTLs). Estas funções dividem-se nos seguintes grupos:
- Funções de armazenamento de certificados
- Funções de manutenção de certificados e armazenamento de certificados
- Funções do certificado
- Funções da Lista de Revogação de Certificados
- Funções da Lista de Certificados Confiáveis
- Funções de propriedade estendida
- Funções MakeCert
Funções de armazenamento 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 os 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 certificados de verificação que forneça uma trilha de volta para um certificado raiz confiável. Armazenamento 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ão a um repositório de certificados de coleção. |
CertCloseStore | Fecha um identificador de armazenamento de certificados. |
CertControlStore | Permite que um aplicativo seja notificado quando houver uma diferença entre o conteúdo de um armazenamento armazenado em cache e o conteúdo do repositório que persiste no armazenamento. Ele também fornece 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 armazenamento persistente. |
CertDuplicateStore | Duplica um identificador de armazenamento incrementando a contagem de referência de . |
CertEnumPhysicalStore | Enumera os armazenamentos físicos para um armazenamento de sistema especificado. |
CertEnumSystemStore | Enumera todos os armazenamentos de sistema disponíveis. |
CertEnumSystemStoreLocation | Enumera todos os locais que têm um armazenamento de sistema disponível. |
CertGetStoreProperty | Obtém uma propriedade de loja. |
CertOpenStore | Abre um repositório 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 repositório físico a uma coleção de armazenamento do sistema de registro. |
CertRegisterSystemStore | Registra um armazenamento do sistema. |
CertRemoveStoreFromCollection | Remove um repositório de certificados irmão de um repositório de coleção. |
CertSaveStore | Salva o armazenamento de certificados. |
CertSetStoreProperty | Define uma propriedade store. |
CertUnregisterPhysicalStore | Remove um repositório físico de uma coleção de armazenamento do sistema especificada. |
CertUnregisterSystemStore | Cancela o registro de um armazenamento de sistema especificado. |
CryptUIWizExport | Apresenta um assistente que exporta um certificado, uma lista de certificados confiáveis (CTL), uma lista de certificados revogados (CRL) ou um armazenamento de certificados. |
CryptUIWizImport | Apresenta um assistente que importa um certificado, uma lista de certificados confiáveis (CTL), uma lista de certificados revogados (CRL) ou um armazenamento de certificados. |
Funções de manutenção de certificados e armazenamento de certificados
CryptoAPI fornece um conjunto de funções gerais de manutenção de certificados e armazenamento de certificados.
Função | Descrição |
---|---|
CertAddSerializedElementToStore | Adiciona o certificado serializado ou o elemento CRL ao armazenamento. |
CertCreateContext | Cria o contexto especificado a partir dos bytes codificados. O novo contexto não é colocado em uma loja. |
CertEnumSubjectInSortedCTL | Enumera os TrustedSubjects em um contexto CTL classificado. |
CertFindSubjectInCTL | Localiza o assunto especificado em uma CTL. |
CertFindSubjectInSortedCTL | Localiza o assunto especificado em uma CTL classificada. |
OpenPersonalTrustDBDialog e OpenPersonalTrustDBDialogEx | Exibe a caixa de diálogo Certificados. |
Funções do certificado
A maioria das funções Certificate tem funções relacionadas para lidar com CRLs e CTLs. Para obter mais informações sobre as funções de CRL e CTL relacionadas, consulte Funções de lista de revogação de certificados e Funções de lista de certificados confiáveis.
Função | Descrição |
---|---|
CertAddCertificateContextToStore | Adiciona um contexto de certificado ao armazenamento de certificados. |
CertAddCertificateLinkToStore | Adiciona um link em um repositório 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 identificador de HCERT_SERVER_OCSP_RESPONSE. |
CertAddRefServerOcspResponseContext | Incrementa a contagem de referência para uma estrutura CERT_SERVER_OCSP_RESPONSE_CONTEXT. |
CertCloseServerOcspResponse | Fecha um identificador de resposta do servidor OCSP (protocolo de status de status de certificado online). |
CertCreateCertificateContext | Cria um contexto de certificado a partir 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 repositório 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 o 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 ou próximo emissor do certificado de entidade especificado. |
CertGetServerOcspResponseContext | Recupera um contexto de resposta OCSP ( de protocolo de status de status de certificado on-line) sem bloqueio e válido por tempo para o identificador especificado. |
CertGetSubjectCertificateFromStore | Obtém do armazenamento de certificados o contexto do certificado de assunto, que é identificado exclusivamente por seu emissor e número de série. |
CertGetValidUsages | Retorna uma matriz de usos que consiste na interseção dos usos válidos para todos os certificados em uma matriz de certificados. |
CertOpenServerOcspResponse | Abre um identificador para uma resposta OCSP (protocolo de status de status de certificado online) associada a uma cadeia de certificados de servidor. |
CertRetrieveLogoOrBiometricInfo | Executa uma recuperação de URL de logotipo ou informações biométricas especificadas na extensão de certificado szOID_LOGOTYPE_EXT ou szOID_BIOMETRIC_EXT. |
CertSelectCertificate | Apresenta uma caixa de diálogo que permite ao usuário selecionar certificados de um conjunto de certificados que correspondem a um determinado critério. |
CertSelectCertificateChains | Recupera cadeias de certificados com base em critérios de seleção especificados. |
CertSelectionGetSerializedBlob | Uma função auxiliar usada para recuperar um certificado serializado BLOB 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 armazenamento 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 do signatário de uma mensagem assinada. |
GetFriendlyNameOfCert | Recupera o nome para 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 Revogação de Certificados
Essas funções gerenciam o armazenamento e a recuperação de listas de revogação de certificados (CRLs).
Função | Descrição |
---|---|
CertAddCRLContextToStore | Adiciona um contexto de CRL ao armazenamento de certificados. |
CertAddCRLLinkToStore | Adiciona um link em uma loja a um contexto de CRL em uma loja diferente. |
CertAddEncodedCRLToStore | Converte a CRL codificada em um contexto de CRL e, em seguida, adiciona o contexto ao armazenamento de certificados. |
CertCreateCRLContext | Cria um contexto de CRL a partir de uma CRL codificada. O contexto criado não é colocado em um armazenamento de certificados. |
CertDeleteCRLFromStore | Exclui uma CRL do armazenamento de certificados. |
CertDuplicateCRLContext | Duplica um contexto de CRL incrementando a contagem de referência de . |
CertEnumCRLsInStore | Enumera os contextos de CRL em um armazenamento. |
CertFindCertificateInCRL | Pesquisa o certificado especificadode lista de revogação de certificados (CRL). |
CertFindCRLInStore | Localiza o primeiro ou o próximo contexto de CRL no armazenamento de certificados que corresponde a um critério específico. |
CertFreeCRLContext | Libera um contexto de CRL. |
CertGetCRLFromStore | Obtém o primeiro ou o próximo contexto de CRL do armazenamento de certificados para o certificado de emissor especificado. |
CertSerializeCRLStoreElement | Serializa a CRL codificada do contexto CRL e suas propriedades. |
Funções da 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 CTL ao armazenamento de certificados. |
CertAddCTLLinkToStore | Adiciona um link em uma loja a um contexto de CRL em uma loja diferente. |
CertAddEncodedCTLToStore | Converte a CTL codificada em um contexto de CTL e, em seguida, adiciona o contexto ao armazenamento de certificados. |
CertCreateCTLContext | Cria um contexto CTL a partir de uma lista de certificados confiáveis codificada. O contexto criado não é colocado em um armazenamento de certificados. |
CertDeleteCTLFromStore | Exclui uma CTL do armazenamento de certificados. |
CertDuplicateCTLContext | Duplica um contexto CTL incrementando a contagem de referência. |
CertEnumCTLsInStore | Enumera os contextos CTL no armazenamento de certificados. |
CertFindCTLInStore | Localiza o primeiro ou o próximo contexto de CTL no repositório de certificados que corresponde a um critério específico. |
CertFreeCTLContext | Libera um contexto CTL. |
CertModifyCertificatesToTrust | Modifica o conjunto de certificados em uma CTL para uma determinada finalidade. |
CertSerializeCTLStoreElement | Serializa a CTL codificada do contexto 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 CTL especificado. |
CertGetCertificateContextProperty | Recupera as propriedades do certificado. |
CertGetCRLContextProperty | Recupera propriedades de CRL. |
CertGetCTLContextProperty | Recupera propriedades CTL. |
CertSetCertificateContextProperty | Define as propriedades do certificado. |
CertSetCRLContextProperty | Define as propriedades da CRL. |
CertSetCTLContextProperty | Define as propriedades CTL. |
Funções MakeCert
As seguintes funções suportam a ferramenta MakeCert.
Função | Descrição |
---|---|
FreeCryptProvFromCert | Libera o identificador para um provedor de serviços de criptografia (CSP) e, opcionalmente, exclui o contêiner temporário criado pelo 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çãoPvkGetCryptProv. |
PvkGetCryptProv | Obtém um identificador para um CSP com base em uma chave privada nome de arquivo ou 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 CTLs ou cadeias de certificados. 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 Estendida.
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 CTL cujos atributos são as propriedades do contexto do 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 o próximo contexto da cadeia de certificados em um armazenamento. |
CertFreeCertificateChain | Liberta uma cadeia de certificados reduzindo a sua contagem de referências. |
CertFreeCertificateChainEngine | Libera um mecanismo de cadeia de certificados não padrão. |
CertFreeCertificateChainList | Libera a matriz de ponteiros para contextos em cadeia. |
CertGetCertificateChain | Cria um contexto de cadeia a partir de um certificado final e voltando para um certificado raiz confiável, se possível. |
CertIsValidCRLForCertificate | Verifica umde CRLpara determinar se ele incluiria um certificado específico se esse certificado fosse revogado. |
CertSetCertificateContextPropertiesFromCTLEntry | Define propriedades no contexto do certificado usando os atributos na entrada 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
funções de mensagem CryptoAPI consistem em dois grupos de funções: funções de mensagem de baixo nível e funções de mensagem simplificadas .
Funções de mensagem de baixo nível criam e trabalham diretamente com mensagens PKCS #7. Essas funções codificam dados PKCS #7 para transmissão e decodificam dados PKCS #7 recebidos. Também desencriptam e verificam as assinaturas das mensagens recebidas. Para obter uma visão geral das mensagens padrão e de baixo nível PKCS #7, consulte Mensagens de baixo nível.
As funções de mensagem simplificadas estão em um nível mais alto e encapsulam várias funções de mensagem de baixo nível 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 da CryptoAPI. Para obter uma visão geral das mensagens simplificadas, consulte Mensagens simplificadas.
- Funções de mensagem de baixo nível
- Funções de mensagem simplificadas
Funções de mensagem de baixo nível
As funções de mensagem de baixo nível fornecem a funcionalidade necessária para codificar dados para transmissão e decodificar mensagens PKCS #7 recebidas. A funcionalidade também é fornecida para desencriptar e verificar as assinaturas das mensagens recebidas. O uso dessas funções de mensagem de baixo nível na maioria dos aplicativos não é recomendado. Para a maioria dos aplicativos, o uso de funções de mensagem simplificadas, que envolvem várias funções de mensagem de baixo nível em uma única chamada de função, é preferível.
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 o final CryptMsgUpdate de uma mensagem criptográfica codificada ou decodificada. |
CryptMsgCountersign | Contraassina uma assinatura já existente em uma mensagem. |
CryptMsgCountersignEncoded | Contraassina 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ências controla o tempo de vida da mensagem. |
CryptMsgGetParam | Adquire um parâmetro depois de codificar ou decodificar uma mensagem criptográfica. |
CryptMsgOpenToDecode | Abre uma mensagem criptográfica para decodificação. |
CryptMsgOpenToEncode | Abre uma mensagem criptográfica para codificação. |
CryptMsgUpdate | Atualiza o conteúdo de uma mensagem criptográfica. |
CryptMsgVerifyCountersignatureEncoded | Verifica um de contraassinatura em termos da estrutura SignerInfo (conforme definido pelo PKCS #7). |
CryptMsgVerifyCountersignatureEncodedEx | Verifica se o parâmetro pbSignerInfoCounterSignature contém ode hashcriptografado do campo encryptedDigest do pbSignerInfo estrutura de parâmetros. |
Funções de mensagem simplificadas
funções de mensagem simplificadas encapsular funções de mensagem de baixo nível 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(s) destinatário(s). |
CryptGetMessageCertificates | Retorna ode armazenamento de certificadosque contém os certificados da mensagem e CRLs. |
CryptGetMessageSignerCount | Retorna a contagem de signatários na mensagem assinada. |
CryptHashMessage | Cria um hash da mensagem. |
CryptSignAndEncryptMessage | Assina a mensagem e, em seguida, criptografa-a para o(s) destinatário(s). |
CryptSignMessageWithKey | Assina uma mensagem usando a chave privada de um CSP especificada nos parâmetros da 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 ou assinaturas desanexadas. |
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 estão agrupadas da seguinte forma:
- Funções de gerenciamento de dados
- Funções de conversão de dados
- Funções de uso de chave aprimoradas
- Funções de identificador de chave
- Funções de suporte OID
- Funções de recuperação remota de objetos
- Funções PFX
Funções de gerenciamento de dados
As seguintes funções CryptoAPI gerenciam dados e certificados.
Função | Descrição |
---|---|
CertCompareCertificate | Compara dois certificados para determinar se são idênticos. |
CertCompareCertificateName | Compara dois nomes de certificado para determinar se são idênticos. |
CertCompareIntegerBlob | Compara dois inteiros BLOBs. |
CertComparePublicKeyInfo | Compara duas chaves públicas para determinar se são idênticas. |
CertFindAttribute | Localiza o primeiro atributo identificado por seu identificador de objeto (OID). |
CertFindExtension | Localiza a primeira extensão identificada por seu OID. |
CertFindRDNAttr | Localiza o primeiro atributo RDN identificado por seu OID na lista de nomes do Relative Distinguished Names. |
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 node nome do certificadocom 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 assinatura podem ser usados para executar a assinatura forte. |
CertVerifyCRLRevocation | Verifica se o certificado de entidade não está na lista de revogação de certificados (CRL). |
CertVerifyCRLTimeValidity | Verifica a validade temporal de uma LCR. |
CertVerifyRevocation | Verifica se o certificado de assunto não está na CRL. |
CertVerifyTimeValidity | Verifica a validade temporal de um certificado. |
CertVerifyValidityNesting | Verifica se a validade temporal do sujeito está dentro da validade temporal do emitente. |
CryptExportPKCS8 | Esta função é substituída pela funçãoCryptExportPKCS8Ex. |
CryptExportPKCS8Ex | Exporta a chave privada no formato PKCS #8. |
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. Esta função difere de CryptExportPublicKeyInfo em que 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 de criptografia 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 do repositório do sistema raiz. |
CryptHashCertificate |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Hashes o conteúdo codificado. |
CryptHashCertificate2 | Hashes um bloco de dados usando uma API de criptografia: provedor de hash de próxima geração (CNG). |
CryptHashPublicKeyInfo |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Calcula o hash das informações de chave pública codificadas. |
CryptHashToBeSigned |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Calcula o hash das informações "a serem assinadas" no conteúdo assinado codificado (CERT_SIGNED_CONTENT_INFO). |
CryptImportPKCS8 |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Importa ode chave privadano formato PKCS #8 para um provedor de serviços de criptografia (CSP). |
CryptImportPublicKeyInfo |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode 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 |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode 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 (acima dos especificados por CryptImportPublicKeyInfo) que podem ser usados para substituir padrões são fornecidos para complementar CERT_PUBLIC_KEY_INFO. |
CryptImportPublicKeyInfoEx2 | Importa uma chave pública para um fornecedor assimétrico de GNC. |
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 memória atualmente alocada para um buffer e aloca memória para um novo buffer. |
CryptQueryObject |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode 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 "a serem assinadas", assina essas informações codificadas e codifica as informações assinadas e codificadas resultantes. |
CryptSignCertificate | Assina as informações "a ser assinado" no conteúdo codificado e assinado. |
CryptSIPAddProvider | Adiciona um SIP (Subject Interface Package). |
CryptSIPCreateIndirectData | Retorna uma estrutura SIP_INDIRECT_DATA que contém umade hashda estrutura de SIP_SUBJECTINFO fornecida, o algoritmo digest 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 assunto e atribui funções de exportação de biblioteca apropriadas a uma estrutura SIP_DISPATCH_INFO. |
CryptSIPPutSignedDataMsg | Armazena uma assinatura Authenticode no arquivo de destino. |
CryptSIPRemoveProvider | Remove um SIP adicionado por uma chamada anterior à funçãoCryptSIPAddProvider. |
CryptSIPRemoveSignedDataMsg | Remove uma assinatura Authenticode especificada. |
CryptSIPRetrieveSubjectGuid | Recupera um GUID com base nas informações do cabeçalho em um arquivo especificado. |
CryptSIPRetrieveSubjectGuidForCatalogFile | Recupera o GUID do assunto associado ao arquivo especificado. |
CryptSIPVerifyIndirectData | Valida os dados hash indiretos em relação ao assunto fornecido. |
CryptUpdateProtectedState | Migra as chaves mestras do usuário atual após a alteração dade identificador de segurança(SID) do usuário. |
CryptVerifyCertificateSignature | Verifica a assinatura de um certificado de entidade ou de umade CRLusando as informações de chave pública. |
CryptVerifyCertificateSignatureEx | Uma versão estendida do CryptVerifyCertificateSignature. |
GetEncSChannel | Armazena o conteúdo criptografado da DLL Schannel na memória. |
pCryptSIPGetCaps | Implementado por um SIP para relatar recursos. |
Funções de conversão de dados
As seguintes funções CryptoAPI convertem membros da estrutura de certificados em diferentes formas.
Função | Descrição |
---|---|
CertAlgIdToOID | Converte um identificador de algoritmo CryptoAPI (ALG_ID) em uma cadeia de caracteres Abstract Syntax Notation One (ASN.1) object identifier (OID). |
CertGetNameString | Adquire o nome do assunto ou do emissor de um certificado e o converte em uma cadeia de caracteres terminada em nulo. |
CertNameToStr | Converte um nome de certificado BLOB em uma cadeia de caracteres terminada zero. |
CertOIDToAlgId | Converte a cadeia de caracteres ASN.1 Object Identifier para o identificador de algoritmo CSP. |
CertRDNValueToStr | Converte um valor de nome em uma cadeia de caracteres terminada em nulo. |
CertStrToName | Converte uma cadeia de caracteres deX.500terminada nula 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 (Enhanced Key Use) e a propriedade estendida EKU dos 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 de certificado são valores associados a um certificado que podem ser definidos em um aplicativo.
Função | Descrição |
---|---|
CertAddEnhancedKeyUsageIdentifier | Adiciona um identificador de uso à propriedade EKU de um certificado. |
CertGetEnhancedKeyUsage | Obtém, a partir de um certificado, informações sobre a extensão ou propriedade da 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 . Pode ser qualquer identificador exclusivo, mas geralmente é o hash SHA1 de 20 bytes de uma estrutura de CERT_PUBLIC_KEY_INFO codificada. Um identificador de chave pode ser obtido através do CERT_KEY_IDENTIFIER_PROP_ID 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 |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Cria um identificador de chave a partir do BLOB de chave pública de um CSP. |
CryptEnumKeyIdentifierProperties | Enumera identificadores de chave e suas propriedades. |
CryptGetKeyIdentifierProperty |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Adquire uma propriedade específica de um identificador de chave especificado. |
CryptSetKeyIdentifierProperty |
Importante: Esta API foi preterida. Software novo e existente deve começar a usar APIs de próxima geração criptografia. a Microsoft pode remover essa API em versões futuras. Define uma propriedade de um identificador de chave especificado. |
Funções de suporte OID
Essas funções fornecem suporte OID (object identifier). Essas funções instalam, registram e despacham para OID e codificam funções específicas do tipo.
As seguintes funções CryptoAPI usam estas funções de suporte OID:
- CryptEncodeObject
- CryptEncodeObjectEx
- CryptDecodeObject
- CryptDecodeObjectEx
- CertVerifyRevocation
- CertOpenStore
Para obter uma visão geral desse processo, consulte Estendendo a funcionalidade CryptoAPI.
As seguintes funções 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 correspondências. |
CryptFindOIDInfo | Usa a chave especificada e o grupo para localizar informações OID. |
CryptFreeOIDFunctionAddress | Libera a contagem de identificadores que foi incrementada e retornada pelo CryptGetOIDFunctionAddress ou CryptGetDefaultOIDFunctionAddress. |
CryptGetDefaultOIDDllList | Adquire a lista de entradas DLL padrão registradas para o conjunto de funções especificado e o tipo de codificação. |
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 correspondência OID. Se uma correspondência não for encontrada lá, o registro será pesquisado por uma correspondência. |
CryptGetOIDFunctionValue | Adquire o valor para o tipo de codificação especificado, nome da função, OID e nome do valor. |
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 chamáveis. |
CryptRegisterDefaultOIDFunction | Registra a DLL que contém a função padrão a ser chamada para o tipo de codificação especificado e o nome da função. |
CryptRegisterOIDFunction | Registra a DLL que contém a função a ser chamada para o tipo de codificação especificado, nome da função e OID. |
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 especificado, nome da função, OID e nome do valor. |
CryptUnregisterDefaultOIDFunction | Remove o registro para a DLL que contém a função padrão a ser chamada para o tipo de codificação especificado e nome da função. |
CryptUnregisterOIDFunction | Remove o registro para a DLL que contém a função a ser chamada para o tipo de codificação especificado, nome da função e OID. |
CryptUnregisterOIDInfo | Remove o registro para as informações OID especificadas. |
Funções de recuperação remota de objetos
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 oferecem suporte ao formato PFX (Personal Information Exchange) BLOBs.
Função | Descrição |
---|---|
PFXExportCertStore | As exportações do armazenamento de certificados referenciado os certificados e, se disponíveis, suas chaves privadas associadas. |
PFXExportCertStoreEx | As exportações do certificado referenciado armazenam os certificados e, se disponíveis, suas chaves privadas associadas. |
PFXImportCertStore | Importa um BLOB PFX e retorna o identificador de um repositório 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á-lo com a senha fornecida. |
Funções de backup e restauração de serviços de certificados
Os Serviços de Certificados incluem funções para fazer backup 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 em 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 primeiro carregando a biblioteca de 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 recursos Certadm.dll da memória.
Observação
As funções de backup e restauração fornecidas pelo Certadm.dll não fazem backup ou restauram as chaves privadas do Serviço de Certificados. Para obter informações sobre como fazer backup das chaves privadas dos Serviços de Certificados, consulte Fazendo backup e restaurando 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 Definindo 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 de COINIT_APARTMENTTHREADED deve ter sido passado para CoInitializeEx. Ou seja, ao usar o mesmo thread, você não pode 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, quando você cria seu programa, use Certsrv.h como o arquivo de inclusão.
As APIs a seguir são exportadas pelo Certadm.dll.
Função | Descrição |
---|---|
CertSrvBackupFechar | Fecha um ficheiro 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 de backup. |
CertSrvBackupGetDatabaseNames | Retorna uma lista de arquivos de banco de dados que precisam de backup. |
CertSrvBackupGetDynamicFileList | Recupera a lista de nomes de arquivos dinâmicos dos Serviços de Certificados que precisam de backup para o contexto de backup determinado. |
CertSrvBackupOpenFile | Abre um arquivo em preparação para fazer backup dele. |
CertSrvBackupPrepare | Prepara o banco de dados para o backup online. |
CertSrvBackupLeia | Lê o conteúdo de um ficheiro aberto. |
CertSrvBackupTruncateLogs | Trunca os arquivos de log. |
CertSrvIsServerOnline | Determina se um servidor de 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. |
CertSrvRestoreRegistrar | 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 dede armazenamento de certificadosdefinidos 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 de 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 | Utilização |
---|---|
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 aberta do provedor de loja. |
CertEnumPhysicalStoreCallback | A função de retorno de chamada usada pelo CertEnumPhysicalStore função para formatar e apresentar informações sobre cada loja física encontrada. |
CertEnumSystemStoreCallback | A função de retorno de chamada usada pelo CertEnumSystemStore função para formatar e apresentar informações sobre cada armazenamento físico encontrado. |
CertEnumSystemStoreLocationCallback | A função de retorno de chamada usada pelo função CertEnumSystemStoreLocation para formatar e apresentar informações sobre cada loja física encontrada. |
CertStoreProvCloseCallback | Determina o que acontece quando a contagem de referência de de uma loja aberta se torna zero. |
CertStoreProvControl | Permite que um aplicativo seja notificado quando houver uma diferença entre o conteúdo de um armazenamento armazenado em cache em uso e o conteúdo desse armazenamento à medida que ele é mantido no armazenamento. |
CertStoreProvDeleteCertCallback | Determina as ações a serem executadas antes que um certificado seja excluído de um armazenamento de certificados. |
CertStoreProvDeleteCRLCallback | Determina as ações a serem executadas antes que umde lista de revogação de certificados (CRL) deseja excluído de um armazenamento de certificados. |
CertStoreProvDeleteCTL | Determina se uma CTL pode ser excluída. |
CertStoreProvFindCert | Localiza o primeiro ou o próximo certificado em um repositório que corresponde aos critérios especificados. |
CertStoreProvFindCRL | Localiza a primeira ou a próxima CRL em um repositório que corresponde aos critérios especificados. |
CertStoreProvFindCTL | Localiza a primeira ou a próxima CTL em uma loja que corresponde aos critérios especificados. |
CertStoreProvFreeFindCert | Libera um contexto de certificado encontrado anteriormente. |
CertStoreProvFreeFindCRL | Libera um contexto de CRL encontrado anteriormente. |
CertStoreProvFreeFindCTL | Liberta um contexto CTL previamente encontrado. |
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 existir, crie um novo contexto CTL. |
CertStoreProvSetCertPropertyCallback | Determina as ações a serem executadas antes de uma chamada para CertSetCertificateContextProperty ou CertGetCertificateContextProperty. |
CertStoreProvSetCRLPropertyCallback | Determina as ações a serem executadas 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 executadas antes de adicionar um certificado a um armazenamento. |
CertStoreProvWriteCRLCallback | Determina as ações a serem executadas antes de adicionar uma CRL a uma loja. |
CertStoreProvWriteCTL | Determina se uma CTL pode ser adicionada à loja. |
CRYPT_ENUM_KEYID_PROP | Função de retorno de chamada usada pela funçãoCryptEnumKeyIdentifierProperties. |
CRYPT_ENUM_OID_FUNCTION | Função de retorno de chamada usada pela funçãoCryptEnumOIDFuntion. |
CRYPT_ENUM_OID_INFO | Função de retorno de chamada usada pelo 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 signatário de mensagens. |
PCRYPT_DECRYPT_PRIVATE_KEY_FUNC | Função de retorno de chamada usada pela funçãoCryptImportPKCS8. |
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çãoCryptImportPKCS8. |
PFN_CDF_PARSE_ERROR_CALLBACK | Uma função definida pelo usuário chamada para erros de função de definição de catálogo ao analisar um arquivo de definição de catálogo (CDF). |
PFN_CERT_CREATE_CONTEXT_SORT_FUNC | Chamado para cada entrada de contexto classificada quando um contexto é criado. |
PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY | Uma função instalável CNG object identifier (OID) para importação de uma chave de encriptação de conteúdo (CEK) já desencriptada. |
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 envelopada. |
PFN_CMSG_CNG_IMPORT_KEY_TRANS | Uma função instalável de um OID CNG para importação e desencriptação de de uma chave dede encriptação dede transporte de chaves, encriptada, (CEK). |
PFN_CMSG_EXPORT_KEY_AGREE | Criptografa e exporta a chave de criptografia de conteúdo para um destinatário de contrato de chave de uma mensagem envelopada. |
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 envelopada. |
PFN_CMSG_EXPORT_MAIL_LIST | Criptografa e exporta a chave de criptografia de conteúdo para um destinatário da lista de endereçamento de uma mensagem envelopada. |
PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY | Gera a chave simétrica usada para criptografar o conteúdo de uma mensagem envelopada. |
PFN_CMSG_IMPORT_KEY_AGREE | Importa uma chave de criptografia de conteúdo para um destinatário de transporte de chave de uma mensagem envelopada. |
PFN_CMSG_IMPORT_KEY_TRANS | Importa uma chave de criptografia de conteúdo para um destinatário de transporte de chave de uma mensagem envelopada. |
PFN_CMSG_IMPORT_MAIL_LIST | Importa uma chave de criptografia de conteúdo para um destinatário de transporte de chave de uma mensagem envelopada. |
PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC | Chamado por CryptExportPublicKeyInfoEx exportar um BLOB de chave pública e codificá-lo. |
PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC | Chamado para decodificar e retornar o identificador do 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 desencriptar uma assinatura codificada e compará-la com um hash computado. |
PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC | Chamado por CryptImportPublicKeyInfoEx2 decodificar o algoritmo de chave pública identificador, carregar o provedor de algoritmo 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 deCryptUIDlgSelectCertificate domanipule a exibição de certificados que o usuário seleciona para exibir. |
PFNCMFILTERPROC | Filtra cada certificado para decidir se ele aparecerá na caixa de diálogo de seleção de certificado exibida pela funçãoCertSelectCertificate. |
PFNCMHOOKPROC | Chamado antes que as mensagens sejam processadas pela caixa de diálogo de seleção de certificado produzida pela funçãoCertSelectCertificate. |
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 estruturaCRYPTCATCDF correspondente. |
CryptCATCDFEnumAttributesWithCDFTag | Enumera os atributos de arquivos membros na seção CatalogFiles de um CDF. |
CryptCATCDFEnumCatAttributes | Enumera atributos de nível de catálogo dentro da seção CatalogHeader de um CDF. |
CryptCATCDFEnumMembersByCDFTagEx | Enumera os membros individuais do arquivo na seção CatalogFiles de um CDF. |
CryptCATCDFOpen | Abre um CDF existente para leitura e inicializa uma estrutura de CRYPTCATCDF. |
Funções do catálogo
Essas funções são usadas para gerenciar um catálogo.
Função | Descrição |
---|---|
CryptCATAdminAcquireContext | Adquire um identificador para um contexto de administrador de catálogo. Esse identificador pode ser usado por chamadas subsequentes para o CryptCATAdminAddCatalog, CryptCATAdminEnumCatalogFromHashe funções de CryptCATAdminRemoveCatalog. |
CryptCATAdminAcquireContext2 | Adquire um identificador 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 identificador para um contexto de catálogo retornado anteriormente pela funçãoCryptCATAdminAddCatalog. |
CryptCATAdminReleaseContext | Libera o identificador atribuído anteriormente pela funçãoCryptCATAdminAcquireContext. |
CryptCATAdminRemoveCatalog | Exclui um arquivo de catálogo e remove a entrada desse catálogo do banco de dados de catálogo do Windows. |
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 identificador de catálogo aberto anteriormente pela funçãoCryptCATOpen. |
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 membros do PKCS #7 do catálogo. Além de recuperar as informações de membro para uma tag de referência especificada, essa função abre um contexto de membro. |
CryptCATOpen | Abre um catálogo e retorna um identificador de contexto para o catálogo aberto. |
IsCatalogFile | Recupera um valor booleano 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 pelo função WintrustAddActionID. |
WintrustSetDefaultIncludePEPageHashes | Define a configuração padrão que determina se hashes de página são incluídos ao criar dados indiretos do pacote de interface do assunto (SIP) 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 de emissor dos repositórios de certificados especificados que corresponde ao certificado de entidade especificado. |
WTHelperCertIsSelfSigned | Verifica se um certificado é autoassinado. |
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 de provedor de confiança da cadeia de certificados. |
WTHelperGetProvPrivateDataFromChain | Recebe uma estrutura de CRYPT_PROVIDER_PRIVDATA da cadeia usando o ID do provedor. |
WTHelperGetProvSignerFromChain | Recupera um signatário ou contrasignatário por índice da cadeia. |
WTHelperProvDataFromStateData | Recupera informações do provedor de confiança de um identificador especificado. |
Funções do localizador de objetos
As seguintes funções de retorno de chamada podem ser implementadas por um provedor personalizado que se destina a ser chamado pelo pacote de segurança Secure Channel (Schannel) para recuperar certificados.
Função | Descrição |
---|---|
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH | Especifica que um objeto foi alterado. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET | Recupera um objeto. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE | Libera o provedor. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD | Libera a senha usada para criptografar uma matriz de bytes PFX. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE | Libera o objeto retornado pelo provedor. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER | Libera memória para um identificador de objeto. |
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE | Inicializa o provedor. |