rfc-3850

Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Certificate Handling

B. Ramsdell (Editor)
date2004-07 streamIETF areasec wgsmime statusPROPOSED STANDARD pages16 canonicalhttps://www.rfc-editor.org/rfc/rfc3850 doi10.17487/RFC3850
This document specifies conventions for X.509 certificate usage by Secure/Multipurpose Internet Mail Extensions (S/MIME) agents. S/MIME provides a method to send and receive secure MIME messages, and certificates are an integral part of S/MIME agent processing. S/MIME agents validate certificates as described in RFC 3280, the Internet X.509 Public Key Infrastructure Certificate and CRL Profile. S/MIME agents must meet the certificate processing requirements in this document as well as those in RFC 3280. [STANDARDS-TRACK]

obsoleted by

obsoletes

Extracted elements (29)

design-rationale §2.2.1

PKCS #6 extended certificates are prohibited because PKIX certificate extensions address much of the same functionality, making PKCS #6 redundant and not in widespread use.

email, pkix

design-rationale §2.3

Receiving agents SHOULD NOT simply trust any self-signed certificate as a valid CA but SHOULD use some other mechanism (e.g., pre-configured trust anchors) to determine CA trustworthiness, since self-signing alone provides no assurance of authority.

email, pkix, security

design-rationale §3

The email address is preferred in the subjectAltName extension rather than the subject distinguished name to align with RFC 2822 address handling and modern PKIX practices; certificates without any email address have no requirement to verify against a message's From/Sender header.

email, pkix

interoperability-note §1.2

S/MIME version 3.1 agents should attempt maximum interoperability with prior S/MIME versions (v2 per RFC 2311–2315, v3 per RFC 2630–2634). The changes from v3 include mandatory support for v1/v2 CRLs, overlapping CA validity periods, and prohibition of v1 attribute certificates.

email

interoperability-note §2.3

When certificates contain DSA public keys, the DSA parameters may be located only in the root certificate, requiring the recipient to possess both the end-entity and root certificates to perform signature verification. This is a valid reason to transmit the root certificate in a message.

email, pkix, crypto

normative-requirement §4.3 MUST

A receiving agent MUST be capable of verifying signatures on certificates and CRLs made with id-dsa-with-sha1, md5WithRSAEncryption, and sha1WithRSAEncryption with key sizes from 512 to 2048 bits. md2WithRSAEncryption MAY be supported.

email, pkix, crypto

normative-requirement §4 MUST

Agents MUST handle multiple valid CA certificates containing the same subject name and the same public keys but with overlapping validity intervals.

email, pkix

normative-requirement §3 MUST

All subject and issuer names MUST be populated (not an empty SEQUENCE) in S/MIME-compliant X.509 identity certificates, except that the subject DN in an end-entity certificate MAY be empty if subjectAltName is present and marked critical.

email, pkix

normative-requirement §4.4.3 MUST

Any RFC-2822 email addresses present in the subjectAltName extension MUST be encoded using the rfc822Name CHOICE of the GeneralName type. Multiple RFC-2822 email addresses MAY be present.

email, pkix

normative-requirement §4.2 MUST

Certificate, CRL, and path validation MUST be performed as per RFC 3280 when validating a correspondent's public key before using it for signature verification, key encryption (RSA), or pairwise key formation (Diffie-Hellman).

email, pkix, crypto

normative-requirement §4.4.2 MUST

If a key usage extension is included in a PKIX certificate, it MUST be marked as critical. S/MIME receiving agents MUST NOT accept the signature of a message if it was verified using a certificate that has the key usage extension without either the digitalSignature or nonRepudiation bit set.

email, pkix, security

normative-requirement §4.4.4 MUST

If the extended key usage extension is present, interpersonal message S/MIME receiving agents MUST check that it contains either the emailProtection or the anyExtendedKeyUsage OID as defined in RFC 3280.

email, pkix

normative-requirement §4.4.2 MUST

