IdeiaSigner
  1. Certificação Digital
IdeiaSigner
  • Bem-vindo
  • Política de Privacidade
  • API Auxiliar
    • Manual de Integração APIs
    • Endpoints
      • CadastrarOrganizacao
      • AtualizarDadosFaturamento
      • CadastrarUsuario
  • Certificação Digital
    • O que é?
    • Assinaturas Digitais
    • Assinaturas de servidor
    • Login com certificado digital
    • Certificados confiados pela Adobe
    • Assinaturas web
      • O que são?
      • Assinaturas web remotas
      • Assinaturas web locais
  • Web PKI
    • O que é?
    • Primeiros passos
    • Propriedades dos certificados
    • Personalizando a listagem de certificados
    • Pré-validação de certificados
    • Browsers suportados
    • Instalação e distribuição de componentes do WEB PKI via GPO
    • Licenciamento
    • Chamadas assíncronas
    • Callback de erro padrão
    • Customizando o comportamento quando o componente não estiver instalado
    • Utilizando uma página de instalação personalizada
    • Callbacks e AngularJS
    • Filtros de certificados
    • Especificando a URL do Rest PKI
    • Atualizações - Web PKI
    • Requisição Autenticada
    • Logs - Web PKI
    • Atributos de Segurança - Web PKI
    • Substituição do ICPBravoAccess
    • FAQ
      • Qual é a diferença entre as funções signData e signHash?
      • Qual é o formato da assinatura retornada pelas funções signData e signHash?
      • O Web PKI suporta conexões SSL usando o certificado do usuário?
  • Rest PKI
    • O que é?
    • Rest PKI - Disponibilidade de exemplos por projeto
    • Códigos de Retorno do REST PKI
    • Tags da representação visual de assinaturas PAdES
    • Configuração de Data e Hora
    • Solicitando carimbos de tempo
  • Signer
    • Guia de Integração
    • Integração com Assinatura embutida
    • Guia do usuário
      • Geração de documentos
    • Administração do sistema
      • Adicionando usuário à administração
      • Visualizando os documentos
      • Excluindo documentos
    • Sobre o Signer
      • Histórico de versões do Signer
      • Código de erro inesperado ao submeter ou assinar um PDF
  • GrantID
    • GrantID - Inicio
  1. Certificação Digital

Login com certificado digital

É possível realizar autenticação de usuários (login) baseada em certificado digital. Esse processo, em linhas gerais, ocorre da seguinte
maneira:
1.
Gera-se um nonce criptográfico
2.
Solicita-se ao usuário que realize um algoritmo de assinatura sobre o nonce utilizando sua chave privada
3.
Verifica-se o resultado do algoritmo de assinatura utilizando a chave pública do certificado do usuário
4.
Valida-se o certificado do usuário
5.
Se todas as validações forem bem sucedidas, a aplicação pode assumir que o usuário é realmente o titular do certificado apresentado.
Em seguida, utiliza-se um campo chave do certificado (ex: CPF ou email) para localizar o usuário na base de dados e completa-se o
processo de autenticação.
Isso é apenas uma visão geral. Existem passos adicionais, como validar que o nonce nunca foi utilizado anteriormente, para evitar ataques de replay.
Para implementar esse processo, é preciso realizar operações no frontend e no backend.
O algoritmo de assinatura sobre o nonce necessariamente precisa ser feito no frontend pois a chave privada do certificado
do usuário pode estar em um dispositivo criptográfico (certificado A3) que nunca permite a sua exportação. Além disso, mesmo que a
chave seja baseada em software (certificado A1), solicitá-la ao usuário é uma má prática.
Já a geração do nonce e todas as validações precisam ser realizadas no backend por motivos óbvios de segurança.
A forma recomendada de implementar login com certificado digital é utilizando o Rest PKI em conjunto com o Web PKI.

Passo-a-passo#

1.
Acesse a documentação do Rest PKI
2.
Escolha uma linguagem de programação
3.
Escolha um dos projetos de exemplos disponíveis
4.
Siga os passos para executar o projeto
5.
Uma vez executando o projeto, clique em Authentication with digital certificate
Embora a solução envolva o Rest PKI em conjunto com o Web PKI (para as operações no backend e frontend respectivamente), concentre-se na documentação do Rest PKI que já mostra o uso dos dois produtos integrados.

Implementações alternativas#

Se você já possui uma biblioteca de terceiros para certificação digital ou deseja implementar o código do backend você mesmo, você pode também utilizar o Web PKI apenas para realizar as operações necessárias no frontend.
Modificado em 2024-12-03 14:05:46
Página anterior
Assinaturas de servidor
Próxima página
Certificados confiados pela Adobe
Built with