I want to create a https server for my localhost.
Node JS documentation provides out of the box solution but I have some confusion with it.
Example
var https = require('https');
var fs = require('fs');
var options = {
key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
};
https.createServer(options, function (req, res) {
res.writeHead(200);
res.end("hello world\n");
}).listen(8000);
Or
var options = {
pfx: fs.readFileSync('server.pfx')
};
Here how would I get key, cert or pfx for my localhost?
For development purposes you can create a self-certified certificate. Here's how to do it on a linux-based system:
First, generate a private key
openssl genrsa 1024 > key.pem
This will store a 1024 bit RSA key in the file key.pem
Then, generate an SSL certificate with that key:
openssl req -x509 -new -key key.pem > key-cert.pem
Now, you can use key.pem and key-cert.pem in the options you pass to createServer.
the .pfx file is a "bundle" maded of the key.pem , cert.pem and sometimes a (CA file) files.
You should get(pay) / make(testing etc) a https certificate.