猿问

使用 Ubuntu 20.4 和 Python Imaplib

自从从 18.4 更新到 Ubuntu 20.4 后,我无法再访问我的电子邮件地址之一

import imaplib
imap = imaplib.IMAP4_SSL('<my_email_server>')

中止并显示错误消息

ssl.SSLError: [SSL: DH_KEY_TOO_SMALL] dh key too small (_ssl.c:1108)

使用 Ubuntu 18.4 可以正常工作。这似乎是由较新的 OpenSSL 库引起的。

在服务器端,我对此无能为力。Python中有没有办法覆盖这个设置来接受现有的密钥?

更新:我尝试使用此处描述的 OpenSSL 设置:- https://askubuntu.com/questions/1231844/ssl-sslerror-ssl-dh-key-too-small-dh-key-too-small-ssl- c1108 - https://askubuntu.com/questions/1233186/ubuntu-20-04-how-to-set-lower-ssl-security-level没有成功。


大话西游666
浏览 193回答 1
1回答

守候你守候我

这在这个问题中得到了解决解决方案是添加context.set_ciphers('DEFAULT@SECLEVEL=1')到 ssl 上下文。并像这样登录import imaplibimport sslcontext = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)context.set_ciphers('DEFAULT@SECLEVEL=1')imap = imaplib.IMAP4_SSL('MYSERVER_REMOVED>, ssl_context=context, port=993)imap.login('<USER_REMOVED>','<PASSWORD_REMOVED>')在这个讨论中还有一个更全球化的方法
随时随地看视频慕课网APP

相关分类

Python
我要回答