Lors de l'interrogation de l'URL CDN de Sparkfun à l'aide d'OpenSSL avec la commande suivante:
openssl s_client -showcerts -connect dlnmh9ip6v2uc.cloudfront.net:443
Le nom commun renvoyé dans le certificat est *.sparkfun.com
, ce qui échoue à vérifier, mais si vous chargez l'hôte dans Chrome, le nom commun affiché est*.cloudfront.net
Qu'est-ce qui se passe ici?
Cela cause un problème car l'environnement dans lequel je suis dans les proxys SSL via Squid SSL_Bump, qui génère un certificat signé par mon autorité de certification localement approuvée pour le domaine. Cela fonctionne pour tous les domaines mais ci-dessus, car le CN ne correspond pas car le nouveau certificat est généré à l'aide d'OpenSSL.
ÉDITER - J'ai vérifié que la même chose se produit avec OpenSSL sur un serveur dans un centre de données distant qui a une connexion directe à Internet sans proxy ni filtrage.
EDIT - Le problème est dû à SNI, tel qu'accepté, mais pour remplir les informations expliquant pourquoi il provoque un problème avec Squid et SSL_Bump:
Ce projet ne prendra pas en charge le transfert des informations SNI (SSL Server Name Indication) au serveur d'origine et rendra cette prise en charge un peu plus difficile. Cependant, le transfert SNI a ses propres défis sérieux (au-delà de la portée de ce document) qui dépassent de loin les difficultés supplémentaires de transfert.
Tiré de: http://wiki.squid-cache.org/Features/BumpSslServerFirst
la source
Chrome prend en charge SNI , indiquant au serveur quel certificat envoyer. La
s_client
commande ne fonctionne pas.Il y a plus de détails sur l'utilisation de SNI par CloudFront ici .
et:
la source
s_client
qu'il ne supportait pas CLI. J'ai dit que las_client
commande (dans l'OP) ne fonctionne pas.