Descriptografando o arquivo criptografado GPG no qual o destinatário tinha um erro de digitação

1

Eu tenho uma chave GPG no meu computador, cujo ID é "[email protected]".

Estou usando o comando --encrypt para criptografar um arquivo de texto fictício, adicionando a mim mesmo como destinatário, mas com um erro de digitação no meu ID:

$ echo "Hello World" > foo
$ gpg --recipient [email protected] --encrypt foo

Agora, se eu tentar descriptografá-lo com gpg -d foo.gpg , a tela de senha usual será apresentada, mostrando Juan Cruz Viotti <[email protected]> . Se eu colocar minha senha corretamente, o arquivo será descriptografado bem.

Isso me confunde, dado que o destinatário que eu especifiquei tinha um erro de digitação. gpg está adicionando meu ID como um destinatário implícito?

    
por jviotti 09.03.2017 / 19:50

1 resposta

0

O GPG correspondeu à primeira parte do destinatário que você digitou:

[email protected]     # was typed in
[email protected]    # ID that was matched

Apenas a última letra estava faltando. Ele deve funcionar apenas com a digitação de j, já que corresponderia à única chave que você tem (semelhante a "tab complete" em um terminal).

Tente seu comando não apenas omitindo a última letra, mas mudando para uma letra errada no e-mail; não deveria corresponder.

O motivo é o modo padrão para especificar que um ID do usuário é uma correspondência de substring, portanto, seu e-mail parcial digitado corresponde ao e-mail completo do ID do usuário. Há uma seção sobre "Como especificar uma ID de usuário" na página de manual do GPG :

   By substring match.
          This is the default mode but  applications  may
          want to explicitly indicate this by putting the
          asterisk in front.  Match is  not  case  sensi‐
          tive.

     Heine
     *Heine

Aqui está uma versão condensada e ligeiramente diferente no GnuPG.org :

How to specify a user ID

There are different ways on how to specify a user ID to GnuPG; here are some examples:

  • :: Used to locate the default home directory.
  • Here the key ID is given in the usual short form.
  • 234AABBCC34567C4, 0F323456784E56EAB, 01AB3FED1347A5612, 0x234AABBCC34567C4 :: Here the key ID is given in the long form as used by OpenPGP.
  • 1234343434343434C434343434343434, 123434343434343C3434343434343734349A3434, 0E12343434343434343434EAB3484343434343434, 0xE12343434343434343434EAB3484343434343434 :: The best way to specify a key ID is by using the fingerprint of the key. This avoids any ambiguities in case that there are duplicated key IDs (which are really rare for the long key IDs).
  • Using an exact to match string. The equal sign indicates this.
  • Using the email address part which must match exactly. The left angle bracket indicates this email address mode.
  • All words must match exactly (not case sensitive) but can appear in any order in the user ID. Words are any sequences of letters, digits, the underscore and all characters with bit 7 set.
  • Using the Local ID. This is a very low level method and should only be used by applications which really need it. The hash character indicates this method. An application should not assume that this is only a number.
  • By case insensitive substring matching. This is the default mode but applications may want to explicitely indicate this by putting the asterisk in front.

E com qualquer comando gpg que honra os sinalizadores verbosos ( -v ), você pode adicionar vários sinalizadores para obter mais "verbosidade" / mais informações, acho que 10 é o máximo, então tente adicionar -vvvvvvvvvv

    
por 13.03.2017 / 13:25