Re: [pkix] Amendment to CABF Baseline Requirements

"Erik Andersen" <> Sat, 08 April 2017 08:20 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 2F2A31293EB for <>; Sat, 8 Apr 2017 01:20:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.619
X-Spam-Status: No, score=-2.619 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id wX7pRLQdYymC for <>; Sat, 8 Apr 2017 01:20:51 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id AF10E128D2E for <>; Sat, 8 Apr 2017 01:20:50 -0700 (PDT)
Received: from Morten ([]) by (DanDomain Mailserver) with ASMTP id 4201704081020451805 for <>; Sat, 08 Apr 2017 10:20:45 +0200
From: "Erik Andersen" <>
To: "'IETF PKIX'" <>
References: <> <> <> <> <> <> <>
In-Reply-To: <>
Date: Sat, 8 Apr 2017 10:20:44 +0200
Message-ID: <000001d2b041$050c2310$0f246930$>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0001_01D2B051.C895DD70"
X-Mailer: Microsoft Outlook 15.0
Thread-Index: AQLbax/O6ZBps7Ft6UeYTkOEFrZPhAFLVKgvAbGqP3EBulwnngL84uHQAprq/+MCV8zYqJ9Eap8g
Content-Language: en-gb
Archived-At: <>
Subject: Re: [pkix] Amendment to CABF Baseline Requirements
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: PKIX Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 08 Apr 2017 08:20:54 -0000

The change was made in the sixth edition of X.520 (2008). It was primarily driven by Hoyt Kesterson and by some X.500/LDAP vendors. Hoyt was generally against such limitations, as the future is difficult to predict. X.500/LDAP vendors were concerned about interworking between X.500 and LDAP (that does not have upper bounds). You may have noticed that ASN.1 information objects now also contains LDAP specific fields allowing also new attribute types to be usable also in an LDAP environment without the need for additional specifications.


I insisted that the upper bounds should be kept in an informative annex to be used by those having a requirement to limit the sizes.


I could, if you feel it relevant, try to suggest a Defect Report to X.509 saying that it is strongly recommend to observe the upper bounds specified in X.520. I will also try to get such a statement into any smart grid security standard that references X.509.



Fra: pkix [] På vegne af Russ Housley
Sendt: 07 April 2017 22:43
Emne: Re: [pkix] Amendment to CABF Baseline Requirements


The ASN.1 modules that were posted by Erik confirm that the upper bounds have been removed for all of the naming attributes in the SelectedAttributeTypes module.


UnboundedDirectoryString ::= CHOICE {

  teletexString    TeletexString(SIZE (1..MAX)),

  printableString  PrintableString(SIZE (1..MAX)),

  bmpString        BMPString(SIZE (1..MAX)),

  universalString  UniversalString(SIZE (1..MAX)),

  uTF8String       UTF8String(SIZE (1..MAX)) }





On Apr 7, 2017, at 3:15 AM, Erwann Abalea < <> > wrote:




2017-04-06 22:39 GMT+02:00 Peter Bowen < <> >:


On Thu, Apr 6, 2017 at 12:24 PM Russ Housley < <> > wrote:

The comment in the UpperBounds ASN.1 module (the 8th edition) says:

-- The types and values defined in this module are exported for use in the other ASN.1
-- modules contained within these Directory Specifications, and for the use of other
-- applications which will use them to access Directory services. Other applications
-- may use them for their own purposes, but this will not constrain extensions and
-- modifications needed to maintain or improve the Directory service.

X.509 is part of the Directory Specifications, so they are not advisory.

It looks like ITU-T increased the length of the organizational unit name in the most recent edition.

RFC 5280 says:

ub-organization-name-length INTEGER ::= 64
ub-organizational-unit-name-length INTEGER ::= 32

The UpperBounds ASN.1 module (the 8th edition) says:

ub-organization-name                       INTEGER ::= 64
ub-organizational-unit-name                INTEGER ::= 64

So, we may already be in a place where implementations conforming to X.509 will produce a certificate that cannot be decoded by an implementation that conforms to RFC 5280.

I wish we gad gotten a heads-up …


It is even worse. 7th and 8th (and maybe prior releases) removed the usage of ub- from the schema. The schema itself no longer bounds DirectoryStrings and X.509 explicitly says they are unbounded. 


X.520 2005 defines the attributes using the DirectoryString{} parameterized type, while the 2008 edition uses the UnboundedDirectoryString type.


RFC5912, which proposes ASN.1 modules for certificates and other related things, still uses the DirectoryString{} variant.