Verificação da validade do certificado
A verificação da validade do certificado utilizado para a assinatura é de responsabilidade do sistema que está requisitando a assinatura.
A Public API disponibiliza os recursos necessários para que o sistema integrador realize essa validação. O sistema pode autenticar o usuário e consultar os certificados digitais vinculados a ele, verificando as informações de validade antes de solicitar a assinatura.
Recomenda-se que o sistema integrador valide se o certificado selecionado está dentro do período de validade antes de realizar a requisição de assinatura.
Para que o usuário esteja apto a realizar uma assinatura digital, recomenda-se seguir o fluxo de descoberta e seleção do certificado antes de solicitar a assinatura.
Fluxo para descoberta de usuário
O processo utiliza os seguintes endpoints:
/user-discovery— identifica se o usuário possui certificado digital;/pwd_authorize— realiza a autenticação do usuário;/certificate-discovery— lista os certificados disponíveis para o usuário;/signature— realiza a assinatura digital.
1. Descoberta do usuário
Para um novo usuário ou para um usuário marcado anteriormente como "sem certificado", consulte o endpoint /user-discovery.
A consulta deve ser realizada preferencialmente na nuvem BirdID:
Para usuários mais antigos que ainda possuem certificado na nuvem VaultID, a consulta pode ser realizada em:
https://apicloudid.vaultid.com.br/
Caso o usuário não possua certificado, o sistema deve orientá-lo quanto à emissão do certificado.
Quando o usuário possuir um certificado, recomenda-se persistir essa informação. As consultas futuras indicarão que o usuário possui certificado e também em qual nuvem ele está disponível (BirdID ou VaultID).
2. Autenticação do usuário
Após confirmar que o usuário possui certificado, solicite o OTP e realize a autenticação por meio do endpoint /pwd_authorize.
Para operações de assinatura, recomenda-se utilizar:
scope:signature_sessionlifetime: recomendamos 13 horas para profissionais da saúde.
O access_token obtido deve ser armazenado de forma segura e criptografada durante o período de validade da sessão.
3. Consulta dos certificados
Após a autenticação, o sistema deve consultar os certificados disponíveis para o usuário.
A consulta pode ser realizada por meio da API:
Nesse endpoint, o certificado é retornado no formato PEM (Base64). Para realizar a verificação das informações do certificado, o sistema integrador deve realizar o parse do certificado X.509.
A consulta pode ser realizada utilizando:
o
access_tokendo usuário; ouo
access_tokenda aplicação.
4. Verificação da validade do certificado
A partir do certificado obtido, o sistema deve verificar se o certificado está dentro do período de validade antes de prosseguir com a assinatura.
A validação deve considerar as informações de validade do certificado X.509, verificando se a data atual está compreendida entre a data de início e a data de término de sua validade.
a verificação da validade do certificado, para determinar se o sistema deve prosseguir com a solicitação de assinatura, é de responsabilidade do sistema que está requisitando a assinatura.
A Public API disponibiliza os recursos necessários para que essa verificação seja realizada. O sistema integrador deve utilizar essas informações para garantir que o certificado selecionado esteja válido antes de enviar a solicitação para o endpoint /signature.
Caso o certificado esteja expirado ou ainda não esteja válido, o sistema deve interromper o fluxo e orientar o usuário sobre a situação do certificado.
5. Seleção do certificado
Após consultar e validar os certificados disponíveis, o sistema deve selecionar o certificado que será utilizado na assinatura.
Caso o usuário possua mais de um certificado, recomenda-se permitir que ele selecione qual certificado deseja utilizar.
A opção selecionada pode ser persistida pelo sistema, utilizando o alias do certificado.
Caso o certificate_alias não seja informado na solicitação de assinatura, será utilizado o certificado padrão definido pelo usuário. Quando não houver uma seleção realizada pelo usuário no aplicativo, será selecionado o certificado mais recente.
6. Usuário apto a assinar
Após:
confirmar que o usuário possui certificado;
autenticar o usuário;
consultar os certificados disponíveis;
verificar a validade do certificado;
selecionar o certificado que será utilizado;
o usuário estará apto a realizar a assinatura digital.
Nesse momento, o sistema poderá prosseguir com a solicitação de assinatura por meio do endpoint /signature.
A consulta de um certificado não deve ser considerada, por si só, uma confirmação de que o certificado está válido para assinatura. O sistema integrador deve realizar a verificação da validade do certificado antes de solicitar a assinatura.
Last updated
Was this helpful?