Esta ferramenta realiza assinaturas digitais assimétricas — a criptografia por trás de assinatura de código, proveniência de software (Sigstore/SLSA), assinatura de documentos e APIs autenticadas.
Dois modos:
- Assinar: cole uma mensagem e uma chave privada PEM, obtenha uma assinatura base64.
- Verificar: cole uma mensagem, uma chave pública PEM e uma assinatura base64, obtenha VÁLIDO/INVÁLIDO.
Três algoritmos (devem corresponder ao tipo de chave colada):
- RSA-PSS (SHA-256) — o esquema moderno de assinatura RSA (probabilístico, com salt). Preferido ao antigo PKCS#1 v1.5. Requer chave RSA.
- ECDSA (P-256, SHA-256) — assinaturas de curva elíptica; chaves mais curtas que RSA para segurança equivalente. Usa a codificação IEEE P1363 (
r‖s) para saída determinística de largura fixa. Requer chave EC P-256 (prime256v1).
- Ed25519 — EdDSA rápido e determinístico sobre Curve25519; um comprimento de assinatura (64 bytes), sem seleção de parâmetros. Requer chave Ed25519.
Como usar. Primeiro gere um par de chaves com o RSA Key Generator ou SSH Key Generator (esta ferramenta não gera chaves). Depois:
- Assine uma mensagem com a chave privada → copie a assinatura base64.
- Entregue ao destinatário a mensagem + assinatura + sua chave pública.
- Ele cola os três aqui, escolhe o algoritmo correspondente e verifica.
Correspondência chave/algoritmo. O algoritmo deve corresponder ao tipo de chave: chave RSA apenas com RSA-PSS, EC P-256 com ECDSA, Ed25519 com Ed25519. Incompatibilidade gera erro de verificação.
Segurança. Toda a assinatura acontece localmente no seu navegador via módulo crypto do Node — a chave privada nunca sai do seu dispositivo. Assinaturas são não-repudiáveis: apenas o titular da chave privada poderia ter produzido uma assinatura que a chave pública verifica.