Add PGPPacket._str_signature_packet
authorW. Trevor King <wking@tremily.us>
Fri, 20 Dec 2013 20:19:38 +0000 (12:19 -0800)
committerW. Trevor King <wking@tremily.us>
Fri, 20 Dec 2013 23:18:13 +0000 (15:18 -0800)
This is not super useful without parsing the subpackets, but you can
usually figure out what's being bound using the context:

  $ ./gpg-migrate.py F15F5BE8 6D024CA2
  key: F15F5BE8
    public:
      public-key packet: F15F5BE8
      user id packet: William Trevor King <wking@tremily.us>
      signature packet: postitive user id and public-key packet
      signature packet: postitive user id and public-key packet
      ...
      user id packet: William Trevor King <tvrkng@gmail.com>
      signature packet: postitive user id and public-key packet
      signature packet: postitive user id and public-key packet
      signature packet: postitive user id and public-key packet
      signature packet: generic user id and public-key packet
      signature packet: postitive user id and public-key packet
      public-subkey packet: 42407C74
      signature packet: subkey binding
  ...

The user id signatures are likely between the previous user id and
F15F5BE8, with positive self-signed signatures and generic signatures
from other folks.  The subkey binding is likely between F15F5BE8 and
42407C74.  Adding subpacket parsing to make this explicit would be
nice, but it's not a priority at the moment.

gpg-migrate.py

index a2519f8b8355d4a3d0dd6041790867bdd0c41e08..8e2e4fb3d384f9944fc9bdb58a130692b6a99c6a 100755 (executable)
@@ -214,6 +214,9 @@ class PGPPacket (dict):
     def _str_generic_key_packet(self):
         return self['fingerprint'][-8:].upper()
 
+    def _str_signature_packet(self):
+        return self['signature-type']
+
     def _str_user_id_packet(self):
         return self['user']