我正在编写代理支持HTTPS-HTTPS代理。在我使用Python作为主要编程语言之前,我现在对node.js感兴趣,所以我准备迁移。nodejs可以生成SSL证书吗?
我现在面临的最大问题是,我不知道如何生成node.js中CA和其他服务器证书在Python中,pyOpenSSL非常棒。直到现在,我在node.js中找不到类似的东西。
也许我应该使用openssl-fork方法?但是如何处理openssl中的交互操作。
谢谢。
我正在编写代理支持HTTPS-HTTPS代理。在我使用Python作为主要编程语言之前,我现在对node.js感兴趣,所以我准备迁移。nodejs可以生成SSL证书吗?
我现在面临的最大问题是,我不知道如何生成node.js中CA和其他服务器证书在Python中,pyOpenSSL非常棒。直到现在,我在node.js中找不到类似的东西。
也许我应该使用openssl-fork方法?但是如何处理openssl中的交互操作。
谢谢。
如果有人确实想要通过node.js编程创建CSR,我有created a nodejs module,它使用openssl创建私钥和CSR。
编辑:使用pem代替。它更完整,可能更可靠。
EDIT2:其实,PEM也刚刚超过openssh的一个简单的包装。对于纯JS实现,看看forge
证书用途外壳:
openssl genrsa -out server-key.pem 1024
openssl req -new -key server-key.pem -out server-csr.pem
openssl x509 -req -in server-csr.pem -signkey server-key.pem -out server-cert.pem
然后在node.js中使用它们
var https = require('https');
https.createServer({
key: fs.readFileSync('server-key.pem'),
cert: fs.readFileSync('server-cert.pem')
},
function (req,res) {
...
})
编辑:
你也可以试用一下这个项目在NPM: https://npmjs.org/package/openssl-wrapper
我发现它搜索NPM回购:https://npmjs.org/search?q=openssl
我没有尝试或自己检查它,但它看起来像使用节点,这是原始问题生成证书的方式。
var openssl = require('openssl-wrapper');
var password = 'github';
return openssl.exec('genrsa', {des3: true, passout: 'pass:' + password, '2048': false}, function(err, buffer) {
console.log(buffer.toString());
});
我想通过反馈感兴趣。 ;)
节点锻允许的。没什么可说的。不要在内部使用openssl shell命令。
这个很棒。最重要的是,它不依赖于“open-ssl” – 2016-01-06 05:30:31
我也将它用于生产代码,它的作用就像一个魅力。 – Joppe 2017-06-17 12:31:14
它可以处理CSR请求签署正确的证书吗? – ayanamist 2013-03-24 13:16:10
我的模块现在完全不推荐使用。我只是发布它,因为我不知道pem:https://www.npmjs.org/package/pem – 2014-04-27 03:05:34
pem只是产生openssl。 – andrewrk 2014-08-18 00:49:10