Gerando Par de Chaves
A Banking API usa autenticação EdDSA com chaves Ed25519. Você precisa gerar um par de chaves (pública e privada) antes de criar uma conta de serviço.
A chave privada nunca deve ser compartilhada. Guarde-a em local seguro. Você precisará dela para assinar todas as requisições à API.
Método 1: Ferramenta Online (Mais Fácil)
Use nossa ferramenta online para gerar chaves diretamente no navegador:
Gerar Chaves Online
Gere um par de chaves Ed25519 instantaneamente no navegador
A ferramenta gera a chave privada localmente no seu navegador - ela nunca é enviada para nossos servidores.
Método 2: Terminal (Recomendado)
Use o comando ssh-keygen para gerar as chaves:
ssh-keygen -t ed25519 -f service-account-key -N ""
Isso cria dois arquivos:
service-account-key - Chave privada (guarde em segurança)
service-account-key.pub - Chave pública (usada no cadastro)
Para ver a chave pública:
cat service-account-key.pub
Saída esperada:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... seu-usuario@seu-computador
Método 3: OpenSSL
# Gerar chave privada
openssl genpkey -algorithm Ed25519 -out private.pem
# Extrair chave pública
openssl pkey -in private.pem -pubout -out public.pem
Para usar com a API, você precisará converter a chave pública para o formato OpenSSH (ssh-ed25519 ...).
Método 4: Programaticamente
Node.js
import { generateKeyPairSync } from 'crypto';
import { writeFileSync } from 'fs';
const { publicKey, privateKey } = generateKeyPairSync('ed25519', {
publicKeyEncoding: { type: 'spki', format: 'pem' },
privateKeyEncoding: { type: 'pkcs8', format: 'pem' }
});
writeFileSync('private.pem', privateKey);
writeFileSync('public.pem', publicKey);
Python
from cryptography.hazmat.primitives.asymmetric.ed25519 import Ed25519PrivateKey
from cryptography.hazmat.primitives import serialization
private_key = Ed25519PrivateKey.generate()
public_key = private_key.public_key()
# Salvar chave privada
with open("private.pem", "wb") as f:
f.write(private_key.private_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PrivateFormat.PKCS8,
encryption_algorithm=serialization.NoEncryption()
))
# Salvar chave pública
with open("public.pem", "wb") as f:
f.write(public_key.public_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PublicFormat.SubjectPublicKeyInfo
))
A API aceita chaves públicas no formato OpenSSH:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... comentario-opcional
| Parte | Descrição |
|---|
ssh-ed25519 | Tipo do algoritmo |
AAAAC3... | Chave codificada em base64 |
comentario | Opcional, para identificação |
Próximo Passo
Após gerar as chaves, crie uma conta de serviço no dashboard:
Criar Conta de Serviço
Configure permissões e IPs permitidos no dashboard Conta Digital