Realizado

Criar uma Api para assinar documentos Pdf: Assinador Digital (certificado Digital A1)

Publicado em 11 de Junho de 2024 dias na TI e Programação

Sobre este projeto

Aberto

Desenvolver uma api em php com postgresql para assinatura digital de documentos em pdf. A API deve permitir a integração de sistemas externos e oferecer um backoffice para a visualização de estatísticas de assinatura.

Funcionalidades da API

Autenticação de Sistemas Externos
Entrada: APIKey e senha.
Processo: Autenticação via API.
Saída: Token de acesso.

Envio e Processamento de Documentos
Entrada: PDF, certificado digital A1 e senha.
Processo:
Validação do certificado digital e da senha.
Verificação da integridade do PDF.
Para documentos médicos, validação/inclusão adicional dos oids no pdf conforme manual de assinatura digital.
Saída: Documento PDF assinado digitalmente ou mensagem de erro detalhando a falha.

Retorno de Erros
Mensagens claras e detalhadas para qualquer erro durante a validação do certificado, senha ou integridade do PDF.

Funcionalidades do Backoffice
Dashboard de Estatísticas
Visão geral das assinaturas realizadas.
Gráficos e tabelas mostrando o número de documentos assinados, tipos de documentos, etc. Por período e cliente

Requisitos Técnicos
Linguagem de Programação: PHP
Banco de Dados: PostgreSQL

Validação dos documentos:
Os documentos assinados deverão ser validados no ITI (https://validar.iti.gov.br/) para validar assinaturas aprovadas e CRMs de médicos quando necessário.

Segurança: Uso de tokens para autenticação e autorização.

Exemplo de Fluxo de Trabalho da API
Autenticação
O sistema cliente envia um request com APIKey e senha para a API.
A API valida as credenciais e retorna um token de acesso.

Assinatura de Documentos
O sistema cliente envia um request com o PDF, certificado digital e senha e o tipo de documento, utilizando o token de acesso.

A api valida o certificado digital, senha e a integridade do pdf.
Se o documento for médico, devem ser inseridos os metadados oids de tipo de documento.
A Api retorna o documento assinado digitalmente ou uma mensagem de erro.

Obs: deverá gerado um token aleatório de 6 dígitos alfanuméricos (maiusculo ou minusculo) e ser incluído um qrcode com informações  no documento (arquivo anexo de exemplo) que aponta para a url que baixa o arquivo assinado de acordo com esse token, poderá ser enviado um parâmetro que define a posição do qrcode no documento (superior/direita, superior/centro, superior/esquerda, inferior/direita, inferior/centro, inferior/esquerda). Exemplo de arquivo em anexo, o nome do arquivo é o próprio token de 6 dígitos



Considerações Adicionais
Escalabilidade: A arquitetura da API deve permitir fácil escalabilidade para suportar um grande número de solicitações.

Segurança: Implementação de práticas recomendadas de segurança para proteger dados sensíveis e garantir a integridade dos documentos.

Documentação: Fornecer documentação clara e detalhada para facilitar a integração de sistemas externos.

Mais referências:
https://verificador.staging.iti.br/
https://validar.iti.gov.br/
https://manual-integracao-assinatura-eletronica.servicos.gov.br/pt-br/latest/
https://www.gov.br/conecta/catalogo/apis/assinatura-digital-avancada
https://www.gov.br/iti/pt-br/assuntos/legislacao/adendos

Categoria TI e Programação
Subcategoria Programação
Qual é o alcance do projeto? Alteração média
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Integrações de API Outros (Outras APIs)
Funções necessárias Desenvolvedor

Prazo de Entrega: Não estabelecido

Habilidades necessárias