Pourquoi Windows 2012 R2 ne fait-il pas confiance à mon certificat auto-signé?

9

Dans un environnement de test, je suis actuellement empêché de tester certaines choses qui doivent être déployées bientôt (en fait déjà, mais vous savez comment les délais se déroulent ...) parce que Windows refuse de faire confiance au certificat auto-signé que nous avons dans notre environnement de test isolé. Alors que je pouvais juste contourner le problème avec le "vrai" certificat et quelques astuces DNS, pour des raisons de sécurité / compartimentation, je n'ai pas dit le certificat.

J'essaie de me connecter à un serveur de messagerie basé sur Linux appelé Zimbra; il utilise un certificat OpenSSL autosigné généré automatiquement. Bien que les pages que Google a publiées se réfèrent spécifiquement aux sites Web IIS avec des certificats auto-signés IIS, je ne pense pas que la méthode pour les générer importe vraiment.

Selon les instructions que j'ai trouvées ici et ici , cela devrait être une simple question d'installation du certificat dans le magasin Trusted Root Certification Authority de l'ordinateur local. Ce que j'ai fait, ainsi que copier manuellement le certificat et l'importer directement via le composant logiciel enfichable MMC. Les déconnexions et redémarrages ne changent rien.

Voici l'erreur de certificat que j'obtiens à chaque fois: entrez la description de l'image ici

Et voici le chemin de certification (spoiler: c'est juste le certificat lui-même): entrez la description de l'image ici

Enfin, voici le certificat caché en toute sécurité dans le magasin de certificats de l'ordinateur local, exactement comme les instructions que j'ai trouvées disent qu'elles devraient être: entrez la description de l'image ici

Ces instructions font spécifiquement référence à Vista (enfin, la seconde ne mentionne pas OS) et IIS, tandis que j'utilise Server 2012 R2 pour se connecter à un serveur Linux; il y a quelques différences dans l'assistant d'importation (comme le mien a la possibilité d'importer pour l'utilisateur actuel ou le système local, bien que j'aie essayé les deux), alors peut-être qu'il y a quelque chose de différent que je dois faire ici? Un paramètre quelque part que je n'ai pas trouvé qui doit être changé pour qu'il fasse vraiment confiance au certificat que je lui ai déjà dit de faire confiance?

Quelle est la bonne façon de faire en sorte que Windows Server 2012 R2 approuve un certificat auto-signé?

Kromey
la source
Impossible de reproduire votre problème. Si vous utilisez «Créer un certificat auto-signé» d'IIS et choisissez de l'installer dans le magasin personnel (également le magasin d'hébergement Web essayé), il n'y a aucun problème. Comment avez-vous créé le certificat? À partir d'IIS ou du composant logiciel enfichable MMC de l'autorité de certification?
Avez-vous essayé de sélectionner explicitement le magasin de destination (importation depuis la console mmc)?
JoaoCC
@SujaySarma Ce n'est pas pour un site Web IIS, mais pour une application Linux appelée Zimbra. Il s'agit d'un certificat auto-signé OpenSSL.
Kromey
@ user1703840 Oui, j'ai explicitement spécifié le magasin de destination, et j'ai autorisé Windows à le sélectionner automatiquement, via la MMC et l'assistant d'importation de certificat dans IE. Même résultat de toute façon, ce qui est nul.
Kromey
Hein? D'où vient Linux? Toute votre question et les liens que vous avez publiés (y compris vos captures d'écran) concernent Windows Server 2012 R2 et IIS. Précisez s'il vous plaît.

Réponses:

1

