I've only recently started reading RFC's when I want to know something about a certain protocol, and I can't seem to find where I can find the RFC that defines the basic datatypes/keywords used in RFC's. I want the definition, because I want to make sure something is implemented 100% according to standard down to the bytes as separators (e.g. newline or space), etc.
An example, I want to know how following definition is implemented (from RFC 5280):
Validity ::= SEQUENCE {
notBefore Time,
notAfter Time }
Time ::= CHOICE {
utcTime UTCTime,
generalTime GeneralizedTime }
Is sequence used purely to group "notBefore" and "notAfter" and separate them with a comma?
After some further digging I discovered this is the Abstract syntax notation ASN.1 notation and is described in RFC 3641 and RFC 4792.