Cryptographic Message Syntax (CMS) is a syntax used to digitally sign, digest, authenticate, or encrypt
arbitrary message content. CMS is a stricter subset of PKCS#7.
There are several CMS content types but S/MIME currently only uses four of them, namely
Data, SignedData, EnvelopedData, and CompressedData content types.
This Toolkit provides the means to create digitally-signed SignedData
,
encrypted EnvelopedData
and CompressedData
objects* according to
the CMS specification [CMS] and some of its more recent updates.
* Pedantic note: Strictly speaking, the objects produced are
CMS SignedData
or EnvelopedData
objects
wrapped in a CMS ContentInfo
object.