these are three possible solutions, please let us know if/any one works in your case. *Please note: I didn't have the chance to try any of these (I have no empty-password gpg keyring), but researched and searched through the man pages/webpages!* Using passphrase-fd --------------- `--passphrase-fd` in conjunction with `--batch` allows you to enter an empty string through the pipe: echo '' | gpg2 --batch --passphrase-fd 0 your other options Using Kleopatra --------------- Try using [Kleopatra][1], a graphical certificate manager. - Select the relevant keypair - Right-click `Change passphrase` - in the popup window leave the field blank (i.e. using an empty password as the current one) - in the subsequent popup enter the new password and confirm it. Using pinentry --------------- Also, you could try [this solution][2] which leverages the `pinentry` utility. [1]: https://www.openpgp.org/software/kleopatra/ [2]: https://unix.stackexchange.com/a/379373/160306