Hi,
Hockeypuck compatibility with SKS is getting very close! I'm just working through key parsing & hashing differences so that recon will converge on the same keys.
For most keys, I am able to reproduce the same hash calculation as SKS in Hockeypuck, but there are a few keys which I'm having trouble with. It might be something in common I'm missing, so I'll choose one in particular to start:
This key has "duplicate" V4 signature packets which contain the same hashed material and signature MPIs, but there are different unhashed subpackets, so the raw packet contents come out different.
I haven't been able to come up with the same result as SKS for this particular key using the method I ported from SKS (with sorted packets by packet type, then by byte content, write the packet type, length and content to the digest). What processing might I be missing on this key?
I'd also like to understand where & how SKS performs self-signature verification. I've tried uploading public keys containing spoofed UIDs with a signature not made by the public key but by some other key and SKS properly rejects it. ParsePGP.good_signature looks like it just parses the material, as far as I can tell.
Thanks,
Casey