L'erreur que vous recevez n'est pas qu'il ne s'agit pas d'un certificat racine approuvé, mais qu'il n'est pas en mesure de vérifier la chaîne vers un certificat approuvé. Si une partie de la chaîne est cassée, non fiable ou manquante, vous recevrez une telle erreur. L'erreur que j'obtiens avec une racine non fiable et auto-signéeest le suivant: ce certificat racine d'autorité de certification n'est pas approuvé. Pour activer la confiance, installez ce certificat dans le magasin des autorités de certification racines de confiance. Mais pour vous, il dit qu'il ne peut pas vérifier jusqu'à un certificat racine de confiance. Cela peut être dû au fait que pendant le processus d'auto-signature, vous avez peut-être demandé à openssl de signer le certificat avec une racine différente (pas d'auto-signature), ou il n'a peut-être pas été défini en tant qu'autorité de certification racine. S'il s'agit du premier, vous devez plutôt faire confiance à la racine avec laquelle il a été signé. Si c'est le dernier, il s'agit de définir quelques propriétés dans openssl.conf.

flashbang
la source
Les captures d'écran montrent que le certificat est installé dans Trusted Root CA, et montrent également que la chaîne entière est le certificat lui-même - c'est la racine, et donc être dans Trusted Root CA devrait suffire. La question est pourquoi n'est-ce pas?
Kromey
Je dis que ce n'est peut-être pas la racine, pas qu'il n'est pas ajouté au magasin de racines de confiance. L'erreur est ce qui est bizarre - cela ne devrait pas dire qu'elle ne peut pas le vérifier auprès d'une autorité de certification de confiance, si elle est censée être une autorité de certification - c'est pourquoi je suggère que ce n'est pas réellement une racine, mais signé avec un autre certificat.
flashbang
essayez d'exécuter cette commande sur la boîte pour laquelle vous essayez d'obtenir le certificat: openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 30 -sha256 -nodeset importez ce certificat dans le magasin de l'autorité de certification racine de confiance. (ainsi que de le configurer pour qu'il soit le certificat et la clé utilisés par Zimbra, bien sûr).
flashbang
Oh, je vois ce que tu veux dire. Désolé j'ai mal compris. Mais si ce n'est pas la racine, cela ne devrait-il pas apparaître dans la fenêtre Chemin de certification? En tout cas, malheureusement, je ne peux pas réellement tester cela plus loin - j'ai réussi à mettre la main sur notre certificat légitime, et avec un peu de piratage dans le hostsfichier, il a fonctionné de cette façon.
Kromey
Votre certificat provient d'une autorité de certification racine, basée sur la capture d'écran. Si vous regardez les détails du certificat pour idp.godaddy.com, le chemin complet est présenté et vous pouvez l'utiliser comme comparaison. Si vous examinez les propriétés du certificat dans MMC, inclut-il l'authentification du serveur dans les objectifs du certificat? (Faites un clic droit sur le certificat dans la deuxième capture d'écran et sélectionnez les propriétés).
John Auld
1

d'après ce que je peux comprendre, vous devez ajouter zmaster en tant qu'autorité de certification source fiable car c'est l'autorité émettrice, WS2k12 essaie de vérifier le certificat par rapport à un hôte dont il ne sait rien. Vous avez raison, la méthode de génération n'est pas importante mais une source vérifiable l'est. Cela a l'effet que vous rencontrez: que WS2k12 ne fait pas confiance à un certificat simplement parce qu'il porte le nom $ Random_issuing_authority, il doit pouvoir vérifier le certificat.

James Gugelstuphukenmuch Moore
la source
Il s'agit d'un certificat auto-signé - en plaçant le certificat dans le magasin de l'autorité de certification racine de confiance, vous faites par définition confiance à l'émetteur.
Chris McKeown
À moins que je manque quelque chose, c'est exactement ce que j'ai fait - voir la troisième capture d'écran montrant le certificat de zmaster dans le magasin de l'autorité de certification racine de confiance.
Kromey
0

J'ai eu le même problème, il s'est avéré que ma solution était de mettre à jour les fichiers .crt et .key pour le serveur de messagerie tels qu'utilisés par dovecot. Exim4 sur le courrier avait un jeu de certificats / clés mis à jour, mais dovecot pointait toujours vers l'ancien jeu de certificats / clés.

L'ancienne paire de certificats / clés fonctionnait bien dans la plupart des situations, mais pas avec outlook.com ni avec MS Outlook 2013.

Des problèmes avec outlook.com m'ont amené à mettre à niveau le certificat exim4 récemment - maintenant dovecot [et le serveur de messagerie Web] utilisent également les nouveaux fichiers cert (et clé). Le serveur de messagerie lui-même a également été récemment mis à niveau [de l'ancien Debian squeeze-lts à Wheezy], l'ancienne configuration convenait parfaitement avec l'ancien jeu de certificats / clés, mais après la mise à niveau, je devais créer le nouveau jeu de certificats / clés avant Les produits MS fonctionneraient correctement avec le serveur de messagerie.

Andrew McGlashan
la source
0

Je pense que le problème est de savoir comment avez-vous accédé aux ressources. Pour votre réseau local, vous pouvez utiliser le nom d'hôte au lieu du nom de domaine complet. Cependant, votre certificat est émis contre le nom de domaine complet.

puffel
la source
Cette question a déjà une réponse acceptée.
BE77Y
-1

Installez le certificat auprès des autorités de certification racines de confiance et des éditeurs approuvés.

Dimaf
la source