Criptografar e assinar com chave secreta específica


20

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

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 gostaria de assinar?

Se meu ID de chave secreta do sistema de arquivos for DEADBEEFe minha chave de cartão inteligente DEADBEE5, como faço para assinar com essa chave?

Respostas:


11

Você deve especificar --default-key:

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

e depois verifique com

gpg -d < output | head -1

Na gpg manpágina ( --signseção):

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


gpg: conflicting commandsquando tento criptografar e assinar.
Naftuli Kay

@NaftuliTzviKay Desculpe --sign-key é para assinar outras chaves com uma chave específica. Atualizei a resposta (e testei de antemão dessa vez).
Anthon

--default-*faz pouco sentido na linha de comando. Essas opções são para o arquivo de configuração.
Hauke ​​Laging

1
A diferença entre --local-usere --default-keyé que --local-userdará um erro se você especificar uma chave inexistente. Com --default-key, ele ignorará uma chave inexistente e usará a primeira no chaveiro.
wisbucky 3/12

15

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

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

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

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

De acordo com a página do manual, usar --local-useré o mesmo que usar --default-userna minha resposta
Anthon

1
@Anthon Isso leva ao mesmo resultado. Isso não significa que --default-*deve ser recomendado para esse uso. Estou na lista de discussão do GnuPG há anos. Eu nunca vi algo assim antes.
Hauke ​​Laging

Bem, sim, parece que o problema surgiu uma vez nos usuários do gnupg e que você foi quem forneceu a resposta com a leitura da página de manual ;-). Para mim, especificar uma opção com -keyo nome parece muito mais apropriado quando quero usar uma chave específica do que especificar algo com o -userYMMV.
Anthon

4
Acho que @Anthon quis dizer --default-keyem seu comentário acima. Correndo com isso, uma diferença entre --local-usere --default-keyna minha experiência, é que a primeira falha se uma chave correspondente não estiver presente, enquanto a segunda retornará a outras chaves. Por esse motivo, eu ficaria muito cauteloso ao inserir --default-keyscripts.
Jack O'Connor

Testei e confirmei o comentário de @ JackO'Connor com o gpg 2.2.4. O homem para --default-keydizIf 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.
wisbucky
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.