Php IMAP开放流:自签名证书颁发
我正在尝试打开不安全(端口143)的IMAP连接(我使用的是PHP): 我得到了下一个错误:Php IMAP开放流:自签名证书颁发,php,certificate,imap,self-signed,dovecot,Php,Certificate,Imap,Self Signed,Dovecot,我正在尝试打开不安全(端口143)的IMAP连接(我使用的是PHP): 我得到了下一个错误:本地主机的证书失败:自签名证书… 嗯。我已尝试使用/novalidate cert邮箱参数。然后我遇到另一个错误:无法对IMAP服务器进行身份验证 我还尝试组合所有可能的非安全连接参数,如/notls、/norsh和/secure。但我总是犯错误 这是我正在使用的Dovecot配置: *正常[功能IMAP4rev1文字+SASL-IR登录-引用ID启用空闲启动TLS AUTH=LOGIN]多佛科特就绪。
本地主机的证书失败:自签名证书…
嗯。我已尝试使用/novalidate cert
邮箱参数。然后我遇到另一个错误:无法对IMAP服务器进行身份验证
我还尝试组合所有可能的非安全连接参数,如/notls
、/norsh
和/secure
。但我总是犯错误
这是我正在使用的Dovecot配置:
*正常[功能IMAP4rev1文字+SASL-IR登录-引用ID启用空闲启动TLS AUTH=LOGIN]多佛科特就绪。
证书实际上是自签名的,并使用openssl生成
问题是:
为什么在使用非安全连接时发生证书错误
邮件服务器配置有什么问题
STARTTLS当然使用证书来启动TLS通道,因此您会看到自签名证书错误无法进行身份验证
,但是,这意味着您的用户名和密码错误。尝试使用telnet登录以验证您的用户和密码是否正确使用此代码
imap_open('{localhost:143/imap/novalidate-cert/debug}INBOX', USERNAME, PASS);
而不是这个
imap_open('{localhost:143/imap}INBOX', USERNAME, PASS);
身份验证错误将表明您的用户名和密码错误。@Max,是的,它使用的是STARTTLS,但它对证书有何影响?登录名和密码是正确的我想,我已经从Mysql数据库复制了它们,Mysql数据库是邮件和帐户的存储。StartTLS当然使用证书启动TLS通道,因此您看到了自签名证书错误无法进行身份验证
,但是,这意味着您的用户名和密码错误。请尝试使用telnet登录以验证您的用户和密码是否正确。@Max,thx。问题其实在于用户名和密码。但是错误信息真的让人困惑。谢谢!我已将我的评论升级为答案,以便您可以接受。为我使用/imap/ssl/novalidate cert
。这里的关键是使用novalidate证书
来确认没有针对已知CA验证证书的请求-谢谢提示。正如Max在回答中所说,无法验证
是另一回事。一旦我设置了novalidate证书,我就登录到了dovecot。
imap_open('{localhost:143/imap}INBOX', USERNAME, PASS);