[Python-Dev] TLSAbruptCloseError

Todd Hopfinger thopfin at umich.edu
Tue Jun 5 18:55:07 CEST 2007

I am using TLS Lite and J2ME SecureConnection for the purposes of encrypting
traffic to/from a Java Midlet client and a multithreaded Python server.
However, I encounter a TLSAbruptCloseError. I have tried to determine the
cause of the exception to no avail. I understand that it has to do with
close_notify alerts. My abbreviated code follows.


// Server


def sslSockRecv(conn, num):

                data = ''

                while len(data) < num:

                                data = conn.recv(num - len(data)) #
TLSAbruptCloseError thrown here

                                if len(data) == 0:

                                                raise NotEnoughBytes ('Too
few bytes from client. Expected ' + str(num) + '; got ' + str(len(data)),
num, len(data))

                return data


sslSockRecv() throws NotEnoughBytes exception to indicate that the client
has closed the connection. The NotEnoughBytes exception handler subsequently
closes the SSL connection and then the underlying socket.


// Client


import javax.microedition.io.SecureConnection;


sc = (SecureConnection)Connector.open("ssl://host:port");

inStream = sc.openInputStream();

outStream = sc.openOutputStream();


// read/write some data using streams


if (inStream != null)


if (outStream != null)


if (sc != null) 



When using the Java phone emulator, SSLDump indicates after the application
data portions.


3 13 0.3227 (0.0479)  C>SV3.0(22)  Alert

    level           warning

    value           close_notify

3    0.3228 (0.0000)  C>S  TCP FIN

3 14 0.3233 (0.0005)  S>CV3.0(22)  Alert

    level           warning

    value           close_notify


However, the server doesn't throw a TLSAbruptCloseError when using the
emulator. Using the actual phone does cause a TLSAbruptCloseError on the
server but SSLDump reports no errors, just.


4    1.6258 (0.7012)  C>S  TCP FIN

4    1.6266 (0.0008)  S>C  TCP FIN


Any thoughts?


Todd Hopfinger

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-dev/attachments/20070605/3d14619b/attachment.htm 

More information about the Python-Dev mailing list