Pular para o conteúdo principal

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
    ))

Formato da Chave Pública

A API aceita chaves públicas no formato OpenSSH:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... comentario-opcional
ParteDescrição
ssh-ed25519Tipo do algoritmo
AAAAC3...Chave codificada em base64
comentarioOpcional, 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