Troca de Chaves
1. Requisição Assinada
Todas as requisições em nossas APIs devem usar o protocolo HTTPs, utilizando TLS 1.2 ou 1.3, contendo dois Headers:
- API-CLIENT-KEY: Uma chave disponibilizada pelo nosso time de Integração que identifica uma integração específica;
- AUTHORIZATION: Uma assinatura da requisição que deve ser realizada conforme explicado nesse manual;
Como padrão a QI DTVM utiliza-se do padrão de chaves assimétricas, onde existem duas chaves diferentes, uma para assinatura, denominada chave privada, e uma para leitura, denominada de chave pública. Com a chave privada, o parceiro integrador deverá realizar a assinatura utilizando-se do padrão JWT. O parceiro integrador é responsável por gerar o par e fornecer ao time da QI DTVM a chave pública para que possamos validar as suas requisições.
A chave privada é de uso exclusivo do parceiro integrador, e deve ser armazenada com segurança. A QI DTVM nunca irá pedir, em hipótese alguma, que voce a compartilhe conosco.
2. Gerando o par
Para gerar uma chave privada em um computador UNIX faça:
$ ssh-keygen -t ecdsa -b 521 -m PEM -f private.key
E a partir desta chave privada gere sua chave pública.
$ openssl ec -in private.key -pubout -outform PEM -out public.key.pub
A chave pública gerada (arquivo public.key.pub) deve ser enviada para o time da QI Tech, e aguardar a integração ser configurada;