From: W. Trevor King Date: Fri, 20 Dec 2013 21:59:57 +0000 (-0800) Subject: Add preferred symmetric algorithm signature subpacket parsing to PGPPacket X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=f4477b63f603f998a9b766ead822b9ed5bd82138;p=gpg-migrate.git Add preferred symmetric algorithm signature subpacket parsing to PGPPacket From RFC 4880 [1]: (array of one-octet values) Symmetric algorithm numbers that indicate which algorithms the key holder prefers to use. The subpacket body is an ordered list of octets with the most preferred listed first. It is assumed that only algorithms listed are supported by the recipient's software. Algorithm numbers are in Section 9. This is only found on a self- signature. [1]: http://tools.ietf.org/search/rfc4880#section-5.2.3.7 --- diff --git a/gpg-migrate.py b/gpg-migrate.py index aeda78c..a1dbb7a 100755 --- a/gpg-migrate.py +++ b/gpg-migrate.py @@ -292,6 +292,11 @@ class PGPPacket (dict): def _str_issuer_signature_subpacket(self, subpacket): return subpacket['issuer'][-8:].upper() + def _str_preferred_symmetric_algorithms_signature_subpacket( + self, subpacket): + return ', '.join( + algo for algo in subpacket['preferred-symmetric-algorithms']) + def _str_key_flags_signature_subpacket(self, subpacket): return ', '.join(x for x in sorted(subpacket['key-flags'])) @@ -551,6 +556,11 @@ class PGPPacket (dict): def _parse_issuer_signature_subpacket(self, data, subpacket): subpacket['issuer'] = ''.join('{:02x}'.format(byte) for byte in data) + def _parse_preferred_symmetric_algorithms_signature_subpacket( + self, data, subpacket): + subpacket['preferred-symmetric-algorithms'] = [ + self._symmetric_key_algorithms[d] for d in data] + def _parse_key_flags_signature_subpacket(self, data, subpacket): subpacket['key-flags'] = set() if data[0] & 0x1: