HTTPS sur mon localhost ?

Comment ça se passe ?

a marqué ce sujet comme résolu.
Auteur du sujet

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

Édité par A-312

+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)

Édité par Torado

"Tout obstacle renforce la détermination. Celui qui s’est fixé un but n’en change pas." Léonard De Vinci

+2 -0

@Torado: Son navigateur Web. Son moteur de recherche se fiche des certificat.

ache.one                 🦹         👾                                🦊

+3 -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.

+5 -0

Cette réponse a aidé l’auteur du sujet

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

A-312

Tu peux générer un certificat valide via mkcert.

Édité par EtienneR

HTTP/1.1 418 I’m a teapot

+2 -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.

Édité par Jacen

+2 -0

Cette réponse a aidé l’auteur du sujet

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. ℹ️

HTTP/1.1 418 I’m a teapot

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

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