web-dev-qa-db-fra.com

Certificat SSL auto-signé avec un caractère générique - fonctionne pour le sous-domaine, échoue pour le domaine principal

À des fins de développement, j'ai créé un certificat SSL auto-signé où CN = *.example.com.

Après avoir installé le certificat, lors de la navigation dans n’importe quel sous-domaine https://sub.example.com, j’ai reçu le verrou vert de Nice indiquant que tout est en ordre, mais lors de la navigation vers https://example.com j’obtiens toujours une erreur. Le navigateur dit: "Le certificat du serveur ne correspond pas à l'URL"

Comment puis-je résoudre ce problème afin d'avoir un certificat valide pour tous les sous-domaines et le domaine principal.

2
fudge

La vérification du nom est guidée par RFC 2818 Section 3.1 , plus précisément sur les caractères génériques:

   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.

Ici, les "composants de nom de domaine" sont séparés par les points et ne les incluent pas.

Ceci est également clarifié dans RFC 6125 (ce qui décourage également l'utilisation de certificats génériques, mais c'est un problème différent).

Au lieu de mettre votre nom d'hôte dans le nom commun RDN du nom distinctif du sujet, vous pouvez avoir deux entrées Autre nom sujet dans le même certificat: une pour *.example.com et une pour example.com. Le CN est seulement censé être un solution de repli de toute façon :

   If a subjectAltName extension of type dNSName is present, that MUST
   be used as the identity. Otherwise, the (most specific) Common Name
   field in the Subject field of the certificate MUST be used. Although
   the use of the Common Name is existing practice, it is deprecated and
   Certification Authorities are encouraged to use the dNSName instead.
3
Bruno

Est-ce que ça marche sur https://www.example.com? Si tel est le cas, vous devrez peut-être créer un autre certificat pour votre domaine principal.

0
Anagio