Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 带有express的socket.io中的SSL:缺少PFX或证书私钥.大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想通过SSL套接socket.io.我已经阅读了其他答案,但没有任何效果

这是我的代码

var ssl_options = {
    key : fs.readFileSync(my_key_path),cert : fs.readFileSync(my_cert_path)
};

var protocol = "https";

preparedApp = require(protocol).createServer(ssl_options,app);

var io = require('socket.io')(preparedApp);

preparedApp.listen(8080,function(){});
io.on('connection',function(socket){});

这是我的ssl_options的日志…

{ key: <Buffer 41 ...>,cert: <Buffer 4a ...> }

这个错误标题中的错误抛出新错误(‘缺少PFX或证书私钥.’);.有谁知道可能会发生什么?这个答案的其他解决方案都没有解决我的问题.

解决方法

使用PEM(RSA)格式为您的私钥.检查私钥是否为base64编码,包含在“—– BEGIN RSA PRIVATE KEY —–”和“—– END RSA PRIVATE KEY —–”之间

来自文档:

> key:包含PEM格式的服务器私钥的字符串或缓冲区
> cert:包含PEM编码证书的字符串
> passphrase:私钥或pfx的密码短语[可选认值:null]

要么

> pfx:包含PFX或PKCS12编码的私钥,证书和CA证书的字符串或缓冲区

要将私钥转换为RSA PEM:openssl rsa -in< PATH TO KEY> -out key.pem -outform PEM

要创建PKCS#12软件包,请使用openssl pkcs12 -export -in cert.pem -inkey key.pem -certfile ca.pem -out host.pfx

– 附加 –

为确保证书是PEM编码,请运行openssl x509 -in< PATH TO CERT> -out cert.pem -outform PEM

大佬总结

以上是大佬教程为你收集整理的node.js – 带有express的socket.io中的SSL:缺少PFX或证书私钥.全部内容,希望文章能够帮你解决node.js – 带有express的socket.io中的SSL:缺少PFX或证书私钥.所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。