The "byte-struct" is defined at https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-16#section-4. Using dig, I am able to obtain the ECHConfig from a remote server (e.g. `dig TYPE65 crypto.cloudflare.com`). However, while trying to parse it (by hand), I am confused about a couple of things:
1. For an opaque type, e.g. `opaque HpkePublicKey<1..2^16-1>;` , how would I know how many bytes is the public key? I am guessing it is some kind of length-prefixed arbitrary data, but I am not sure if the length prefix would always be two bytes for any `opaque` type (or if this assumption is correct at all).
2. How about an array type, e.g. `HpkeSymmetricCipherSuite cipher_suites<4..2^16-4>;` , how could I know the number of elements involved?
Apologies if this is a very simple concept, but searching around I wasn't able to find an answer. I'm pretty new to reading RFCs and trying to implement them.
Regards, Raghu Saxena
Attachment:
OpenPGP_0xA1E21ED06A67D28A.asc
Description: OpenPGP public key
Attachment:
OpenPGP_signature.asc
Description: OpenPGP digital signature