你怎么能得到一个密钥和证书对在https中使用?

我正在尝试在Node.js中使用https模块。

代码如下:

var options = { key : <key comes here>, cert : <key comes here> }; https.createServer(options, app).listen(app.get('port')); 

你可以使用OpenSSL,私钥是这样创build的

 openssl genrsa -out ryans-key.pem 1024 

获得证书的第一步是创build一个“证书签名请求”(CSR)文件。 这是通过:

 openssl req -new -key ryans-key.pem -out ryans-csr.pem 

要使用CSR创build自签名证书,请执行以下操作:

 openssl x509 -req -in ryans-csr.pem -signkey ryans-key.pem -out ryans-cert.pem 

要创build.pfx或.p12,请执行以下操作:

 openssl pkcs12 -export -in agent5-cert.pem -inkey agent5-key.pem \ -certfile ca-cert.pem -out agent5.pfx 

这里是一个简单的示例回声服务器

 var tls = require('tls'); var fs = require('fs'); var options = { key: fs.readFileSync('server-key.pem'), cert: fs.readFileSync('server-cert.pem'), // This is necessary only if using the client certificate authentication. requestCert: true, // This is necessary only if the client uses the self-signed certificate. ca: [ fs.readFileSync('client-cert.pem') ] }; var server = tls.createServer(options, function(cleartextStream) { console.log('server connected', cleartextStream.authorized ? 'authorized' : 'unauthorized'); cleartextStream.write("welcome!\n"); cleartextStream.setEncoding('utf8'); cleartextStream.pipe(cleartextStream); }); server.listen(8000, function() { console.log('server bound'); }); 

你可以参考http://nodejs.org/api/tls.html了解更多信息&#xFF0C;

问候

遵循Node.js网站上的openssl说明。