为什么我得到错误,而连接到谷歌使用php imap_open没有novalidate-cert标志


Why I get error while connecting to google using php imap_open without novalidate-cert flag

我试图使用主机imap.gmail.com和端口993连接到谷歌,但当我不将novalidate-cert标志添加到imap_open功能时,我得到错误为"imap.gmail.com证书失败:证书链中的自签名证书"。我很好奇为什么我得到这个错误。为什么证书验证失败

因为Google真的使用自签名证书来省钱。或者有人在对你进行中间人攻击。

问你的系统管理员他是否正在做任何花哨的SSL数据包检查的东西…

这可能是因为您没有为验证配置任何可信的ca,或者没有配置正确的ca。PHP没有很好的默认设置,参见PHP和SSL CA验证-独立于操作系统