Twisted服务器TLS连接时挂起

1 投票
1 回答
588 浏览
提问于 2025-04-16 20:58

我有一个使用TLS认证的扭曲(Twisted)网络服务器,当我通过SMTP连接时,它似乎会卡住。下面是启动服务器的扭曲代码:

(注意:certificateData是我们的私钥和公钥拼接在一起的,这似乎是让自签名证书正常工作的唯一方法)

customFactory = CustomSMTPFactory(portal)
certificate = PrivateCertificate.loadPEM(certificateData)
contextFactory = certificate.options(certificate)
tlsFactory = TLSMemoryBIOFactory(contextFactory, False, customFactory)

a = service.Application("Custom Server")
internet.TCPServer(5870, tlsFactory).setServiceParent(a)

在客户端,这行代码一直在等待读取数据,结果就卡住了:

smtplib.SMTP('localhost',5870)

有没有什么想法?我该如何在扭曲网络服务器上设置TLS认证?

1 个回答

3

你的服务器在连接一开始就启动了TLS加密。可以试试smtplib.SMTP_SSL,这样你的客户端就会做好准备来处理这个加密。

撰写回答