Should a wildcard SSL certificate secure both the root domain as well as the sub-domains?

There’s some inconsistency between SSL implementations on how they match wildcards, however you’ll need the root as an alternate name for that to work with most clients.

For a *.example.com cert,

  • a.example.com should pass
  • www.example.com should pass
  • example.com should not pass
  • a.b.example.com may pass depending on implementation (but probably not).

Essentially, the standards say that the * should match 1 or more non-dot characters, but some implementations allow a dot.

The canonical answer should be in RFC 2818 (HTTP Over TLS):

Matching is performed using the matching rules specified by
[RFC2459]. If more than one identity of a given type is present in
the certificate (e.g., more than one dNSName name, a match in any one
of the set is considered acceptable.) Names may contain the wildcard
character * which is considered to match any single domain name
component or component fragment. E.g., *.a.com matches foo.a.com but
not bar.foo.a.com. f*.com matches foo.com but not bar.com.

RFC 2459 says:

  • A “*” wildcard character MAY be used as the left-most name
    component in the certificate. For example, *.example.com would
    match a.example.com, foo.example.com, etc. but would not match
    example.com.

If you need a cert to work for example.com, www.example.com and foo.example.com, you need a certificate with subjectAltNames so that you have “example.com” and “*.example.com” (or example.com and all the other names you might need to match).

Leave a Comment