尝试创建HTTPS后运行节点红色启动“错误140AB18F:SSL例程:SSL_CTX_use_certificate:ee密钥太小”

时间:2019-10-07 03:17:13

标签: ssl https raspberry-pi3 node-red

大家好,我一直在为树莓派设置对node-red的远程访问。我已经修改了settings.js并安装了node-red-admin,但是当我开始启动node-red时,出现以下错误:

openssl genrsa -out privatekey.pem 1024

这是在我成功创建privatekey.pem和certificate.pem之后发生的。要创建我使用的这些文件:

openssl req -new -key privatekey.pem -out private-csr.pem

然后使用

openssl x509 -req -days 365 -in private-csr.pem -signkey privatekey.pem -out certificate.pem

之后,我输入相关信息,然后收到验证信息“签名可以”

// The `https` setting requires the `fs` module. Uncomment the 
following
// to make it available:
var fs = require("fs");
module.exports = {
// the tcp port that the Node-RED web server is listening on
uiPort: process.env.PORT || 1880,

当上述返回ls -la下的privatekey.pem和certificate.pem文件时,我移至未注释的位置:

adminAuth: {
type: "credentials",
users: [
    {
username: "admin",
password: "$2a$08$9Miva2AQEFlXQ3S7emXlIuLkLzNzi9yzgqxGYMY5dzK4FzNQa7dCu",
permissions: "*" 
    }
]
},

还有

https: {
key: fs.readFileSync('/home/pi/.node-red/privatekey.pem'),
cert: fs.readFileSync('/home/pi/.node-red/certificate.pem')
},

带有加载的fs模块

pi@padrejuan:~ $ su
Password: 
root@padrejuan:/home/pi# npm install -g node-red-admin
/usr/local/bin/node-red-admin -> /usr/local/lib/node_modules/node-red- 
admin/node-red-admin.js

> bcrypt@3.0.6 install /usr/local/lib/node_modules/node-red- 
admin/node_modules/bcrypt
> node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using request for node-pre-gyp https download 
node-pre-gyp WARN Pre-built binaries not installable for bcrypt@3.0.6 
and node@12.11.1 (node-v72 ABI, glibc) (falling back to source compile 
with node-gyp) 
node-pre-gyp WARN Hit error EACCES: permission denied, mkdir 
'/usr/local/lib/node_modules/node-red-admin/node_modules/bcrypt/lib' 
gyp WARN EACCES user "nobody" does not have permission to access the 
dev dir "/root/.cache/node-gyp/12.11.1"
gyp WARN EACCES attempting to reinstall using temporary dev dir 
"/usr/local/lib/node_modules/node-red-admin/node_modules/bcrypt/.node- 
gyp"
gyp WARN install got an error, rolling back install
gyp WARN install got an error, rolling back install
gyp ERR! configure error

完成此配置后,我得到了开头指出的错误消息。 更新:我确实删除了.node-red / settings.js的内容,并替换为https://github.com/node-red/node-red/blob/master/packages/node_modules/node-red/settings.js 和节点红色开始!呜呼! 但是,当尝试再次重新配置settings.js文件时,它会遇到相同的错误。 仅供参考,我正在仔细取消注释行,但是问题是否可能出在我从node-red-admin收到的hash-pw中?因为当我通过“ su”作为根用户登录后尝试使用“ npm install -g node-red-admin”安装node-red-admin时,会出现以下内容:

{{1}}

以此类推。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

问题在于,最新版本的openssl现在认为具有1024位长度的密钥是不安全的。

重新生成大小为2048的私钥,然后重新创建证书。

openssl genrsa -out privatekey.pem 2048