Exemplo OpenSSL
O OpenSSL pode ser utilizado para gerar a requisição de carimbo de tempo (TSQ) via linha de comando, e fazer o parse do carimbo de tempo enviado na resposta da ACT.
O OpenSSL vem instalado por padrão em ambientes Linux e Mac, mas se estiver utilizando Windows será necessário instala-lo.
Pré requisitos:
OpenSSL instalado.
Curl Instalado.
A primeira etapa é gerar a requisição de carimbo de tempo (TSQ) , informando o arquivo que deseja carimbar, para isso execute o comando abaixo:
openssl ts -query -data seu_arquivo.txt -out request.tsq
O comando acima irá gerar um hash do arquivo "seu_arquivo.txt" e incluirá na requisição de carimbo de tempo, gerando o arquivo request.tsq que iremos enviar para a ACT.
Com a requisição de carimbo de tempo (TSQ) pronta, agora é só enviar e receber o carimbo de tempo, o comando abaixo envia uma requisição para a ACT seguindo a RFC 3161, ele envia o arquivo que geramos anteriormente "request.tsq" e salva a resposta da ACT no arquivo "response.tsr":
curl --location --request POST 'https://gateway-act.hom.vaultid.com.br/api/act'
--header 'Authorization: Basic dGVzdGU6dGVzdGU='
--header 'Content-Type: application/timestamp-query'
--data-binary '@request.tsq' -output response.tsr
Para executar o comando acima, é necessário ter o usuário e senha enviados por nossa equipe de integração, para que consiga autenticar utilizando a autenticação Basic Authentication.
Caso esteja tudo ok com a autenticação e com a requisição, após enviar a requisição com o curl, será gerado um arquivo com a resposta da ACT, que é o carimbo de tempo, response.tsr.
Para dar parse no arquivo response.tsr e ver o conteúdo da resposta execute o seguinte comando:
openssl ts -in response.tsr -text
O que foi demonstrado até aqui pode ser usado para testar o fluxo, mas não é recomendado que seja utilizado chamadas exec para execução destes comandos por outra linguagem em ambiente de produção.
Não incluímos neste exemplo as validações que podem ser feitas utilizando o OpenSSL, mas é possível fazer diversas validações somente utilizando o OpenSSL.
Last updated