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
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
dizIf 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.
gpg: conflicting commands
quando tento criptografar e assinar.--default-*
faz pouco sentido na linha de comando. Essas opções são para o arquivo de configuração.--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.