Витой сервер TLS висит на соединении - PullRequest
1 голос
/ 07 июля 2011

У меня есть витой веб-сервер с аутентификацией TLS, и он зависает при подключении к нему через 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 голосов
/ 07 июля 2011

Ваш сервер запускает TLS с начала подключения.Попробуйте вместо этого smtplib.SMTP_SSL, чтобы ваш клиент ожидал этого.

...