gpt4 book ai didi

email - PHP imap_open()、OpenSSL 和无密码

转载 作者:行者123 更新时间:2023-12-04 18:55:21 28 4
gpt4 key购买 nike

我已将 PHP 脚本移至另一台服务器,但现在无法登录 IMAP (TLS) 邮箱:

TLS/SSL failure for mail.servername.de: SSL negotiation failed 

似乎问题是由 OpenSSL 引起的,因为当我尝试从两台服务器连接到邮件服务器时,在一种情况下我得到了一个连接(邮件服务器要求输入),但在另一种情况下没有(连接已关闭,我我回到 bash):
 openssl s_client -crlf -connect mail.servername.de:993

最明显的区别在这里:
verify return:1
---

<snip>

-----END CERTIFICATE-----
subject=/CN=mail.servername.de
issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
---
No client certificate CA names sent
Peer signing digest: SHA512
Server Temp Key: DH, 1024 bits
---
SSL handshake has read 3398 bytes and written 483 bytes
Verification: OK
---
New, TLSv1.2, Cipher is DHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit

在其他服务器上(没有建立连接)
verify return:1
depth=0 CN = mail.servername.de
verify return:1
140410888582464:error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small:../ssl/statem/statem_clnt.c:2149:
---

<snip>

-----END CERTIFICATE-----
subject=CN = mail.servername.de

issuer=C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3

---
No client certificate CA names sent
---
SSL handshake has read 3167 bytes and written 318 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Server public key is 2048 bit

在邮件服务器上 dovecot配置为不接受非加密连接。但是,我认为它已经因为 dh key too small 而失败了。 ,这似乎与密码协商有关。

现在我根本无法将这些东西放在一起......为什么 SSL 连接可以从一台服务器工作,而不能从另一台服务器工作?

最佳答案

由于我自己拥有“远程终端”,因此我能够提高安全性。解决方案很简单,也可能与其他人相关......
dovecot版本是 2.2.x,这与 DH 参数有一定的相关性(参见 Dovecot SSL configuration)。在配置文件/etc/dovecot/conf.d/10-ssl.conf你可以简单地添加这一行:

ssl_dh_parameters_length = 2048

最后,可能需要在此处将其添加到主配置文件 /etc/dovecot/dovecot.conf在最后:
!include conf.d/*.conf

最后,重要的是不要重新加载,而是重新启动 dovecot。
systemctl restart dovecot

突然之间,几个小时的沉重、烦恼和挫败感都消失了。伟大的...

关于email - PHP imap_open()、OpenSSL 和无密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62109534/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com