​Hello, I am working to better understand the OpenPGP standard and how it is 
handled by the current implementation of GnuPG.

To this end I have created a Python program that reads ASCII-Armor and returns 
details about the encoded data within. This is purely for my own edification 
and understanding of how OpenPGP works and also learn Python in the process.  
I'm at the point where I can parse ascii armor to display almost all of the 
information I could otherwise get using "$ gpg --list-packets", including 
calculate the actual key fingerprint (which took a lot of re-reading the 
section of RFC-4880 that explains all the data that must be hashed to produce 
the fingerprint).

Does anyone know what are the additions or changes there are, in terms of 
packet tags, signature types, subpacket types, and algorithm identifiers used 
in the current version of GnuPG but that are not defined in RFC4880?

I've figured out a few on my own: additional public-key algorithm identifiers 
like 18 and 19 (ECDH and ECDSA, respectively, as defined in RFC-6637). And it 
seems that 22 is the identifier for Curve 25517 and/or EdDSA.

One I haven't been able to figure out is signature subpacket type 33. The 
signature files for the downloads on gnupg.org contain this subpacket type, but 
it isn't defined in RFC-4880. Strangely, even my installation of GnuPG does not 
display anything but "(?)" for the meaning of this subpacket's content:

$ gpg2 --list-packets gnupg-2.2.4.tar.bz2.sig
# off=0 ctb=89 tag=2 hlen=3 plen=307
:signature packet: algo 1, keyid 249B39D24F25E3B6
        version 4, created 1513760871, md5len 0, sigclass 0x00
        digest algo 8, begin of digest 75 a5
        hashed subpkt 33 len 21 (?)
        hashed subpkt 2 len 4 (sig created 2017-12-20)
        subpkt 16 len 8 (issuer key ID 249B39D24F25E3B6)
        data: [2046 bits]
# off=310 ctb=89 tag=2 hlen=3 plen=307
:signature packet: algo 1, keyid 2071B08A33BD3F06
        version 4, created 1513762863, md5len 0, sigclass 0x00
        digest algo 8, begin of digest 95 36
        hashed subpkt 33 len 21 (?)
        hashed subpkt 2 len 4 (sig created 2017-12-20)
        subpkt 16 len 8 (issuer key ID 2071B08A33BD3F06)
        data: [2046 bits]

_______________________________________________
Gnupg-users mailing list
Gnupg-users@gnupg.org
http://lists.gnupg.org/mailman/listinfo/gnupg-users

Reply via email to