Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Ao longo de um período de tempo, certificados se acumularão no computador de um usuário. Ferramentas são necessárias para gerenciar esses certificados. CryptoAPI fornece essas ferramentas como funções para armazenar, recuperar, excluir, listar (enumerar) e verificar certificados. CryptoAPI também fornece os meios para anexar certificados a mensagens.
A CryptoAPI oferece duas categorias principais de funções para gerenciar certificados: funções que gerenciam armazenamentos de certificadose funções que funcionam com os certificados, listas de revogação de certificados (CRLs) e listas de certificados confiáveis (CTLs) dentro desses armazenamentos.
As funções que gerenciam armazenamentos de certificados incluem funções para trabalhar com armazenamentos virtuais lógicos ou , armazenamentos remotos, armazenamentos externose armazenamentos que podem ser realocados.
Certificados, CRLse CTLs podem ser mantidos em repositórios de certificados. Eles podem ser recuperados de uma loja onde foram armazenados para uso em processos de autenticação de utilizadores.
A loja de certificados é central para todas as funcionalidades dos certificados. Os certificados são gerenciados na loja usando funções com um prefixo "Cert". Um armazenamento de certificados típico é uma lista vinculada de certificados conforme mostrado na ilustração a seguir.
A ilustração anterior mostra:
- Cada loja de certificados tem um ponteiro para o primeiro bloco de certificado nessa loja.
- Um bloco de certificado inclui um ponteiro para os dados desse certificado e um ponteiro "próximo" para o próximo bloco de certificado no repositório.
- O ponteiro "próximo" no último bloco de certificado é definido como NULL.
- O bloco de dados de um certificado contém o contexto de certificado de leitura somente e quaisquer propriedades estendidas do certificado.
- O bloco de dados de cada certificado inclui uma contagem de referência que controla o número de ponteiros para o certificado existente.
Os certificados em uma loja de certificados normalmente são mantidos em algum tipo de armazenamento permanente, como um arquivo de disco ou no registo do sistema. Os repositórios de certificados também podem ser criados e abertos estritamente na memória. Um armazenamento de memória fornece armazenamento temporário de certificados para trabalhar com certificados que não precisam ser mantidos.
Locais de armazenamento adicionais permitem que as lojas sejam mantidas e pesquisadas em várias partes do registro de um computador local ou, com as permissões adequadas definidas, no registro em um computador remoto.
Cada usuário tem uma loja pessoal My onde os certificados desse usuário são armazenados. A loja "My" pode estar em qualquer um dos muitos locais físicos, incluindo o registo num computador local ou remoto, um ficheiro de disco, uma base de dados, serviço de diretório, um cartão inteligente ou outro local. Embora qualquer certificado possa ser armazenado na minha loja, esta loja deve ser reservada para os certificados pessoais de um utilizador: aqueles certificados usados para assinar e descriptografar as mensagens do utilizador.
O uso de certificados para autenticação depende de ter certificados emitidos por algum emissor de certificado confiável. Os certificados para emissores de certificados confiáveis geralmente são mantidos no armazenamento raiz, que atualmente é persistido numa subchave do registo. No contexto CryptoAPI, o armazenamento raiz é protegido e as caixas de diálogo da interface do usuário lembram o usuário de colocar apenas certificados confiáveis nesse armazenamento. Em situações de rede corporativa, os certificados podem ser enviados por push (copiados) por um administrador de sistema do computador do controlador de domínio para os armazenamentos raiz em computadores cliente. Esse processo fornece a todos os membros de um domínio listas de confiança semelhantes.
Outros certificados podem ser armazenados no sistema de armazenamento de autoridade de certificação (CA) ou em repositórios baseados em ficheiros criados pelo utilizador.
Para obter listas de funções para usar e manter repositórios de certificados, consulte Funções de armazenamento de certificados.
Para obter um exemplo que usa algumas dessas funções, consulte Exemplo de Programa C: Operações de Armazenamento de Certificados.
Tópicos relacionados