From 4aa02bf3c4b0550f07f009612279ab3ea2acbba6 Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Sat, 21 Dec 2013 11:54:32 -0800 Subject: [PATCH] Add symmetric encryption information to stringified secret key You can compare this output with 'gpg --list-packets' for sanity. --- gpg-migrate.py | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/gpg-migrate.py b/gpg-migrate.py index c683a5b..b5050da 100755 --- a/gpg-migrate.py +++ b/gpg-migrate.py @@ -298,14 +298,31 @@ class PGPPacket (dict): def _str_public_subkey_packet(self): return self._str_generic_key_packet() + def _str_generic_key_packet(self): + return self['fingerprint'][-8:].upper() + def _str_secret_key_packet(self): - return self._str_generic_key_packet() + return self._str_generic_secret_key_packet() def _str_secret_subkey_packet(self): - return self._str_generic_key_packet() - - def _str_generic_key_packet(self): - return self['fingerprint'][-8:].upper() + return self._str_generic_secret_key_packet() + + def _str_generic_secret_key_packet(self): + lines = [self._str_generic_key_packet()] + for label, key in [ + ('symmetric encryption', + 'symmetric-encryption-algorithm'), + ('s2k hash', 'string-to-key-hash-algorithm'), + ('s2k count', 'string-to-key-count'), + ('s2k salt', 'string-to-key-salt'), + ('IV', 'initial-vector'), + ]: + if key in self: + value = self[key] + if isinstance(value, bytes): + value = ' '.join('{:02x}'.format(byte) for byte in value) + lines.append(' {}: {}'.format(label, value)) + return '\n'.join(lines) def _str_signature_packet(self): lines = [self['signature-type']] -- 2.26.2