Yes, this is valid ASN.1, but has limited usefulness when passed to an ASN.1 Tool. Feel free to try this in the free online compiler at http://asn1-playground.oss.com.
ASN.1 Type References in Value Assignments
-
29-06-2022 - |
Question
In ASN.1, Value Assignment syntax requires an identifier, a Type Reference, and a Value. Such as:
age INTEGER ::= 45
or
name UTF8String ::= "bob"
Generally, a user-defined type would be a more complex type, such as a SEQUENCE or a type with constraints. Suppose we have a SEQUENCE type like this:
MySequence ::= SEQUENCE {
age INTEGER,
name UTF8String
}
I could then create a Value Assignment like:
seq MySequence ::= { 50, "bob" }
But suppose MySequence
was never defined. Is it legal to define types on the fly when creating a Value Assignment? For example, could I say:
seq SEQUENCE { age INTEGER, name UTF8String } ::= { 50, "bob" }
I realize this syntax is ugly, but I'm simply asking if this ALLOWED by the ASN.1 standard.
Or what about creating a Sub Type on the fly in a Value Assignment? Is it valid ASN.1 syntax to say:
int INTEGER (0..10) ::= 5
Solution
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow