Open teythoon opened 6 years ago
pgpdump does not provide the function to decrypt encrypted packets yet.
I don't want it to decrypt the key, but note how the parsing fails. E.g. pgpdump thinks the second packet is an old-style packet (it is a new-style one) of length 1417113376.
For reference, here is the packet as parsed by gpg:
% gpg --list-packets ../weird-keys/two.pgp
# off=0 ctb=c5 tag=5 hlen=2 plen=88 new-ctb
:secret key packet:
version 4, algo 22, created 1528450589, expires 0
pkey[0]: [80 bits] ed25519 (1.3.6.1.4.1.11591.15.1)
pkey[1]: [263 bits]
skey[2]: [255 bits]
checksum: 1055
keyid: 910E554478CCDE00
# off=90 ctb=cd tag=13 hlen=2 plen=26 new-ctb
:user ID packet: "Two Fish <two@example.org>"
# off=118 ctb=c2 tag=2 hlen=2 plen=126 new-ctb
:signature packet: algo 22, keyid 910E554478CCDE00
version 4, created 1528450589, md5len 0, sigclass 0x13
digest algo 10, begin of digest bd fc
critical hashed subpkt 27 len 1 (key flags: 03)
critical hashed subpkt 2 len 4 (sig created 2018-06-08)
critical hashed subpkt 9 len 4 (key expires after 364d0h0m)
critical hashed subpkt 33 len 21 (issuer fpr v4 2B7757D8AF283468A0574699910E554478CCDE00)
critical hashed subpkt 16 len 8 (issuer key ID 910E554478CCDE00)
data: [253 bits]
data: [251 bits]
# off=246 ctb=c7 tag=7 hlen=2 plen=93 new-ctb
:secret sub key packet:
version 4, algo 18, created 1528450589, expires 0
pkey[0]: [88 bits] cv25519 (1.3.6.1.4.1.3029.1.5.1)
pkey[1]: [263 bits]
pkey[2]: [32 bits]
skey[3]: [255 bits]
checksum: 10d1
keyid: E3204A06DD5C53CD
# off=341 ctb=c2 tag=2 hlen=2 plen=126 new-ctb
:signature packet: algo 22, keyid 910E554478CCDE00
version 4, created 1528450589, md5len 0, sigclass 0x18
digest algo 10, begin of digest 96 52
critical hashed subpkt 27 len 1 (key flags: 0C)
critical hashed subpkt 2 len 4 (sig created 2018-06-08)
critical hashed subpkt 9 len 4 (key expires after 364d0h0m)
critical hashed subpkt 33 len 21 (issuer fpr v4 2B7757D8AF283468A0574699910E554478CCDE00)
critical hashed subpkt 16 len 8 (issuer key ID 910E554478CCDE00)
data: [256 bits]
data: [255 bits]
# off=469 ctb=c7 tag=7 hlen=2 plen=93 new-ctb
:secret sub key packet:
version 4, algo 18, created 1528450589, expires 0
pkey[0]: [88 bits] cv25519 (1.3.6.1.4.1.3029.1.5.1)
pkey[1]: [263 bits]
pkey[2]: [32 bits]
skey[3]: [255 bits]
checksum: 131b
keyid: 24BE06577511DD62
# off=564 ctb=c2 tag=2 hlen=2 plen=126 new-ctb
:signature packet: algo 22, keyid 910E554478CCDE00
version 4, created 1528450589, md5len 0, sigclass 0x18
digest algo 10, begin of digest 08 f6
critical hashed subpkt 27 len 1 (key flags: 0C)
critical hashed subpkt 2 len 4 (sig created 2018-06-08)
critical hashed subpkt 9 len 4 (key expires after 364d0h0m)
critical hashed subpkt 33 len 21 (issuer fpr v4 2B7757D8AF283468A0574699910E554478CCDE00)
critical hashed subpkt 16 len 8 (issuer key ID 910E554478CCDE00)
data: [253 bits]
data: [255 bits]
I guess this issue is due to algorithm-specific fields for EdDSA keys (cf. draft RFC 4880bis) that are not supported by pgpdump.
FTR, three OpenPGP implementations including GnuPG parsed the key just fine.