I’m having an issue with ordering of SAN-records:
Seems, fully patched Windows XP would prefer CN to be the first in SAN’s order.
Currently, Let’s Encrypt Boulder server alphabetize all SAN records. Actually, that makes the list more viewable)
Could any flag to be introduced to place CN in the first place?
The --cert-name can be arbitrary and independent of the domain names (for example, you could use --cert-name garfield or --cert-name snoopy), so it will not affect the resulting certificate's contents.
This may cause a problem.
I don’t recall where, but I remem hearing a complaint about the CN not matching the first name in the SAN…
Could have been with Exchange or Lync.
This may be possible, but I think users who want to support clients that have this behavior will need to issue individual certificates per subject name, or use a different CA. According to Internet standards, TLS clients have been told to completely ignore the CN contents if any SAN is present since 2000.
(Do you know how the affected clients behave if there is no CN field present? Does that improve compatibility in this case?)
As I mentioned, Boulder issues certificate with SAN list in alphabetical order.
This behavior only affects Windows XP in Outlook Anywhere mode. That comes from Lync/Exchange ass-painful world.
I’ll try internal CA with correct order to verify it actually would fix such legacy issue.
As CN is placed anyway into SAN list, why wouldn’t it be in the first place (then alternates in alphabetical)?
As alphabetical method ease visualization, new approach may be easier to view.
BTW, why actually CN is duplicated into SAN list?
I’m not looking for a specific solution - just raising a discussion.
On one level, CAs duplicate it because they are flatly required to by regulation.
On another level, it's one step in the interminably slow effort to phase out the Common Name field entirely. Modern clients can completely ignore the CN and only scan the SAN list when validating a certificate. If the CN wasn't duplicated, they would have to check both.
(Unfortunately, outside of the regulated web PKI, private corporate CAs and so forth don't necessarily adhere to the Baseline Requirements, so it has been difficult for implementations to actually remove CN support.)