Que chaves o GnuPG está usando para verificação de assinatura?

3

Vamos supor que tenho uma lista de três pares de chaves na minha tela bash quando executo os seguintes comandos:

gpg2 --list-keys

e

gpg2 --list-secret-keys

A minha pergunta é, quando executo o seguinte comando para verificar um arquivo assinado, qual par de chaves é usado por essa ferramenta?

gpg2 --verify test.sig

Verifica todas as chaves de assinatura, uma a uma, para encontrar uma correspondência ou terminar todas as chaves?

    
por Abraham 25.01.2016 / 18:53

1 resposta

2

Uma assinatura do OpenPGP inclui uma referência à chave usada para assinatura. O GnuPG usará essa chave exata para verificar a assinatura.

Um exemplo para algum documento assinado pela minha própria chave, analisado usando gpg --list-packets :

:compressed packet: algo=1
:onepass_sig packet: keyid 8E78E44DFB1B55E9
    version 3, sigclass 0x00, digest 2, pubkey 1, last=1
:literal data packet:
    mode b (62), created 1453746673, name="",
    raw data: 4 bytes
:signature packet: algo 1, keyid 8E78E44DFB1B55E9
    version 4, created 1453746673, md5len 0, sigclass 0x00
    digest algo 2, begin of digest fc 6a
    hashed subpkt 2 len 4 (sig created 2016-01-25)
    subpkt 16 len 8 (issuer key ID 8E78E44DFB1B55E9)
    data: [4095 bits]

8E78E44DFB1B55E9 é uma subchave de assinatura usada para a assinatura ( habilitei IDs de chave longa , caso você Pergunto-me sobre os 16 caracteres hexadecimais IDs).

Para criptografia, é possível ocultar a chave do destinatário. Neste caso, o GnuPG tem que tentar todas as chaves de criptografia disponíveis para descriptografar a mensagem.

Outras chaves podem estar envolvidas para validar a assinatura, o que significa encontrar caminhos de confiança na rede de confiança: mas esse é outro tópico grande.

    
por Jens Erat 25.01.2016 / 19:35