Bonjour,
J'essais de faire un poc simple de serveur nodejs / express en https avec un certificat signé par un CA non publique que je génère à la volé.
Voici mon code :
Mes fichiers dans la dossier cert sont crées comme suite:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 var express = require('express'); var https = require('https'); var fs = require('fs'); var app = express(); var config = { key: fs.readFileSync('cert/server.key'), cert: fs.readFileSync('cert/server.crt'), ca: fs.readFileSync('cert/ca.crt') }; app.get('/', function(req, res) { res.send('Hello world'); }); https.createServer(config,app).listen(443);
Je ne pense pas m'être trompé sur cette partie, je crée un ca, je le fais signer par lui même puis je m'en sert pour signer mes autres certifs.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 ### CA auto signée openssl genrsa -des3 -out ca.key 1024 openssl req -new -key ca.key -out ca.csr openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt ### générer un clé signée par le CA openssl genrsa -des3 -out server_pass.key 1024 openssl rsa -in server_pass.key -out server.key openssl req -new -key server.key -out server.csr openssl x509 -req -days 365 -in server.csr -signkey ca.key -out server.crt
Petite remarque, j'ai essayé le code nodeJS ci-dessus avec un certif auto-signé et dans ce cas là il fonctionne très bien.
Le problème viens donc du fait que mon certif "server" n'est ni auto signé, ni signé par autorité reconnue comme si express ne prenait pas en compte le paramètre "ca" dans les configs.
Une idée d'ou cela peut venir ?
Merci d'avance.
Partager