nodejs可以生成SSL证书吗?

我正在编写一个代理支持HTTPS-HTTPS代理。 在我使用Python作为主要的编程语言之前,我现在对node.js感兴趣,所以我准备迁移。

我面临的最大的问题是,我不知道如何在node.js中生成CA和其他服务器证书。 在Python中,有pyOpenSSL这是真棒。 直到现在,我在node.js中找不到类似的东西。

也许我应该使用openssl-fork方法? 但是如何处理openssl中的交互操作。

谢谢。

如果有人想从node.js编程创buildCSR,我创build了一个使用openssl创build私钥和CSR 的nodejs模块 。

编辑:使用pem来代替。 它更完整,可能更可靠。

Edit2:实际上,pem也是openssh的简单包装。 对于一个纯粹的js实现,看看伪造

使用shell来certificate:

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

我发现它searchNPM回购: 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命令。

https://github.com/digitalbazaar/forge#x509