Comment créer un certificate auto-signé pour localhost?

J’ai suivi les étapes détaillées dans Comment utiliser https / SSL sur localhost? mais cela configure un certificate auto-signé pour le nom de ma machine, et lorsque vous le parcourez via https: // localhost, je reçois l’avertissement d’IE.

Est-il possible de créer un certificate auto-signé pour “localhost” pour éviter cet avertissement?

Bien que cet article soit posté pour Windows, la question pertinente sur OS X est que je n’ai pas vu de réponses ailleurs. Voici les étapes pour créer un certificate auto-signé pour localhost sur OS X :

# Use 'localhost' for the 'Common name' openssl req -x509 -sha256 -nodes -newkey rsa:2048 -days 365 -keyout localhost.key -out localhost.crt # Add the cert to your keychain open localhost.crt 

Dans Keychain Access , double-cliquez sur ce nouveau certificate localhost. Développez la flèche à côté de “Confiance” et choisissez “Toujours faire confiance”. Chrome et Safari devraient maintenant faire confiance à ce certificate. Par exemple, si vous souhaitez utiliser ce cert avec node.js:

 var options = { key: fs.readFileSync('/path/to/localhost.key').toSsortingng(), cert: fs.readFileSync('/path/to/localhost.crt').toSsortingng(), ciphers: 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES256-SHA384', honorCipherOrder: true, secureProtocol: 'TLSv1_2_method' }; var server = require('https').createServer(options, app); 

Après avoir passé beaucoup de temps sur ce problème, j’ai constaté à chaque fois que je suivais les suggestions d’utilisation d’IIS pour créer un certificate auto-signé. J’ai trouvé que le document Émis à était incorrect. SelfSSL.exe était la clé pour résoudre ce problème. Le site Web suivant fournit non seulement une approche étape par étape pour la création de certificates auto-signés, mais résout également le problème émis et émis. Voici la meilleure solution que j’ai trouvée pour créer des certificates auto-signés. Si vous préférez voir le même didacticiel sous forme de vidéo, cliquez ici .

Un exemple d’utilisation de SelfSSL ressemblerait à ceci:

SelfSSL /N:CN=YourWebsite.com / V: 1000 / S: 2

SelfSSL /? fournira une liste de parameters avec des explications.

Vous pouvez utiliser PowerShell pour générer un certificate auto-signé avec la cmdlet new-selfsignedcertificatee:

 New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My" 

Remarque: makecert.exe est obsolète.

Référence Cmdlet: https://technet.microsoft.com/itpro/powershell/windows/pkiclient/new-selfsignedcertificatee

Si vous essayez de créer un certificate auto-signé qui vous permet d’accéder à http://localhost/mysite Alors voici un moyen de le créer

 makecert -r -n "CN=localhost" -b 01/01/2000 -e 01/01/2099 -eku 1.3.6.1.5.5.7.3.1 -sv localhost.pvk localhost.cer cert2spc localhost.cer localhost.spc pvk2pfx -pvk localhost.pvk -spc localhost.spc -pfx localhost.pfx 

De http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/32bc5a61-1f7b-4545-a514-a11652f11200

Étant donné que cette question est associée à IIS et que je ne trouve pas de bonne réponse à la question de savoir comment obtenir un certificate de confiance, je donnerai mes 2 cents à ce sujet:

Utilisez d’abord la commande de @AuriRahimzadeh dans PowerShell en tant qu’administrateur:

 New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My" 

C’est bien, mais le certificate n’est pas approuvé et entraînera l’erreur suivante. C’est parce qu’il n’est pas installé dans les Trusted Root Certification Authorities .

entrer la description de l'image ici

Résolvez ce mmc.exe démarrant mmc.exe .

Ensuite aller à:

Fichier -> Ajouter ou supprimer des composants logiciels enfichables -> Certificats -> Ajouter -> Compte d’ordinateur -> Ordinateur local

Développez le dossier Personal et vous verrez votre certificate localhost :

entrer la description de l'image ici

Copiez ceci dans les Trusted Root Certification Authorities - Certificates

La dernière étape consiste à ouvrir le Internet Information Services (IIS) Manager ou simplement à inetmgr.exe . De là, allez sur votre site, sélectionnez Bindings... et Add... ou Edit... Définissez https et sélectionnez votre certificate dans le menu déroulant.

entrer la description de l'image ici

Votre certificate est maintenant approuvé:

entrer la description de l'image ici

Je recommanderais l’outil de Pluralsight pour la création de certificates auto-signés: http://blog.pluralsight.com/selfcert-create-a-self-signed-certificatee-interactively-gui-or-programmatically-in-net

Faites votre certificate en tant que fichier .pfx et importez-le dans IIS. Et ajoutez-le en tant qu’autorité de certificateion racine de confiance.

Oui et non. Les certificates auto-signés entraînent ce message d’avertissement car le certificate n’a pas été signé par une autorité de certificateion approuvée. Vous pouvez envisager quelques options pour supprimer cet avertissement sur votre ordinateur local. Voir les réponses les mieux classées à cette question pour plus de détails:

Que dois-je faire pour que Internet Explorer 8 accepte un certificate auto-signé?

J’espère que cela t’aides!


MODIFIER:

Désolé, je n’étais pas au courant que vous étiez limité à localhost. Vous pouvez essayer de suivre les instructions sur le lien ci-dessous pour “Générer un certificate auto-signé avec le nom commun correct”.

http://www.sslshopper.com/article-how-to-create-a-self-signed-certificatee-in-iis-7.html

J’ai créé un outil Web qui génère des certificates SSL auto-signés ( http://codeassistant.net/Certificate ). Par défaut, il génère un certificate pour “localhost”. Peut-être que c’est ce que vous recherchez.

Disclaimer: J’y “travaille”.

Le certificate auto-signé peut être créé avec une seule ligne à l’aide du script PowerShell à l’aide de l’applet de commande ci-dessous.

Applet de commande: New-SelfSignedCertificate

Exemple: New-SelfSignedCertificate -FriendlyName USProd_Certif -DnsName PRODCD-USCertificate -CertStoreLocation Cert: \ LocalMachine \ My

Exemple: http://dotnet-helpers.com/powershell/create-custom-name-self-signed-certificatee-using-powershell/