If the key usage extension is not specified, receiving clients MUST presume that the digitalSignature and nonRepudiation bits are set.

email, pkix

normative-requirement §2.3 MUST

Receiving agents MUST be able to handle an arbitrary number of certificates of arbitrary relationship in arbitrary order, and MUST support chaining based on distinguished name fields.

email, pkix

normative-requirement §3 MUST

Receiving agents MUST check that the address in the From or Sender header of a mail message matches an Internet mail address in the signer's certificate, if mail addresses are present in the certificate.

email, pkix, security

normative-requirement §2.1 MUST

Receiving agents MUST support the CRL format defined in RFC 3280. Both v1 and v2 CRLs MUST be supported. All agents MUST be capable of performing revocation checks using CRLs and MUST perform revocation status checking per RFC 3280.

email, pkix, security

normative-requirement §2.2 MUST

Receiving agents MUST support v1 X.509 and v3 X.509 identity certificates as profiled in RFC 3280. Receiving agents SHOULD support X.509 version 2 attribute certificates.

email, pkix

normative-requirement §1 MUST

S/MIME agents MUST verify that a public key is valid before using it to provide security services, and MUST use PKIX certificates to validate public keys as described in RFC 3280.

email, pkix, security

normative-requirement §4.4 MUST

Sending and receiving agents MUST correctly handle basicConstraints, keyUsage, authorityKeyIdentifier, subjectKeyIdentifier, and subjectAltName certificate extensions when they appear in end-entity and CA certificates.

email, pkix

normative-requirement §2.2.1 MUST NOT

Sending and receiving agents MUST NOT use PKCS #6 extended certificates. Sending agents MUST NOT send version 1 attribute certificates, which have been superseded by version 2.

email, pkix

normative-requirement §3 MUST

The email address SHOULD be in the subjectAltName extension and SHOULD NOT be in the subject distinguished name. Receiving agents MUST recognize email addresses in both the subjectAltName field and in the PKCS #9 emailAddress attribute, which MUST be encoded as IA5String.

email, pkix

normative-requirement §5 MUST NOT

When determining the time for a certificate validity check, the SigningTime attribute found in an S/MIME message MUST NOT be used unless it is from a trusted agent, as it could be set to direct a receiving agent to an outdated CRL.

email, pkix, security

protocol-element §3

End-entity certificates MAY include an Internet mail address as an addr-spec per RFC 2822. The preferred location is the subjectAltName extension; the PKCS #9 emailAddress attribute in the subject DN is also recognized for compatibility.

email, pkix

protocol-element §4.4.1

The basicConstraints extension delimits whether a certificate is for a CA or an end entity. CA certificates SHOULD contain this extension; end-entity certificates SHOULD NOT.

email, pkix

protocol-element §2.3

The CertificateSet structure in CMS-formatted S/MIME messages carries certificates in arbitrary order; a sending agent SHOULD include the user's public key certificates and associated issuer certificates to facilitate chain building by the recipient.

email, pkix

protocol-element §4.4.4

The extended key usage extension narrows the permitted uses of a key to the intersection of itself and the key usage extension. For S/MIME, emailProtection or anyExtendedKeyUsage OIDs are required in interpersonal messaging contexts.

email, pkix

security-consideration §5

MD2 is discouraged for new certificate signatures because Rogier and Chauvaud (SAC '95) demonstrated an attack that can nearly find collisions; md2WithRSAEncryption MAY still be used to verify existing signatures since finding collisions does not enable forging messages with a previously computed hash.

email, crypto, security

security-consideration §5

When certificate processing fails (e.g., no matching email address, no trusted chain, expired certificate, revoked certificate, unavailable CRL), processing software MUST take immediate and noticeable steps to inform the end user rather than silently proceeding.

email, pkix, security

security-consideration §5

When multiple unexpired CRLs exist for a CA, an agent consulting CRLs SHOULD ensure it uses the most recently issued CRL, since an S/MIME message sender could deliberately include an older unexpired CRL that omits recently revoked certificates.

email, pkix, security