diff options
author | Thomas Wolf <thomas.wolf@paranor.ch> | 2019-08-15 11:46:46 +0200 |
---|---|---|
committer | Thomas Wolf <thomas.wolf@paranor.ch> | 2019-08-15 12:45:29 +0200 |
commit | 39e83a6583d6366b65f2356cc80c7cfadb7e051b (patch) | |
tree | 797da51e459f00c58e29861668bbe73ce260c489 /org.eclipse.jgit.http.test/tst/org/eclipse/jgit | |
parent | db0eb9f8aef0beed0a8017d455bf016f2aae7647 (diff) | |
download | jgit-39e83a6583d6366b65f2356cc80c7cfadb7e051b.tar.gz jgit-39e83a6583d6366b65f2356cc80c7cfadb7e051b.zip |
GPG: also consider pubring.gpg when looking for keys
The algorithm for finding keys was already improved in commit db0eb9f8,
but that wasn't quite correct yet.
If there is no pubring.kbx but a private-keys-v1.d directory and a
pubring.gpg, GPG also uses pubring.gpg in combination with the
private-keys-v1.d directory. GPG has three ways to locate public and
private key pairs:
* pubring.kbx and private-keys-v1.d (GPG >= 2.1)
* pubring.gpg and private-keys-v1.d (GPG >= 2.1)
* pubring.gpg and secring.gpg (GPG < 2.1)
See [1] and [2]. pubring.kbx may not exist if the user migrated from
an older GPG installation and didn't run the agent. Since we don't
know which GPG version the user has we must try secring.gpg also if
we found the public key in pubring.gpg, but didn't find the secret
key in the private key directory. Note that GPG < 2.1 also may have
a private key directory, used by the agent. But it may also _not_ have
that directory.
[1] https://lists.gnupg.org/pipermail/gnupg-users/2015-December/054881.html
[2] https://www.gnupg.org/faq/whats-new-in-2.1.html#nosecring
Bug: 549439
Change-Id: I6088014b16c585b6a3408bb31dba3c116e6b583d
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
Diffstat (limited to 'org.eclipse.jgit.http.test/tst/org/eclipse/jgit')
0 files changed, 0 insertions, 0 deletions