Skip to content

Commit acfa898

Browse files
committed
Fix #261: Ensure fingerprint and keygrip are added to subkey_info.
1 parent 8148db4 commit acfa898

File tree

3 files changed

+24
-2
lines changed

3 files changed

+24
-2
lines changed

README.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ Change log
7777

7878
Released: Not yet
7979

80+
* Fix #261: Ensure fingerprint and keygrip are added to subkey_info.
8081

8182
0.5.5
8283
-----

gnupg.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1865,7 +1865,18 @@ def list_keys(self, secret=False, keys=None, sigs=False):
18651865
keys = [keys]
18661866
args.extend(keys)
18671867
p = self._open_subprocess(args)
1868-
return self._get_list_output(p, 'list')
1868+
result = self._get_list_output(p, 'list')
1869+
# Fix up subkey_info with fingerprint and grip values
1870+
for key in result:
1871+
# import pdb; pdb.set_trace()
1872+
subkeys = key['subkeys']
1873+
subkey_info = key.get('subkey_info')
1874+
if subkey_info:
1875+
for sk in subkeys:
1876+
skid, capability, fp, grp = sk
1877+
subkey_info[skid]['fingerprint'] = fp
1878+
subkey_info[skid]['keygrip'] = grp
1879+
return result
18691880

18701881
def scan_keys(self, filename):
18711882
"""

test_gnupg.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,6 +431,16 @@ def test_add_subkey(self):
431431
usage='sign',
432432
expire=0)
433433
self.assertEqual(0, result.returncode, 'Non-zero return code')
434+
pubkeys = self.gpg.list_keys()
435+
for key in pubkeys:
436+
sklist = key['subkeys']
437+
skmap = key['subkey_info']
438+
self.assertEqual(len(sklist), 1)
439+
self.assertTrue(len(skmap), 1)
440+
for sk in sklist:
441+
skid, capability, fp, grp = sk
442+
self.assertEqual(skmap[skid]['fingerprint'], fp)
443+
self.assertEqual(skmap[skid]['keygrip'], grp)
434444

435445
def test_add_subkey_with_invalid_key_type(self):
436446
"Test that subkey generation handles invalid key type"
@@ -1627,7 +1637,7 @@ def test_exception_propagation(self):
16271637
'basic':
16281638
set(['test_environment', 'test_list_keys_initial', 'test_nogpg', 'test_make_args', 'test_quote_with_shell']),
16291639
'test':
1630-
set(['test_filenames_with_spaces']),
1640+
set(['test_add_subkey']),
16311641
}
16321642

16331643

0 commit comments

Comments
 (0)