HTTPS sur mon localhost ?

Comment ça se passe ?

a marqué ce sujet comme résolu.

Bonjour,

J’ai essayé d’utiliser un certificat HTTPS sur mon localhost via les commandes :

openssl genrsa -out localhost.key 2048
openssl req -new -x509 -key localhost.key -out localhost.cert -days 3650 -subj /CN=localhost
const https = require("https");

const options = {
  key: fs.readFileSync("ssl/localhost.key"),
  cert: fs.readFileSync("ssl/localhost.cert")
};

const server = https.createServer(options, (req, res) => {});

server.listen(8443, function () {
    console.log("Server running on " + server.address().port);
});

J’obtiens :

Erreur NET::ERR_CERT_AUTHORITY_INVALID
Erreur NET::ERR_CERT_AUTHORITY_INVALID

Je pensais pouvoir faire un certificat "auto-signé" sans cette erreur. Est-ce normal ?

Bon vol,

A.

EDIT :

Je viens de voir que Chrome donne plus d’informations :

Onglet Security de chrome
Onglet Security de chrome
+0 -0

Il me semblait avoir lu qu’on pouvait auto-signé un certificat, pour ne pas avoir d’erreur avec le localhost mais je pense avoir mal compris ou surestimé les informations que j’ai lu sur le web.

A-312

Le problème c’est que ton moteur de recherche navigateur web (merci Ache pour la correction) à une liste d’entités qu’il considère de confiance pour délivrer des certificat, si tu ne fait pas partie de cette liste il va tout simplement afficher ce message. (Si vous en savais plus ou si je me trompe corrigé moi mais il me semble avoir vue ca en cour de sécurité réseau)

+1 -0

Salut,

Il me semblait avoir lu qu’on pouvait auto-signé un certificat, pour ne pas avoir d’erreur avec le localhost mais je pense avoir mal compris ou surestimé les informations que j’ai lu sur le web.

A-312

Pour étayer un peu le propos de @Torado : tu peux effectivement auto-signé un certificat ou le faire signer par ta propre CA, mais dans ce cas tu dois ajouter ce certificat ou celui de ta CA à la liste blanche de ton navigateur.

+4 -0

Donc à partir de cette erreur je fais "valider le certificat" ? Il n’y a pas d’autres solutions pour le localhost ?

A-312

Personne ne va valider un certificat pour localhost, vu qu’il n’y a pas un propriétaire unique et légitime de l’adresse. La solution c’est d’ajouter le certificat généré à la liste des certificats acceptés par la machine (ou par le navigateur s’il n’utilise pas les certificats de l’OS).

PS: sur une debian, tu l’ajoute dans /usr/local/share/ca-certificates/ et tu appelles update-ca-certificates. Il faut évidemment les droits root.

+1 -0

Je regarderais mkcert mais il faut installer choco puis installer le script (et dependance).

N’hésitez pas, si vous avez une manipulation plus manuel sous Windows (sans installation de gestionnaire de package ou de dépendances). ;)

Je regarderais mkcert mais il faut installer choco puis installer le script (et dependance).

N’hésitez pas, si vous avez une manipulation plus manuel sous Windows (sans installation de gestionnaire de package ou de dépendances). ;)

A-312
  • Aller dans "release" https://github.com/FiloSottile/mkcert/releases afin de télécharger le fichier avec l’extension exe ;
  • Renommer le fichier en mkcert.exe et déplacer le fichier dans un nouveau répertoire (mkcert par exemple) ;
  • Lancer un terminal dans ce même dossier afin d’exécuter les commandes avec mkcert ;
  • Installer les certficats sur la machine avec mkcert install ;
  • Générer les fichiers localhost.pem et localhost-key.pem avec la commande mkcert localhost.

PS : de mon coté, ça ne fonctionne pas sur Firefox 66.0.5 sur Windows 7.

mkcert -install
Using the local CA at "C:\Users\Etienne\AppData\Local\mkcert" ✨
Note: Firefox support is not available on your platform. ℹ️
+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte