Rob,
I need to digest all this and read up some
more. I’m still suck on the bit 6. Doesn’t the 1 in bit
6 mean that we have a constructed value? Which I translate to mean an
object with ivars.
I read your other emails and I think I’m
catching onto the issues. I’m not sure I understand what
combinations are possible.
Primitive means single data element (i.e.
String)
Constructed means multiples (i.e. SomeObject).
Explicit means field name comes from ANS definition.
Implicit means field name comes from data?
Although I’m not sure. Like I
said I need to read up some more.
The definition parser is really not that
complicated. It is almost done, I was hoping to add pragmas onto objects
to allow reading and writing to asn from the metadata on the ivars. This
would tie the definition to the object model. Problem is having enough
time to finish it.
Ron
From:
cryptography-bounces@lists.squeakfoundation.org [mailto:cryptography-bounces@lists.squeakfoundation.org]
On Behalf Of Robert Withers
Sent: Wednesday, March 21, 2007
4:27 PM
To: Ron@USMedRec.com
Subject: Re: [Cryptography Team]
Debugging SSL on Linux
On Mar 21, 2007, at 10:15 AM, Ron Teitelbaum wrote:
What do you think? Does changing 160 to
ANS1ExplicitContextValueConstructed fix things? I suppose that we could also,
if it makes sense, extend the ECV functionality to include handling multiple
values if bit 6 = 1 and eliminate some duplication of code (i.e. isPrimitive,
but does isPrimitive make sense for ECVC?)
I am trying to find out the intersection of Explicit/Implicit and
Primitive/Constructed. I think what I am learning is that the
Primitive/Constructed is represented in the tag of a Triplet, but the
Explicit/Implicit is a property of the Type Module defining user types. We
don't have any representation of that, since we are wrapping it all in an
ASN1ExplicitContextValue.
I am still wrapping both Primitive and Constructed, but I took you
advice and allowed Constructed types to have more than one value - i.e. an
Implicit Sequence
We really need to do what you were working on it seems with your
ASN1DefinitionModel. We need to be able to provide the Type definition to the
parser, which is just the #fromAsnDer: method, and allow the BER to be mapped
to user classes. Big job.
Rob