For the complete documentation index, see llms.txt. This page is also available as Markdown.

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:

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:

https://api.birdid.com.br/

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.

Recomendação: a resposta negativa da consulta de descoberta pode ser armazenada em cache por um período entre 2 e 12 horas, evitando consultas repetitivas.

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_session

  • lifetime: 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:

/certificate-discovery

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_token do usuário; ou

  • o access_token da 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 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:

  1. confirmar que o usuário possui certificado;

  2. autenticar o usuário;

  3. consultar os certificados disponíveis;

  4. verificar a validade do certificado;

  5. 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.

Last updated

Was this helpful?