John, Cool. Is the CONTAINING construct merely a semantic constraint or does does it effect the encoding? IOW, assuming I am going to encode X, regardless, do both of the constructs in your email produce the same encoding? Also, you say, "now." When was this construct added?
Paul Long ipDialog, Inc. > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of John > Larmouth > Sent: Tuesday, June 25, 2002 3:58 AM > To: [EMAIL PROTECTED] > Subject: Re: [ASN.1] TYPE-IDENTIFIER.&Type > > > Yes, but you realise that instead of: > > y OCTET STRING -- contains X > > you can now write > > y OCTET STRING (CONTAINING X) > > as formal syntax. > > John L > > Paul Long wrote: > > > > Rajul, > > > > Okay, thanks. So I think you're answer to my first question is, yes. :-) > > > > Also, given X: > > > > X ::= SEQUENCE { > > a INTEGER, -- stuff... > > b BOOLEAN > > } > > > > I believe that Z1: > > > > Z1 ::= SEQUENCE { > > y TYPE-IDENTIFIER.&Type (X) > > } > > > > encodes in PER exactly like Z2: > > > > Z2 ::= SEQUENCE { > > y OCTET STRING -- contains X > > } > > > > True? > > > > Paul Long > > ipDialog, Inc. > > > > > -----Original Message----- > > > From: Rajul Gupta [mailto:[EMAIL PROTECTED]] > > > Sent: Monday, June 24, 2002 4:13 PM > > > To: [EMAIL PROTECTED] > > > Cc: [EMAIL PROTECTED] > > > Subject: Re: [ASN.1] TYPE-IDENTIFIER.&Type > > > > > > > > > Hi Paul, > > > > > > (X) is a type constraints here, and it says that "y" MUST be > of type "X" > > > only. Syntactically, this is equivalent to > > > > > > Z ::= SEQUENCE { > > > y X > > > } > > > > > > However, this kind of syntax (your syntax) is useful in case > of PER. PER > > > always doesn't have length encoded, but while encoding open > > > types, PER puts > > > a length wrapper also. So if you are using PER, then at the > decoding side > > > you can easily find out the length of encoded open type value, without > > > knowing it's type. > > > > > > Usually this type of construct is useful for security fields. > Using length > > > wrapper you can easily find out the length of security data > and leave this > > > data unwrapped and unprocessed in your application, and pass > it to other > > > application or function, where this security data is used. > > > > > > I hope this answer could be helpful for you. > > > > > > Rajul > > > > > > > I've put it off too long. Now it's time for me learn this > ".&" stuff. Is > > > y, > > > > below, encoded in PER as an open type that contains an > encoding of X? Is > > > > that all there is to it? > > > > Also, what syntactical role does the "(X)" play? Is > > > > this a constraint and otherwise y could be encoded as an open > > > type of any > > > > type? > > > > X ::= SEQUENCE { > > > > a INTEGER, -- stuff... > > > > b BOOLEAN > > > > } > > > > > > > > Z ::= SEQUENCE { > > > > y TYPE-IDENTIFIER.&Type (X) > > > > } > > > > > > > > Paul Long > > > > ipDialog, Inc. > > > > > > > > > > > > > > > > > > > > -- > Prof John Larmouth > Larmouth T&PDS Ltd > (Training and Protocol Development Services) > 1 Blueberry Road > Bowdon [EMAIL PROTECTED] > Cheshire WA14 3LS Tel: +44 161 928 1605 > England Fax: +44 161 928 8069