Re: Last Call: <draft-ietf-lamps-eai-addresses-05.txt> (Internationalized Email Addresses in X.509 certificates) to Proposed Standard

Viktor Dukhovni <> Sat, 11 February 2017 19:56 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id E7E8C12944F for <>; Sat, 11 Feb 2017 11:56:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 2NOaLdL-ccXc for <>; Sat, 11 Feb 2017 11:56:11 -0800 (PST)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 3A35812943C for <>; Sat, 11 Feb 2017 11:56:11 -0800 (PST)
Received: by (Postfix, from userid 1034) id ECEE9284E4C; Sat, 11 Feb 2017 19:56:09 +0000 (UTC)
Date: Sat, 11 Feb 2017 19:56:09 +0000
From: Viktor Dukhovni <>
Subject: Re: Last Call: <draft-ietf-lamps-eai-addresses-05.txt> (Internationalized Email Addresses in X.509 certificates) to Proposed Standard
Message-ID: <>
References: <> <> <> <> <> <> <> <> <> <>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <>
User-Agent: Mutt/1.7.2 (2016-11-26)
Archived-At: <>
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: IETF-Discussion <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 11 Feb 2017 19:56:13 -0000

On Sat, Feb 11, 2017 at 01:42:02PM -0500, Russ Housley wrote:

> Wei is arguing that the two (ffc822Name and SmtpMUtf8Name) should be
> completely separate.

This introduces a means to evade name constraints placed on existing
(intermediate) CAs whose issuer (parent CA) was/is not SmtpUtf8 aware.
Software that introduces such bypass mechanisms would rate a CVE.
OpenSSL will not implement the proposal in its current form.

Once again, a CA with *ONLY* rfc822Name constraints should not be
able to able issue EE certificates with SmtpUtf8Name altNames that
conflict with its rfc822Name constraints.

Once again, I am not concerned about A-labels, U-labels, etc.,
rather, if a CA is constrained to (an ordinary LDH
domain) email addresses via rfc822Name, and no SmtpUtf8Name
constraints are present, then the CA in question MUST NOT be able
to bypass that constraint via SmtpUtf8Name altnames with a domain
part of "".

> You are arguing for some crossover, but I do not understand how A-labels
> in the rfc822Name are handled in your proposal.

So far, I've said nothing about about A-labels in rfc822Name
constraints.  Now that you ask, my view is that in the absence of
SmtpUtf8 constraints, an rfc822Name constraint that restricts a CA
to issue EE altnames with a domain part of
means that the CA should only be only issue rfc822Name altnames with
that verbatim A-label form only.  Thus, that same hypotheical CA would
not be able to issue SmtpUtf8Names with a domain part of духовный.org,
because that UTF-8 name does not match the literal rfc822Name constraint.

> If rfc822Name permits '’ then it would need to be translated
> to 'faß.de’ for comparison in SmtpUtf8Name.

I did not want to conflate the rfc822Name constraint bypass issue
with the issue of A-label/U-label conversions.  My take is still
that conversions are not a good idea, and that a reference identifier
should be found verbatim in the certificate as a matching presented
identifier with no conversions.  With that a 'faß.de' SmtpUtf8Name
altname would not be allowed for a CA constrained to just

A CA that wants to start issuing 'faß.de' altnames can use a
suitable new intermediate certificate with appropriate additional
SmtpUtf8 constraints.

Requiring conversions from rfc822Name constraints that are A-labels
to correspoding U-label constraints would IMHO be a mistake, and
would require the introduction into OpenSSL and other X.509 stacks
of code that converts from A-labels to U-labels.  I think such
complexity is unwarranted, and I'd very much like to avoid the
need for any such conversions.