Acabei de compilar o GnuPG (versão 2.2.9) e todas as suas dependências para um Mac OS High Sierra. Foi bem interessante. Depois de resolver um pequeno problema com os testes do libgcrypt (com uma pequena ajuda da respectiva receita do Homebrew), tudo funcionou basicamente fora da caixa.
Ao tentar importar minha chave privada, não consegui, porque faltava um programa de pinagem para o sistema. Uma busca rápida me fez pousar nesta página, mas não foi muito útil, então eu simplesmente decidi compilar o pinentry eu mesmo.
Eu já sabia, da minha experiência usando o GnuPG em máquinas Linux, que eu gostaria de digitar minha senha em um prompt normal na linha de comando, sem aquelas caixas de diálogo irritantes e perturbadoras. E é por isso que estou compartilhando o processo aqui. É simples, mas pode ajudar alguém com um problema semelhante.
Comece obtendo o código fonte do pinentry do GnuPG. Verifique o site . No momento desta publicação, o link para fazer o download da fonte era link . Baixe também a assinatura e verifique a autenticidade usando o próprio gpg.
NÃO PASSE A VERIFICAÇÃO , isto é importante ! Este programa terá acesso a todas as suas senhas gpg e chaves privadas. É melhor você se certificar de que é o que diz ser! Se você tiver problemas, certifique-se de ter importado as chaves dos mantenedores do GnuPG (veja aqui ):
$ gpg --verify pinentry-1.1.0.tar.bz2.sig pinentry-1.1.0.tar.bz2
Agora que você tem certeza de que está trabalhando com arquivos de origem autênticos, extraia o código-fonte e cd
nesse diretório:
$ tar xvf pinentry-1.1.0.tar.bz2
$ cd pinentry-1.1.0
A compilação é muito direta:
$ ./configure --enable-pinentry-tty
$ make
$ sudo make install
Pode ser que configure
reclame de alguma dependência ausente. Nesse caso, basta ler o erro e baixar a dependência da página do GnuPG (sempre verificando a integridade do download!).
O bit importante dos comandos acima é o sinalizador --enable-pinentry-tty
. Pinentry TTY é a maneira mais simples de digitar sua senha em um prompt muito normal e chato na linha de comando. Exatamente o que eu queria! Se não me engano, a versão curses
será criada de qualquer maneira. Embora seja uma opção do CLI, acho que é tão perturbador quanto todos os outros.
Assim que estiver instalado, você verá alguns novos binários em /usr/local/bin
. Certifique-se de ter um chamado pinentry-tty
(se não tiver, algo deu errado ...).
Para tornar esse novo binário sua maneira padrão de digitar a senha gpg, inclua a seguinte linha em ~/.gnupg/gpg-agent.conf
(crie o arquivo e o diretório, se ainda não existirem):
pinentry-program /usr/local/bin/pinentry-tty
Provavelmente não funcionará se você tentar imediatamente, porque provavelmente você ainda tem um agente gpg em execução com a configuração antiga. Vá em frente e mate todos os agentes-gpg e crie um novo:
$ sudo killall gpg-agent
$ gpg-agent --daemon
É isso! Aprecie a sua antiga pinagem TTY:)