Sim, o uso do programa pinentry
é obrigatório no GnuPG 2 e posterior .
Isso segue de a arquitetura atualizada em uso atualmente:
- Os clientes do GnuPG não lidam mais com material de chave privada, ou com senhas etc. (na medida do possível - até onde eu sei, a única vez que uma senha passa pelo cliente é quando você a altera);
- para suportar isso, um processo separado, o agente, armazena chaves privadas; ele é executado como um daemon de nível de usuário, iniciado automaticamente quando um cliente precisa dele;
- o agente, sendo um daemon, não tem um terminal "proprietário" nem sabe como obter informações do usuário;
- a obtenção de informações do usuário é delegada a um programa compatível com
pinentry
da escolha do usuário.
O uso de um programa pinentry
garante que sua chave privada permaneça confinada ao agente (se é que ela sabe disso, é claro), sem que você tenha que fornecer a chave privada e a senha explicitamente ao agente (como acontece por exemplo com ssh-add
). Ele também garante que os pedidos de sua frase-senha sejam consistentes, independentemente da origem da solicitação (a quantidade de segurança fornecida por é normalmente discutível).