Le fait que GnuPG pose la question en ligne de commande ou dans une invite de l'interface graphique dépend de la question de savoir si gpg-agent
est utilisé, et quel pinentry
est choisie. Malheureusement, il n'existe pas de moyen simple de configurer GnuPG pour qu'il utilise une invite en ligne de commande lorsqu'il est utilisé en ligne de commande, et une invite GUI dans le cas contraire, comme je l'ai déjà expliqué dans la section "GnuPG pinentry en fonction de la présence de l'interface graphique" . En outre, je ne suis pas sûr qu'une implémentation de la pénétration en ligne de commande uniquement soit disponible pour Windows.
Si vous utilisez GnuPG 1, vous pouvez simplement choisir --no-use-agent
pour revenir à la ligne de commande. Si vous utilisez GnuPG 2.0, vous devez fournir l'élément supplémentaire --batch
GnuPG 2.1 requiert l'utilisation du paramètre gpg-agent
et vous devrez vous rabattre sur des solutions de contournement telles que celles proposées dans le lien ci-dessus.
Une autre solution consiste à utiliser gpg-preset-passphrase
avant d'appeler gpg
pour prédéfinir la phrase d'authentification à gpg-agent
mais vous devez configurer gpg-agent
de manière appropriée et il semble gpg-preset-passphrase
n'est pas disponible sous Windows, mais la même chose peut être obtenue en exécutant gpg-connect-agent
. Cela peut être viable pour écrire des scripts, mais ne semble pas raisonnable pour une utilisation quotidienne de la ligne de commande.
Dans l'ensemble, il est préférable de configurer gpg-agent
pour mettre en cache la phrase de passe pendant un certain temps et accepter d'être interrogé par l'interface graphique de temps à autre.