你怎么能得到一个密钥和证书对在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了解更多信息,
问候
遵循Node.js网站上的openssl
说明。