S/MIME (Secure/Multipurpose Internet Mail Extensions)
Definition
S/MIME is a standard for signing and encrypting email messages end to end using X.509 certificates and the Cryptographic Message Syntax.
S/MIME (Secure/Multipurpose Internet Mail Extensions) adds digital signatures and encryption to MIME email using X.509 certificates; the current message specification is S/MIME 4.0 in RFC 8551. A sender signs a message with their private key so recipients can verify origin and integrity, and encrypts a message with each recipient's public key so only those recipients can read it. S/MIME certificates carry the emailProtection extended key usage and the mailbox address in the Subject Alternative Name; publicly trusted ones are issued under the CA/Browser Forum's S/MIME Baseline Requirements, which define mailbox-, organization-, sponsor- and individual-validated types.
Why it matters
S/MIME protects a message end to end, independently of the mail servers it passes through, and is built into Outlook, Apple Mail and Thunderbird. That makes it common in enterprises and government for signed notifications and confidential mail. To encrypt, you first need the recipient's certificate, usually obtained from a signed message they sent you. Unlike TLS keys, encryption keys must be kept after renewal: losing an old private key means losing access to mail encrypted to it.
Example
openssl cms -sign -in message.txt -signer alice.crt -inkey alice.key -out signed.eml
openssl cms -encrypt -aes256 -in message.txt -out encrypted.eml bob.crt
Common misconceptions
- S/MIME is the same as TLS between mail servers. STARTTLS protects each server-to-server hop; S/MIME protects the message content itself, end to end.
- Encryption hides everything. Headers such as Subject, From and To are normally left unencrypted.
- Old keys can be deleted after renewal. Keep them, or previously encrypted mail becomes unreadable.