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 :
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);
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
### 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
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.

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.