The multipart/signed MIME Type
The multipart/signed MIME type is used by both OpenPGP and S/MIME to structure a digital signature and the content that it signs as a MIME entity.
There are two parts to a multipart/signed entity: the first contains the information to be signed, and the second contains the digital signature itself. The second part is known as the control information.
The information to be encrypted must be in the form of a MIME entity. The MIME headers are used along with the data when creating the digital signature.
The multipart/signed type takes three parameters: boundary (the MIME boundary string), protocol (the MIME type of the digital signature), and micalg (the algorithm used to generate the digital signature, or Message Integrity Check). All three of these parameters are mandatory.
A MIME entity that uses this type would look something like this:
Content-Type: multipart/signed; protocol="TYPE/STYPE";
micalg="MICALG"; boundary="Signed Boundary"
--Signed Boundary
Content-Type: <content type/stype>; <content parameters>
<Content goes here>
--Signed Boundary
Content-Type: TYPE/STYPE
<Control information goes here>
--Signed Boundary--Values for each of these elements may vary greatly based on the security protocol used. Examples of both OpenPGP and S/MIME messages using this structure are given later in this chapter.
Since the signed part can be any MIME entity, it could therefore be a multipart/encrypted body part that holds encrypted data. This, however, is not how ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access