SSL auto-signé cert pour localhost, comment faire confiance
J'ai un Owin auto-hôte application en C# qui fournit des API Web services sur 127.0.0.1:5555 (il n'écoute que sur localhost, pas de connexions externes).
Ces API Web services sont appelés à l'aide d'Ajax à partir d'une application AngularJS. En aparté: la raison pour laquelle le Owin application de certaines interactions avec le matériel nécessaire, ce qui n'est pas possible à partir d'un navigateur. Aussi, l'application AngularJS est pour un usage interne, donc j'ai le contrôle sur les navigateurs utilisés.
Ci-dessus fonctionne très bien sur HTTP, mais le Angular JS application doit utiliser le protocole SSL, qui ne fonctionne que si les Owin application qui utilise le protocole SSL (sinon vous obtenez le message "contenu Mixte", erreurs).
J'ai acheté un fonctionnaire cert pour l'application AngularJS, et je suis en utilisant l'auto-signé certs pour la Owin localhost choses.
Le problème est que j'obtiens un "NET::ERR_CERT_AUTHORITY_INVALID" (quand testin à partir de Chrome) et "net::ERR_INSECURE_RESPONSE" à partir de l'application AngularJS lorsque l'on parle à la Owin API Web.
Voici ce que j'ai fait, à grands traits:
J'ai utilisé un CentOS case pour générer le cert pour localhost et exporté vers l'pkcs12 /pfx format. J'ai également généré un CA cert et exportées de la même manière.
À l'aide de la console MMC j'ai importé le localhost cert sur la machine de Windows 7 à l'exécution de l'Angulaire & Owin application dans les Certificats (Ordinateur Local) > > des Certificats.
J'ai aussi importé le CA cert sur la machine Windows 7 en Certificats (Ordinateur Local) > de Certification Racine de Confiance Auhorities > Certificats
Regardant le localhost cert, il est dit "Délivré à: localhost", Publié par: "ca.acme.com" "Vous avez une clé privée qui correspond à ce certificat", (sous le Chemin d'accès de Certification) "Ce certificat est Ok"
Le CA cert dit "Délivré à: ca.acme.com Publié par: "ca.acme.com" "Vous avez une clé privée qui correspond à ce certificat", (sous le Chemin d'accès de Certification) "Ce certificat est Ok"
netsh http show sslcert
IP:port : 127.0.0.1:5555
Certificate Hash : 1234555555555555555555511155555555555555
Application ID : {1234a123-1234-1234-1234-123412341234}
Certificate Store Name : (null)
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check : Enabled
Revocation Freshness Time : 0
URL Retrieval Timeout : 0
Ctl Identifier : (null)
Ctl Store Name : (null)
DS Mapper Usage : Disabled
Negotiate Client Certificate : Disabled
Ce qui me manque? Comment puis-je faire Chrome, etc. la confiance du certificat SSL pour localhost?
stackoverflow.com/questions/7580508/...
Ce n'est pas pour les tests. Aussi, il sera utilisé sur un grand nombre d'ordinateurs internes; pourrais-je obtenir un fonctionnaire cert pour localhost et l'utiliser sur tous d'eux d'une certaine façon? Depuis c'est tous les localhost trafic uniquement (pas de données sensibles) je n'ai pas vraiment de problèmes de sécurité.
Si son environnement de Dev., puis aller avec les suggestions ci-dessous par @Brad Parcs... Il a sauvé ma journée...! Merci Brad...
OriginalL'auteur Lars335 | 2014-12-22
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce travail (suffisamment pour mes besoins actuels, au moins).
J'ai copié le localhost cert de "Certificats (Ordinateur Local) > > les Certificats" de "Certificats (Utilisateur Actuel) > > les Certificats". Cela se débarrasser de la croix-rouge de https dans google Chrome (et le "NET::ERR_CERT_AUTHORITY_INVALID message") ainsi que le "net::ERR_INSECURE_RESPONSE" erreur dans AngularJS.
Noter que dans mon cas, le localhost cert devait être à la fois le magasin de l'Ordinateur Local et dans le Courant de l'Utilisateur de Stocker, sinon la commande netsh pour la liaison à port 5555 (pour le Owin app) serait un échec:
Il n'y a pas encore de beau vert cadenas dans le navigateur Chrome (maintenant, elle a un petit triangle jaune sur le pad lock", "L'identité de ce site web a été vérifiée par ca.acme.com mais n'ayant pas le public des enregistrements d'audit"), mais cela ne semble pas interférer avec l'API Web de communication, de sorte qu'il doit être fine.
Si quelqu'un connaît un moyen facile de le faire tous les verts et nice, avec aucun avertissement, je suis toujours intéressé, mais il n'est pas critique.
OriginalL'auteur Lars335
Sur Linux, j'ai dû
apt-gt install libnss3-tools
Avec libnss3-outils
certutil
Maintenant la touche commande:
Ce résoudre tous mes problèmes avec Chrome sur Framboise /Linux
OriginalL'auteur Mike Mitterer
Pas; vous ne serez pas en mesure d'obtenir un certificat pour "localhost" professionnellement signé par une bonne réputation fournisseur de certificats SSL, parce que "localhost" n'est pas en vertu d'un nom de domaine qui vous appartient. (En effet, il n'est pas précisément sous un nom de domaine à tous les; c'est un nu nom d'hôte.)
Vous pourriez être en mesure de créer un vrai nom de domaine (. e.g, localhost.example.com) qui se résout à l'adresse 127.0.0.1 et obtenir un certificat qui a signé, mais c'est plutôt discutable. Certains fournisseurs de SSL peut pas signer de toute façon. Il vaut la peine d'essayer, si!
Vous pouvez commencer à chrome dans un mode d'ignorer tous les certificats SSL cert erreurs... Il faut que vous utilisez une option de ligne de commande, mais fonctionne très bien. Essayez ceci:
--ignore-certificate-errors
à la ligne de commande. Plus plus de détails iciOriginalL'auteur duskwuff