使用 CA 证书的 Node-RED 通信
Node-RED communication using CA certificate
我正在尝试使用 CA 证书部署我的 node-RED 环境。
我通过执行以下命令使用 .p12 文件创建了 pem 文件
– openssl pkcs12 -in test.p12 -passin pass:Password -out keyfile.pem -nodes
– openssl pkcs12 -in test.p12 -passin pass:Password -out crtfile.pem -nodes
然后我取消注释节点 redsettings.js 文件中的 https 代码
https: {
key: require("fs").readFileSync('keyfile.pem'),
cert: require("fs").readFileSync('crtfile.pem')
}
我使用了默认的 http 节点并对 tls 配置进行了以下配置
当我部署节点时出现以下错误
"Error: unable to verify the first certificate"
我在这里错过了什么?
删除您对 settings.js
所做的更改。该部分仅适用于您希望 Node-RED 通过 TLS 为编辑器提供服务的情况。
接下来你导出用户私钥和证书的 openssl 命令应该更像
openssl pkcs12 -in test.p12 -out keyfile.pem -passin pass:Password -nocerts
openssl pkcs12 -in test.p12 -out crtfile.crt -passin pass:Password -nokeys -clcert
您还应该使用
导出包含 CA 链
openssl pkcs12 -in test.p12 -out ca.crt -passin pass:Password -cacerts -nokeys
然后您需要将 ca.crt
文件添加到 HTTP 节点的 TLS 配置中。
我正在尝试使用 CA 证书部署我的 node-RED 环境。 我通过执行以下命令使用 .p12 文件创建了 pem 文件
– openssl pkcs12 -in test.p12 -passin pass:Password -out keyfile.pem -nodes
– openssl pkcs12 -in test.p12 -passin pass:Password -out crtfile.pem -nodes
然后我取消注释节点 redsettings.js 文件中的 https 代码
https: {
key: require("fs").readFileSync('keyfile.pem'),
cert: require("fs").readFileSync('crtfile.pem')
}
我使用了默认的 http 节点并对 tls 配置进行了以下配置
当我部署节点时出现以下错误
"Error: unable to verify the first certificate"
我在这里错过了什么?
删除您对 settings.js
所做的更改。该部分仅适用于您希望 Node-RED 通过 TLS 为编辑器提供服务的情况。
接下来你导出用户私钥和证书的 openssl 命令应该更像
openssl pkcs12 -in test.p12 -out keyfile.pem -passin pass:Password -nocerts
openssl pkcs12 -in test.p12 -out crtfile.crt -passin pass:Password -nokeys -clcert
您还应该使用
导出包含 CA 链openssl pkcs12 -in test.p12 -out ca.crt -passin pass:Password -cacerts -nokeys
然后您需要将 ca.crt
文件添加到 HTTP 节点的 TLS 配置中。