Autenticação

A autenticação para emissão do certificado utilizará o protocolo HMAC para envio de mensagens JSON. Objetivo: permitir a comunicação entre um Cliente e o Servidor com segurança.

Nonce

O número nonce deve ser composto pelo timestamp (Unix Timestamparrow-up-right sem microssegundos) concatenado com uma parte pseudoaleatória de 4 (quatro) números.

O Servidor sempre irá verificar se o nonce enviado pelo Cliente na requisição está dentro de uma margem de tolerância em relação ao relógio do Servidor. Se o timestamp do nonce estiver fora dessa margem o Servidor irá recusá-lo e enviar uma mensagem de erro XXXXXXXXX.

HMAC

O protocolo HMAC prevê comunicação com autenticação, de forma simplificada, o objetivo é permitir a comunicação entre dois sistemas remotos com segurança sem o trafego da senha nas requisições.

O Servidor define o algoritmo de hasharrow-up-right H() a ser utilizado para cálculo do HMAC. O algoritmo SHA256.

Cliente e Servidor devem utilizar a mesma chave keypara cálculo do HMAC. Essa chave deve ter tamanho e entropia suficiente para desestimular ataques de força bruta e de dicionário.

circle-info

A key utilizada é obtida através da aplicação web do S.DEAL.

O hmac de cada mensagem é calculado da seguinte forma:

hmac=H(H(hkey)H(hkeym))hmac = H(H(hkey)||H(hkey||m))

H() : algoritmo de hash hkey : chave utilizada para o cálculo || : concatenação de strings m : concatenação de todos os dados a serem enviados

A chave hkey é calculada da seguinte forma:

hkey=noncekeyhkey = nonce||key

nonce : Nonce enviado pelo Cliente key : Senha de API

Obtendo a key

A key é obtida da seguinte forma:

Acesse o sistema de homologaçãoarrow-up-right/produçãoarrow-up-right com o usuário e senha fornecidos pela SOLUTI. Após o acesso, clique na opção Gerador de senha, como demonstra a imagem a seguir:

Acessando o Gerador de senha

Em seguida será aberta a tela para gerar uma nova senha. Clique na imagem Gerador de Senha como é demostrado a seguir:

Gerador de senha

Em seguida, clique em SIM para gerar uma nova senha de integração - API.

Gerando uma senha senha de integração

Nova senha gerada com sucesso:

key

circle-info

Após a geração da senha a mesma não é apresentada novamente para o usuário. Após a geração ela deve ser armazenada pela aplicação Cliente.

Mensagens em JSON

Por questões de compatibilidade, a mensagem JSON deve obedecer aos seguintes critérios:

  • Não deve conter espaços desnecessários (por exemplo, espaços e quebras de linha entre os elementos do JSON).

  • Os nomes/descritores dos elementos devem estar entre aspas duplas.

  • Os valores dos elementos também devem estar entre aspas duplas.

  • Apenas valores numéricos (inteiros ou de ponto flutuante) podem estar sem as aspas duplas.

SERVIÇOS DISPONÍVEISchevron-right

Last updated