One minor observation concerning the draft-dusse-smime-msg-05:
Section 1.3 ASN.1 definition should read as follows:
ASN.1: Abstract Syntax Notation One, as defined in ITU-T X.680-3.
(versus CCITT X.680-9)
But,
1) X.683 should not be referenced since parameterized types are not
used.
2) X.680-2 do not support anymore "ANY" or "ANY DEFINED BY". These
notations were replaced by the information object class notation. The
draft may be rewritten to align itself to X.680-2 (see below) or the
draft would indicate that ASN.1 is defined according to X.208.
Instead of having (see section A):
SMIMECapability ::= SEQUENCE {
capabilityID OBJECT IDENTIFIER,
parameters OPTIONAL ANY DEFINED BY capabilityID }
the following would be used (according to X.680-2):
SMIMECapability ::= SEQUENCE {
capabilityID CAPABILITY.&id ({SupportedCapabilities}),
parameters CAPABILITY.&Parameter
({SupportedCapabilities}{(_at_)capabilityID}) }
First, the following information object class would be defined:
CAPABILITY CLASS ::= {
&id OBJECT IDENTIFIER UNIQUE,
&Parameter
}
WITH SYNTAX
{
ID &id
[PARAMETER &Parameter]
}
Each capability would then be defined:
RC2-CBC OBJECT IDENTIFIER ::=
{iso(1) member-body(2) US(840) rsadsi(113549) encryptionAlgorithm(3)
2}
SMIMECapabilitiesParametersForRC2CBC ::= INTEGER
rc2-CBC CAPABILITY ::= {
ID RC2-CBC
PARAMETER SMIMECapabilitiesParametersForRC2CBC
}
an other example:
DES-CBC OBJECT IDENTIFIER ::=
{iso(1) identified-organization(3) oiw(14) secsig(3) algorithm(2) 7}
des-cbc CAPABILITY ::= {
ID DES-CBC
-- no parameter
}
Finally, you would have something like:
SupportedCapabilities CAPABILITY ::= {rc2-CBC | des-cbc} -- more
capabilities would exist...
--
Y. Theriault, Capt
Hardware Engineer
Project Management Office
Defence Message Handling System
Department of National Defence
phone: 995-6476
fax : 995-6456
e-mail: aa862(_at_)issc(_dot_)debbs(_dot_)ndhq(_dot_)dnd(_dot_)ca