Hello everybody
I need some clarifications regarding the transport of S/MIME
in X.400 as
per the draft "draft-ietf-smime-x400transport-03.txt". The draft says that
one should have
a separate content to represent the CMS object. The "content-type" field of
P1 envelope
should contain the CMS defined value:
id-data OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549)
pkcs(1)
pkcs7(7) 1 }
if the CMS object is covered by outer MIME wrapper and should contain value:
id-ct-contentInfo OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
rsadsi(113549)
pkcs(1) pkcs-9(9)
smime(16) content-types(1) 6 }
if the CMS object is not covered by an outer MIME wrapper.
The draft also says that, In case the S/MIME message is forwarded,
the CMS object
should be a bodypart of the "Forwarded IPM".
X.400 recommendations define different content types with
Interpersonal Message (IPM)
and EDI to quote as some examples. Our X400 MTA/Gateway implementation uses
APIs as
specified by Xopen Group http://www.opengroup.org/ i.e. XAPIs to build an
IPM.
The XAPI document also defines and describes a content type called
the "General Content"
type with binary data being its content. Since CMS object is a binary, can
we use this content type
to convey CMS objects? and can I assume that the receiving User Agent (UA)
will be
responsible to interpret the message as secure one?
The layout of the message will be as follows:
__________________________________
| P1 Envelope |
| containing S/MIME oid |
| |
|----------------------------------------------------------- |
| General Content Type |
| |
| with CMS object being the binary |
| data. |
| |
|__________________________________|
Following is the dump of the message as seen in X.400:
----------------------------------------------------------------------------
---------------------------------
XAPI dump of a General content message with CMS object
being the content
----------------------------------------------------------------------------
---------------------------------
OM_CLASS [OM_S_OBJECT_IDENTIFIER_STRING]: MH_C_DELIV_MESSAGE
MH_T_CONTENT [OM_S_OBJECT]: (Object)
OM_CLASS [OM_S_OBJECT_IDENTIFIER_STRING]: MH_C_GENERAL_CONTENT
<< The above OID indicates that it is a general content>>
MH_T_BINARY_CONTENT [OM_S_OCTET_STRING]: Long string.
<< Binary CMS object follows here >>
30 80 6 9 2a 86 48 86 f7 d 1 7 2 a0 80 30 80 2 1 1 0...*.H.÷....
.0....
31 b 30 9 6 5 2b e 3 2 1a 5 0 30 80 6 9 2a 86 48
1.0...+......0...*.H
86 f7 d 1 7 1 a0 80 24 80 4 c 43 6f 6e 74 65 6e 74 2d .÷....
.$...Content-
<< More data follows here ...but removed >>.
33 b2 bd ed 85 19 af 77 9d 5c 62 9d 1b b1 ab 19 bb 36 26 5c
3²½í..¯w.\b..±«.»6&\
6f d 37 a6 99 90 82 6c 0 0 0 0 0 0 0 0 0 0 0 0
o.7¦...l............
Total Length 3394
<< Envelope starts from here >>
MH_T_ENVELOPES [OM_S_OBJECT]: (Object)
OM_CLASS [OM_S_OBJECT_IDENTIFIER_STRING]: MH_C_DELIVERY_ENVELOPE
MH_T_ACTUAL_RECIPIENT_NAME [OM_S_OBJECT]: (Object)
OM_CLASS [OM_S_OBJECT_IDENTIFIER_STRING]: MH_C_OR_NAME
MH_T_ADMD_NAME [OM_S_PRINTABLE_STRING]: vsnl
MH_T_COMMON_NAME [OM_S_PRINTABLE_STRING]: test
MH_T_COUNTRY_NAME [OM_S_PRINTABLE_STRING]: in
MH_T_ORGANIZATION_NAME [OM_S_PRINTABLE_STRING]: idc
MH_T_PRMD_NAME [OM_S_PRINTABLE_STRING]: digital
MH_T_BUREAU_FAX_DELIVERY [OM_S_BOOLEAN]: OM_FALSE
MH_T_CONTENT_TYPE [OM_S_OBJECT_IDENTIFIER_STRING]:
ObjID: 2a 86 48 86 f7 0d 01 09 10 0106
<< The above OID is the OID for S/MIME (unwrapped) >>
MH_T_CONVERSION_LOSS_PROHIBITED [OM_S_BOOLEAN]: OM_FALSE
MH_T_CONVERSION_PROHIBITED [OM_S_BOOLEAN]: OM_FALSE
MH_T_DELIVERY_TIME [OM_S_UTC_TIME_STRING]: 010809152452Z
MH_T_FORWARDING_ADDR_REQUESTED [OM_S_BOOLEAN]: OM_FALSE
MH_T_FORWARDING_PROHIBITED [OM_S_BOOLEAN]: OM_FALSE
MH_T_MTS_IDENTIFIER [OM_S_OBJECT]: (Object)
OM_CLASS [OM_S_OBJECT_IDENTIFIER_STRING]: MH_C_MTS_IDENTIFIER
MH_T_ADMD_NAME [OM_S_PRINTABLE_STRING]: vsnl
MH_T_COUNTRY_NAME [OM_S_PRINTABLE_STRING]: in
MH_T_LOCAL_IDENTIFIER [OM_S_IA5_STRING]:
9B265BAE11D58CDA00001590
MH_T_PRMD_IDENTIFIER [OM_S_PRINTABLE_STRING]: digital
MH_T_ORIGINATOR_NAME [OM_S_OBJECT]: (Object)
OM_CLASS [OM_S_OBJECT_IDENTIFIER_STRING]: MH_C_OR_NAME
MH_T_ADMD_NAME [OM_S_PRINTABLE_STRING]: vsnl
MH_T_COMMON_NAME [OM_S_PRINTABLE_STRING]: nandi
MH_T_COUNTRY_NAME [OM_S_PRINTABLE_STRING]: in
MH_T_ORGANIZATION_NAME [OM_S_PRINTABLE_STRING]: idc
MH_T_PRMD_NAME [OM_S_PRINTABLE_STRING]: digital
MH_T_POSTAL_REPORT [OM_S_ENUMERATION]: MH_PR_UNDELIVBLE_MAIL_VIA_PDS
MH_T_PREFERRED_DELIVERY_MODES [OM_S_ENUMERATION]: MH_DM_ANY
MH_T_PRIORITY [OM_S_ENUMERATION]: MH_PTY_NORMAL
MH_T_PROOF_OF_DELIV_REQUESTED [OM_S_BOOLEAN]: OM_FALSE
MH_T_REGISTRATION [OM_S_ENUMERATION]: 0
MH_T_RENDITION_ATTRIBUTES [OM_S_OBJECT_IDENTIFIER_STRING]:
MH_RA_BASIC_RENDITION
MH_T_SUBMISSION_TIME [OM_S_UTC_TIME_STRING]: 010809152421Z
----------------------------------------------------------------------------
---------------------------------
Could anybody comment on the usage of General content in the
transfer
of CMS object from MIME to X.400.
Regards
Nandi