X.680 30.6 c) states:

>>>>>>>>>>

c) the "Tag Type" alternative is used and the value of "TagDefault" for the module is IMPLICIT TAGS or AUTOMATIC TAGS, but the type defined by "Type" is an untagged choice type, an untagged open type, or an untagged "DummyReference" (see ITU-T Rec. X.683 | ISO/IEC 8824-4, 8.3).

<<<<<<<<<<

The final clause makes it clear that the tag [0] on Type is ALWAYS an explicit tag.

John L

PS I thought I was going to find that this was not covered, but it is! (And probably has been for a long time, probably from the very beginnings of parameterisation.)



[EMAIL PROTECTED] wrote:

Hi
I have a simple question about DER encoding. I use PKCS#15 ASN.1 module, where ObjectValue of any type is defined like this:


ObjectValue { Type } ::= CHOICE {
      indirect           ReferencedValue {Type},
      direct             [0] Type,
      indirect-protected [1] ReferencedValue {EnvelopedData {Type}},
      direct-protected   [2] EnvelopedData {Type},
}(CONSTRAINED BY {-- if indirection is being used, then it is expected that the 
reference
-- points either to a (possibly enveloped) object of type -- Type -- or (key case) to 
a card-
-- specific key file --})

The ASN.1 module begings like this

DEFINITIONS IMPLICIT TAGS ::=
BEGIN

Now, I am not sure when the ObjectValue.direct option is used, what will be the tag of 
Type object? Is the [0] Tag going to be implicit? If the Type is is CHOICE or ANY, the 
tag must be explicit, am I right?

Thanks
Vit




-- Prof John Larmouth Larmouth T&PDS Ltd (Training and Protocol Development Services Ltd) 1 Blueberry Road Bowdon [EMAIL PROTECTED] Cheshire WA14 3LS England Tel: +44 161 928 1605 Fax: +44 161 928 8069





Reply via email to