Eu tenho uma chave de cartão inteligente OpenPGP (YubiKey NEO), bem como uma chave secreta local instalada em meu chaveiro GnuPG.

Eu gostaria de criptografar e assinar um arquivo com a chave do meu cartão, não a chave do meu chaveiro. Como posso especificar com qual chave eu gostaria de assinar?

Se o id da minha chave secreta do sistema de arquivos for DEADBEEF e minha chave do smartcard for DEADBEE5, como faço para assinar com essa chave?

Resposta

Você deve especificar --default-key:

gpg -s --default-key DEADBEE5 input > output 

e verifique depois com

gpg -d < output | head -1 

Na página gpg man (--sign seção):

A chave a ser usada para assinatura é escolhida por padrão ou pode ser definida com as opções –local-user e –default-key.

Comentários

  • gpg: conflicting commands quando tento criptografar e assinar.
  • @NaftuliTzviKay Desculpe –sign- chave é para assinar outras chaves com uma chave específica. Eu atualizei a resposta (e testei antes desta vez).
  • --default-* faz pouco sentido na linha de comando. Essas opções são para o arquivo de configuração.
  • A diferença entre --local-user e --default-key é que --local-user dará um erro se você especificar uma chave inexistente. Com --default-key, ele irá ignorar uma chave inexistente e usar a primeira chave no chaveiro.

Resposta

A chave de assinatura é selecionada com -u / --local-user:

gpg --local-user 0xDEADBEE5 --sign file 

Esta opção pode ser fornecida várias vezes para combinar assinaturas de várias chaves:

gpg --local-user 0xDEADBEE5 --local-user 0x12345678 --sign file 

Comentários

  • De acordo com a página de manual, usar --local-user é o mesmo que usar --default-user como na minha resposta
  • @Anthon leva ao mesmo resultado. Isso não ' t significa que --default-* deve ser recomendado para este uso. Eu estou na lista de discussão do GnuPG há anos. Eu nunca tinha visto algo assim antes.
  • Bem, sim, parece que o problema surgiu uma vez em gnupg-users e você foi aquele que forneceu a resposta com seu leitura da página de manual ;-). Para mim, especificar uma opção com -key em seu nome parece muito mais apropriado quando desejo usar uma chave específica do que especificar algo com -user YMMV .
  • Acho que @Anthon se referia a --default-key em seu comentário acima. Seguindo com isso, uma diferença entre --local-user e --default-key na minha experiência, é que a primeira falha se uma chave correspondente não for ' t presente, enquanto o segundo irá cair para outras teclas. Por esse motivo, eu ' d seria muito cauteloso ao colocar --default-key em scripts.
  • Testei e confirmei @ JackO ' Comentário de Connor ' s com gpg 2.2.4. O homem de --default-key diz If there is no secret key available for any of the specified values, GnuPG will not emit an error message but continue as if this option wasn't given.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *