A few minor editorial comments:
1. I'm seeing way too many blank lines in the middle of
paragraphs (maybe it's just my browser).
2. In section 1 Overview, the Distinguished Encoding Rules
reference (DER) is given as X.509-88. Was X.209-88 meant instead?
3. Maybe this is just a stylistic nit in my part, but the
first paragraph or two of section 2.2 is just a repeat
of [CMS]. Would a statement like:
"See [CMS] section 6.2.1 for details of selecting
the proper KeyTransRecipientInfo version value."
be sufficient?
4. In section 2.2 KeyTransRecipientInfo Fields, the next to
last paragraph reads:
"The KeyTransRecipientInfo keyEncryptionAlgorithm field
specifies the key transport algorithm (i.e. RSAES-OAEP [RSA-OAEP]),
and the associated parameters used to encrypt the CEK for
the recipient."
In the parenthetical comment, use of "i.e." implies--to me at least--
that RSAES-OAEP is the only key transport algorithm. I think "e.g."
would better indicate RSAES-OAEP is one of several algorthims
that might be used (RSAES-OAEP, PKCS#1v1.5).
5. In section 4.1 Algorithm Identifiers and Parameters,
it would be nice to see an initial definition of the
"aes" identifier:
aes OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16)
us(840) organization(1) gov(101)
csor(3) nistAlgorithms(4) 1 }
*before* it gets referenced in other OID definitions. I know
it's given in Appendix A, but it couldn't hurt to see it in the
text of section 4.1 as well.
Related to this, the definition in the appendix has a spurious
trailing underscore after the "csor(3)" part:
aes OBJECT IDENTIFIER ::= { joint-iso-itu-t(2) country(16) us(840)
organization(1) gov(101) csor(3)_ nistAlgorithms(4) 1 }
That's all (for now),
Jeff