No IXCsoft ACS são utilizadas chaves ECDSA para a assinatura dos JWTs de autenticação. Chaves ECDSA são utilizadas por sua segurança e leveza em relação às chaves RSA tradicionais. Em comparação, uma chave ECDSA de 256 bits é tão segura quanto uma chave RSA de 3084 bits.
Uma chave ECDSA é formada por duas partes: a Chave Privada e a Chave Pública. Cada uma delas tem uma função definida:
Em hipótese alguma exponha sua Chave Privada. Ao expô-la, estará permitindo que um atacante se passe por você e realize ações em seu nome no servidor ACS.
Para a geração de um par de chaves, algum toolkit de criptografia deverá estar instalado na sua máquina. No decorrer deste tutorial, utilizaremos o OpenSSL, uma alternativa Open Source para a geração de chaves criptográficas.
Linux
O OpenSSL é uma ferramenta nativa na maior parte das distribuições Linux. Não há necessidade de instalá-lo. Utilize o OpenSSL através do comando openssl no terminal.
MacOS
Na maior parte dos casos, o OpenSSL estará instalado. Caso o comando openssl não exista, instale-o através do Homebrew da seguinte forma:
Com o Homebrew instalado, em um terminal, digite o seguinte comando:
brew install openssl@1.1
Após a instalação, utilize o OpenSSL através do comando openssl no terminal.
Windows
O pacote OpenSSL é uma das dependências da instalação do git para Windows. Após instalar, utilize o OpenSSL através do comando openssl no terminal git.
Para gerar uma chave privada ECDSA, execute o seguinte comando no OpenSSL:
openssl ecparam -name secp256k1 -genkey -noout -out priv-key.pem
Entendendo o comando
- ecparam: Geração de chave por curva elíptica com parâmetros;
- name secp256k1: Nome do algoritmo de geração de chave;
- genkey: Parâmetro utilizado para gerar uma chave;
- noout: Parâmetro utilizado para que o OpenSSL não adicione uma versão codificada dos parâmetros de geração da chave no arquivo .pem;
- out priv-key.pem: Parâmetro utilizado para definir o nome do arquivo onde a chave será salva.
Voce pode verificar a sua chave recém-criada utilizando o comando cat no arquivo priv-key.pem. A chave deverá se parecer com a chave abaixo:

Agora, devemos gerar a nossa chave pública. Esse processo é chamado derivação, feita a partir da chave privada. Para derivar a chave pública da chave privada utilizando o OpenSSL, execute o seguinte comando:
openssl ec -in priv-key.pem -pubout > pub-key.pem
Entendendo o comando
- ec: Análise de curva elíptica;
- -in priv-key.pem: Parâmetro utilizado para indicar a fonte da chave a ser analisada;
- -pubout: Parâmetro utilizado para indicar que a saída deverá ser uma chave pública;
- pub-key.pem: Direcionamento da saída para o arquivo
pub-key.pem.
Voce pode verificar a sua chave recém-criada utilizando o comando cat no arquivo pub-key.pem. A chave deverá se parecer com a chave abaixo:

Após isso, as suas chaves estarão prontas para serem utilizadas na liberação do acesso do seu usuário API.