Pular para o conteúdo
ecdsa.com

SSHSIG (assinaturas SSH)

O formato do OpenSSH para assinar dados arbitrários com chaves SSH (ssh-keygen -Y sign), que vincula um namespace a cada assinatura e é a base dos commits do Git assinados com SSH e da verificação por lista de signatários permitidos (allowed signers).
Também escrito comoSSHSIGssh-keygen -Y signSSH signaturePROTOCOL.sshsig

Os dados assinados são o valor mágico de 6 bytes SSHSIG, a string do namespace (por exemplo, git ou file), um campo reservado, o algoritmo de hash (sha256 ou sha512) e o digest da mensagem; o namespace impede que uma assinatura feita para uma finalidade seja reaproveitada em outra. A saída vem em armadura ASCII entre -----BEGIN SSH SIGNATURE----- e -----END SSH SIGNATURE----- e contém a chave pública, por isso os verificadores precisam conferi-la com uma lista confiável em vez de aceitar a chave embutida.

O comando ssh-keygen -Y verify -f allowed_signers -I identity -n namespace -s file.sig verifica uma assinatura; -Y find-principals associa uma assinatura a identidades. Chaves Ed25519, ECDSA, RSA (com rsa-sha2-*) e FIDO sk- funcionam, então uma chave de segurança pode assinar commits com um toque. O verificador de assinaturas SSH executa as mesmas verificações localmente.

Padrões e referências

Todos os termos