如果出现问题,我需要我的脚本向管理员发送电子邮件,并且该公司仅使用Gmail。按照一些发布说明,我能够使用.mailrc文件设置mailx。首先是nss-config-dir的错误,我通过从firefox目录复制一些.db文件解决了该问题。到./certs并以mailrc为目标。已发送邮件。
但是,上面的错误出现了。出于某种奇迹,.db中有一个Google证书。它通过以下命令显示:
~]$ certutil -L -d certs
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
GeoTrust SSL CA ,,
VeriSign Class 3 Secure Server CA - G3 ,,
Microsoft Internet Authority ,,
VeriSign Class 3 Extended Validation SSL CA ,,
Akamai Subordinate CA 3 ,,
MSIT Machine Auth CA 2 ,,
Google Internet Authority ,,
很可能会忽略它,因为该邮件仍然有效。最后,在拉了一些头发和许多谷歌之后,我发现了如何摆脱烦恼。
首先,将现有证书导出到ASSCII文件:
~]$ certutil -L -n 'Google Internet Authority' -d certs -a > google.cert.asc
现在重新导入该文件,并将其标记为受SSL证书信任,例如:
~]$ certutil -A -t "C,," -n 'Google Internet Authority' -d certs -i google.cert.asc
此后,清单显示它受信任:
~]$ certutil -L -d certs
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
...
Google Internet Authority C,,
mailx毫不费力地发送出去。
~]$ /bin/mailx -A gmail -s "Whadda ya no" somebody@acompany.com
ho ho ho
EOT
~]$
希望对希望解决错误的人有所帮助。
另外,我对某些事情很好奇。
如果偶然不在mozilla数据库中,该如何获得该证书?例如是否有类似的东西?
~]$ certutil -A -t "C,," \
-n 'gmail.com' \
-d certs \
-i 'http://google.com/cert/this...'
openssl s_client -showcerts -connect smtp.gmail.com:465 </dev/null
查看全部。