Closed rcasta74 closed 2 months ago
It looks like that the password is changed somewhere following url encoding: if I set the passphrase Pass%25w0rd
with pinentry-rofi (where %25
is the character %
as per url encodnig), then I can import the key with other backends using passphrase Pass%w0rd
Yeah, sounds like a bug in how it handles the password. I.e. it is not escaping it properly as %
in guile is use for format strings. I'll look into it this weekend.
I tracked down the issue. As it turns out gpg is the one that did the decoding and was expected the password to be uri encoded. Which I had completely missed. #28 should fix this.
I tested your repro and it worked importing the secret key with pinentry-tty
.
Can you test and make sure it works on your end?
Also heads up that this is a breaking change, see my note in the README for details.
I confirme it works, thanks.
I'm trying to export a key to another host over ssh, but the passphrase containing
%
created withpinentry-rofi
does not work with other backends.Step to reproduce: 1) create 2 temporary folders:
2) configure pinentry-rofi for the 1st folder:
3) create a test key with password
Pass%word1
Now we have a test key into folder gpg1:
4) export the key to file (the password works):
5) try to import the key into gpg2 (where not using pinentry-rofi):
It looks like that there is some changes on the password involving the
%
character: if I try to set the passphrasePass%w0rd
withpinentry-rofi
I get the warningA passphrase should be at least 8 charaters long.
(while it should be 9 characters long); this does not happen with others backends.I'm using lbonn/rofi version, but the issue should not depend on it: if I try
I get the full password printed without changes.