É possível usar uma chave pública gpg para criptografar uma mensagem sem importar a chave?

5

Às vezes, talvez queira usar a chave gpg de alguém para enviar uma mensagem, mas não precisarei usar a chave novamente.

Importar a chave nesta instância parece desnecessário.

Eu pesquisei, mas não consigo encontrar nada que sugira que isso seja possível. É um pouco chato ter que fazer --delete-keys de cada vez.

    
por Patrick Keery 02.06.2015 / 22:12

2 respostas

3

Você pode criar um pequeno script de shell que copie o arquivo pubring.gpg, importe a chave, criptografe o arquivo e mova o arquivo pubring.gpg original de volta ao lugar. Isso o transforma em um marcador na próxima vez.

#!/bin/sh
cp -a ~/.gnupg/pubring.gpg ~/.gnupg/pubring.gpg-backup
gpg ... # Command to import 
gpg ... # Command to encrypt message/file
mv ~/.gnupg/pubring.gpg-backup ~/.gnupg/pubring.gpg

Nota: os parâmetros para o script são variáveis "$ 1", "$ 2", ...

    
por 02.06.2015 / 23:19
6

O GnuPG requer que todas as chaves que você deseja usar sejam importadas para um chaveiro.

Se você não quiser importá-lo para seu chaveiro normal, use outro chaveiro (temporário) ou até mesmo um diretório inicial temporário do GnuPG (que também irá ignorar qualquer configuração).

Chaveiro Temporário

Defina --primary-keyring temporary.gpg para usar (e criar, se necessário) um chaveiro temporário como padrão. Ele será criado em seu diretório inicial do GnuPG ( ~/.gnupg/temporary.gpg por padrão). Seu chaveiro normal ainda estará disponível, mas as importações irão para o temporário. Exclua como você deseja.

Por exemplo:

gpg --primary-keyring temporary.gpg --import key.asc
gpg --primary-keyring temporary.gpg --recipient 0xDEADBEEF --encrypt
rm ~/.gnupg/temporary.gpg # can be omitted, not loaded by default

Diretório Inicial Temporário do GnuPG

Isso também redefinirá todas as configurações e poderá ser útil para testar algumas coisas. Defina --homedir [folder] ou a variável de ambiente $GNUPGHOME , importe a chave, execute quaisquer operações e, em seguida, exclua a pasta como desejar.

Por exemplo:

export GNUPGHOME=/tmp/gnupg # Or apply --homedir on each invocation
gpg --import key.asc
gpg --recipient 0xDEADBEEF --encrypt
rm -r $GNUPGHOME # Can be omitted
unset $GNUPGHOME

O GnuPG é muito exigente em relação às permissões, você pode precisar aplicar permissões mais restritas à pasta $GNUPGHOME antes de poder executar todas as operações. Pode muito bem ser uma opção para manter um parquinho- $GNUPGHOME por aí.

    
por 03.06.2015 / 00:12