Hi Stefan

On 2020/08/20 17:24, Stefan Winter wrote:
The FQDN of the server itself would be in the Subject (CN=server.fqdn.example); 

Simply looking at the subject breaks the case where a given server may have multiple valid FQDNs (i.e. the use case that subjectAlternativeName:dNSname is meant to solve), which I suspect is a fairly common use case.

For instance, we currently have certificates with subjectAlternativeName:dNSname in them:

        Subject: DC = net, DC = geant, DC = eduroam, C = ZA, O = Tertiary Education and Research Network of South Africa, CN = flr-cpt.eduroam.ac.za
             X509v3 Subject Alternative Name:
                DNS:flr-cpt.eduroam.ac.za, DNS:flr-jnb.eduroam.ac.za, DNS:eduroam-cpt-01.eduroam.ac.za, email:eduroam@tenet.ac.za

This is because we run a high-availability configuration with the FLR servers' IP addresses bound on loopbacks and able to swing between physical instances. The three DNS sANs are the canonical name of this instance (matching the subject, in accordance with public CA best practices), the canonical name of the other instance that we act as standby for, and the FQDN of the underlying host.

I see a similar thing in the hosted IdP:

        Subject: DC = net, DC = geant, DC = eduroam, C = NL, O = GEANT Association, CN = auth-1.hosted.eduroam.org
             X509v3 Subject Alternative Name:
                DNS:auth-1.hosted.eduroam.org, DNS:auth-2.hosted.eduroam.org, email:eduroam-ot@lists.geant.org

where the same certificate is presented whether I connect to auth-1 or auth-2.

Whether or not this is right for RadSec or indeed for the specific case of eduroam, it certainly matches user expectations which is what Fabian was getting at here:

I'm very skeptical about this point. I can't point to any RFC or so, but my gut-feeling says that sAN:DNS is used very often for multi-domain certificates. Not allowing multi-domain certificates would violate user expectations, and might also exclude some use-cases.

My gut feeling is that overloading the semantics of sAN:dNSname in anything other than very controlled circumstances with a very small community will lead to confusion, because the default interpretation of a newish person will be to match what web browsers do.

[1] This behaviour is "almost" like the semantically cleaner behaviour
of RFC7585 - except that the list of realms is in a dedicated
certificate extension called NAIRealm in the RFC, while here one would
overload sAN:DNS instead.

I'm interested in the use case for overloading sAN:dNSname rather than using sAN:otherName:NAIRealm?

- Guy
--