5 votes

Comment obtenir le nom commun d'un certificat à partir d'un fichier PEM ?

Divers articles en ligne m'ont amené à penser que le nom commun d'un certificat de serveur doit correspondre exactement à l'URL racine pour laquelle il est valide. Cependant, lorsque je regarde un certain nombre de fichiers dans /etc/ssl/certs, via la commande openssl x509 -inform PEM -in <certfile.pem> -text Je constate que la valeur CN est généralement une description du site lisible par l'homme (par exemple, "Google Internet Authority"), et non un nom de domaine. En fait, je ne vois rien dans aucun des fichiers qui ressemble à un nom de domaine ou à une adresse IP, que ce soit dans ces fichiers ou dans le résultat de openssl s_client -connect <ip> .

Alors, ma compréhension du "nom commun" est-elle incorrecte ? Comment puis-je récupérer l'url du certificat, pour laquelle le certificat est valide ?

1voto

Etan Reisner Points 1353

Oui et non. Vous avez raison (à quelques détails près) pour les certificats de serveur. Cependant, les certificats dans /etc/ssl/certs sont des certificats de CA intermédiaire et racine et non des certificats de serveur. C'est-à-dire qu'ils ne sont pas utilisés directement pour l'identification du serveur. En tant que tels, ils n'ont pas ce problème de correspondance.

Les certificats de serveur, ceux que les serveurs présentent effectivement au client, ont le souci de la correspondance et sont ce que vous voyez dans le premier certificat que vous obtenez lorsque vous vous connectez. Si vous regardez les autres certificats dans la chaîne qu'openssl construit (et vous envoie), vous verrez des références au style de certificats /etc/ssl/certs.

Le CN lui-même peut ne pas correspondre si l'un des champs alternatifs définis comme étant légaux correspond à la place. Parmi les méthodes permettant d'ajouter des noms valides supplémentaires pour la correspondance des certificats, il y a l'utilisation d'une extension subjectAltName avec le type dNSName qui spécifie alors le nom valide à comparer (au moins pour HTTPS). Il en existe d'autres pour d'autres objectifs.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X