自從從 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沒有成功。
1 回答

守候你守候我
TA貢獻1802條經驗 獲得超10個贊
解決方案是添加
context.set_ciphers('DEFAULT@SECLEVEL=1')
到 ssl 上下文。并像這樣登錄
import imaplib
import ssl
context = 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>')
在這個討論中還有一個更全球化的方法
添加回答
舉報
0/150
提交
取消