[WIP] experiment: partial port to rpgp with new v6 API
The main stumbling block here seems to be that dc-core serializes OpenPGP fingerprints, and we'll need to figure out how to do that for new key versions, going forward.
"New" fingerprints are particularly annoying because both "v5" (GnuPG) and "v6" (IETF) fingerprints consist of 32 bytes (both use SHA256). In the current rPGP draft API, we model fingerprints as pairs of "key version + binary data". However, from raw "binary data", we can't distinguish v5 and v6 fingerprints.
One approach to this might be to define a dc-specific serialization for fingerprints. E.g.:
- "0123..." (20 bytes) could be a v4 fingerprint, while
- something like "v6:123456..." and "v5:123456..." (32 bytes) could be serialized v6 and v5 fingerprints, respectively
This is replaced with merged #6026 and experimental #6226.
And regarding fingerprints, we just serialize them as usual. It should be impossible to create v5 and v6 keys with identical fingerprint, so they don't really need separate namespaces.
Great! :partying_face:
(Regarding versioned fingerprints: In some contexts, it might be useful to know the key version in the future. E.g. possibly for keyserver lookups. But it seems like a reasonable bet, for now, that Delta won't have any such need.)