Eri*_*ric 5 certificate node.js nodemailer node-red
我正在尝试做一些非常基本的工作而且它对我不起作用.我有一个简单的Node-RED流,带有一个注入输入节点和一个电子邮件输出节点:
电子邮件节点的属性如下所示:
错误说:
"7月28日上午11:43:28节点:fname.lname@company.com消息:错误"错误:无法验证第一个证书"
我可以通过telnet手动通过此服务器发送未经身份验证的电子邮件.即使我输入帐户信用卡,它也会给我相同的"错误:无法验证第一个证书".
我错过了一些简单的事吗?
Tar*_*eri 11
我没有足够的声誉来撰写评论,但我在前面的回复中添加了这一行,有人可能需要它,
要在Node.js程序中绕过此错误,请键入:
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
Run Code Online (Sandbox Code Playgroud)
问题在于,您要连接的邮件服务器正在使用SSL,并且所提供的证书没有被所使用的Node.JS实现中内置的受信任CA之一签名。
我猜这是一个自签名证书。
该错误表明Node.JS无法验证所提供链中的第一个证书。
我最好的猜测是,Nodemailer(在电子邮件节点的封面下使用)在启动命令与邮件服务器的连接并尝试将连接升级为安全连接STARTTLS
时,发送EHLO
命令时会看到列出的选项。
虽然我通常不建议这样做,但是您可以在启动Node-RED之前通过导出以下环境变量来关闭Node.JS的证书检查:
NODE_TLS_REJECT_UNAUTHORIZED=0
Run Code Online (Sandbox Code Playgroud)
这将关闭所有证书检查,因此您可以接受来自Node-RED的任何TLS / SSL连接的中间攻击。
真正的解决方案是为邮件服务器获取适当的证书,可能是来自letsencrypt项目的东西,特别是如果该邮件服务器以任何方式都面向Internet。
归档时间: |
|
查看次数: |
4137 次 |
最近记录: |