rfc-4630

Update to DirectoryString Processing in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile

R. Housley, S. Santesson
date2006-08 streamIETF areasec wgpkix statusPROPOSED STANDARD pages6 canonicalhttps://www.rfc-editor.org/rfc/rfc4630 doi10.17487/RFC4630
This document updates the handling of DirectoryString in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile, which is published in RFC 3280. The use of UTF8String and PrintableString are the preferred encoding. The requirement for exclusive use of UTF8String after December 31, 2003 is removed. [STANDARDS-TRACK]

obsoleted by

updates

Extracted elements (15)

design-rationale §1

PrintableString is retained as a preferred encoding (alongside UTF8String) specifically to preserve support for the large installed base of deployed certificates. UTF8String is preferred for international character set support.

pkix

design-rationale §1

The December 31, 2003 deadline for exclusive use of UTF8String was removed because implementation and deployment experience showed that many existing certificates use PrintableString, and forcing UTF8String-only would break interoperability with the vast bulk of already-deployed certificates.

pkix

interoperability-note §5

For the directoryName form in subjectAltName, the encoding preference follows Section 4.1.2.4 (i.e., prefer PrintableString or UTF8String), aligning subjectAltName handling with the issuer/subject field rules.

pkix

interoperability-note §3 SHOULD

Many legacy implementations encode names in ISO 8859-1 (Latin1String) but tag them as TeletexString. Since TeletexString encodes a larger character set and some characters differently, implementations SHOULD be prepared to handle both encodings.

pkix

interoperability-note §4

Name comparison in X.509 assumes that attribute values encoded in different string types (e.g., PrintableString vs. UTF8String) represent different strings, making mixed encoding across a certification path a source of comparison failures.

pkix

interoperability-note §3 SHOULD NOT

TeletexString and UniversalString are included for backward compatibility and SHOULD NOT be used for new subjects, but MAY be used where the name was previously established. Certificate users SHOULD be prepared to receive certificates with these types.

pkix

normative-requirement §5 MAY

A CA MAY issue more than one certificate with the same DN to the same subject entity when the subjectAltName extension contains a directoryName.

pkix

normative-requirement §4 MUST

CAs conforming to this profile MUST use either the PrintableString or UTF8String encoding of DirectoryString in subject fields, with the same backward-compatibility exception as for issuer fields.

pkix, security

normative-requirement §4 SHOULD

Name components that appear in both the subject field and the issuer field SHOULD use the same encoding throughout the certification path, since name comparison treats values encoded in different types as different strings.

pkix, security

normative-requirement §3 MAY

When CAs have previously issued certificates with issuer field attributes encoded using TeletexString, BMPString, or UniversalString, the CA MAY continue to use these encodings to preserve backward compatibility.

pkix, security

normative-requirement §4 MAY

When CAs have previously issued certificates with subject fields encoded using TeletexString, BMPString, or UniversalString, the CA MAY continue to use these encodings in new certificates for the same subject to preserve backward compatibility.

pkix, security

normative-requirement §5 MUST

When the subjectAltName extension contains a DN in directoryName, the DN MUST be unique for each subject entity certified by the one CA as defined by the issuer name field.

pkix, security

protocol-element §3

The DirectoryString type is defined as a CHOICE of PrintableString, TeletexString, BMPString, UTF8String, and UniversalString. UTF8String and PrintableString are the preferred encodings; TeletexString, BMPString, and UniversalString are retained for backward compatibility only.

pkix

security-consideration §6

Consistent encoding for name components is required to ensure that name constraints specified in RFC 3280 work as expected; inconsistent encoding can cause name constraints to be incorrectly evaluated.

pkix, security

security-consideration §6

Different strings can have the same or visually similar representations due to similar glyphs, composed characters (e.g., e + combining acute = U+00E9), or language-specific composition rules. Issuers and relying parties must be aware that visual comparison of certificate names may mislead, enabling name confusion or substitution attacks.

pkix, security