Wierd M2Crypto bug - phony "peer did not return certificate" error

John Nagle nagle at animats.com
Wed Jan 10 01:31:20 EST 2007


Here's a wierd problem:

I have a little test case for M2Crypto, which just opens up SSL connections to
web servers and reads their certificates.  This works fine.

But if I execute

     socket.setdefaulttimeout(5.0)

so that the sockets don't wait too long if there's no SSL server, I get
a "peer did not return certificate" exception every time.

Environment:
	Windows 2000 SP 4
	M2Crypto:	M2Crypto-0.17.win32-py2.4.exe
	Python:		Python 2.4.4 (#71, Oct 18 2006, 08:34:43)
	OpenSSL:	Win32 OpenSSL v0.9.8d

Notes:	
	Running M2Crypto does NOT use the version of OpenSSL that comes
	with Python.  You have to install OpenSSL separately, or
	M2Crypto's DLL won't find the OpenSSL DLLS.

There's a good chance that this may be related to:

[ python-Bugs-1098618 ] socket.setdefaulttimeout() breaks smtplib.starttls()

But that should have been fixed in Python 2.4.4, right?  Or did that patch
not make it in?

				John Nagle

(And no, I can't run Python 2.5, because MySQLdb support doesn't work for
2.5 yet.)
			

		



More information about the Python-list mailing list