Comment les créer .pem fichiers pour le serveur https
Je suis en utilisant le cadre Express dans Node.js pour créer un serveur web. Je veux que le transport est basé sur le protocole SSL.
Le code pour créer le serveur https est comme ci-dessous.
var app = express.createServer({
key: fs.readFileSync('./conf/key.pem'),
cert: fs.readFileSync('./conf/cert.pem')
});
module.exports = app;
Question: Comment faire pour créer la clé.pem et cert.pem requis par l'express?
Vous devez vous connecter pour publier un commentaire.
Les deux fichiers que vous avez besoin sont codés en PEM SSL certificat et la clé privée. PEM codé les certificats et les clés sont encodés en Base64 texte avec début/fin des séparateurs qui ressemblent à des
-----BEGIN RSA PRIVATE KEY-----
ou similaire.Créer un certificat SSL, vous devez d'abord générer une clé privée et une demande de signature de certificat, ou de la RSE (qui contient également votre clé publique).Vous pouvez le faire dans une variété de façons, mais voici comment dans OpenSSL.
Cela vous fera entrer dans une invite de commandes pour générer de 2048 bits RSA clé privée et d'une RSE qui a toutes les informations que vous entrez à l'invite. (Remarque: le Nom Commun est l'endroit où vous aurez envie de mettre le nom de domaine que vous allez utiliser pour accéder à votre site.) Une fois que vous avez fait cela, vous devriez normalement présenter ce certificat à une autorité de certification de confiance et une fois qu'ils ont validé votre demande, vous recevrez un certificat.
Si vous n'avez pas de soins sur votre certificat de confiance (généralement le cas pour des fins de développement), vous pouvez simplement créer un certificat auto-signé. Pour ce faire, on peut utiliser presque la même ligne, mais nous allons passer deux paramètres supplémentaires.
Cela vous donnera un cert (valable 10 ans) et de la paire de clés que vous pouvez utiliser dans l'extrait de code que vous avez posté.
Il suffit de suivre cette procédure :
créer le dossier où vous souhaitez stocker votre clé & certificat :
mkdir conf
aller à ce répertoire :
cd conf
saisir cette
ca.cnf
fichier à utiliser comme un raccourci configuration :wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/ca.cnf
créer une nouvelle autorité de certification à l'aide de cette configuration :
openssl req -new -x509 -days 9999 -config ca.cnf -keyout ca-key.pem -out ca-cert.pem
maintenant que nous avons notre autorité de certification dans
ca-key.pem
etca-cert.pem
, nous allons générer une clé privée pour le serveur :openssl genrsa -out key.pem 4096
saisir cette
server.cnf
fichier à utiliser comme un raccourci configuration :wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/server.cnf
générer de la demande de signature de certificat à l'aide de cette configuration :
openssl req -new -config server.cnf -key key.pem -out csr.pem
signer la demande :
openssl x509 -req -extfile server.cnf -days 999 -passin "pass:password" -in csr.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem
J'ai trouvé cette procédure ici, avec plus d'informations sur la façon d'utiliser ces certificats.