ProtonMail/go-crypto

CRUD helper functions for subpacket types 23 and 24

andrewgdotcom opened this issue · 0 comments

From the comment thread on the (similar) PR #200 :

Subpacket types 23, 24 and 31 are also conspicuously missing. It would be nice to also have these, particularly for future keyserver work but also because it should be safe in general to parse e.g. a sig with a critical "keyserver preferences" subpacket (if someone was crazy enough to do that). I'd be happy to help out with that.
A library should be able to CRUD such "user intent" subpackets. Beyond that I think it's entirely an application issue.

For reference, these subpacket types are:

  • 23 - Key Server Preferences (N octets of flags)
  • 24 - Preferred Key Server (String, to be interpreted as a URI)
  • 31 - Signature Target (1 octet public-key algorithm, 1 octet hash algorithm, N octets hash)

No processing of these values is required at the library level, however the application layer should have the ability to CRUD these subpackets, and the library layer should pass them through gracefully.

Note that it is an open question whether type 31 is useful (see https://gitlab.com/dkg/openpgp-revocation/-/issues/13), so I suggest only implementing types 23 and 24 at this time.