How can the type of protected information be identified in s/mime.
It is the intention of the S/MIME specification to be used to protect
information which is encoded in any form, not just using MIME. If believe the
convention in CMS is, when multi S/MIME wrapping is performed the inner most
content is identified a "id-data" in contentType attribute. This gives no clue
as to the encoding or type of the information which being protected. Does
anyone agree that it would be useful to identify the type and encoding of the
protected information? or do you disagree? or is if you think it is currently
identified , how is this done?
In some off-line discussion it was proposed that the contentHints attribute as
defined in ESS may be used for this purpose. Also , the ess-02 draft eluded to
an attribute called "encapsulatedContentType" which may have been intended to
meet this requirement.
I think the title of contentHints is wrong if is used for this purpose, second
as defined currently it is not up to the job.
If the above is agree, a new type of attribute is should be defined replacing
contentHints.
The following is a starter for ten based on renaming and extending the current
"contentHints" and using some of the old "encapsulatedContentType" syntax.
ProtectedInformationTypeAttribute ::= SEQUENCE {
contentDescription [0] IMPLICIT OCTET STRING SIZE (1..MAX) OPTIONAL,
-- If contentDescription is used, its contents MUST be in UTF8 format
contentType [1] ContentType OPTIONAL
protectedContentType [2} ProtectedContentType OPTIONAL }
ContentType is a defined by CMS
ProtectedContentType ::= CHOICE {
built-in BuiltinContentType,
external ExternalContentType,
externalWithSubtype ExternalContentWithSubtype }
BuiltinContentType ::= [APPLICATION 6] INTEGER {
-- APPLICATION 6 is used for binary compatibility with X.411
unidentified (0),
external (1),
interpersonal-messaging-1984 (2),
interpersonal-messaging-1988 (22),
edi-messaging (35),
voice-messaging (40)} (0..ub-built-in-content-type)
ub-built-in-content-type INTEGER ::= 32767
ExternalContentType ::= OBJECT IDENTIFIER
ExternalContentWithSubtype ::= SEQUENCE {
external ExternalContentType,
subtype OCTET STRING}
Any Comments?