[Python-Dev] TLSAbruptCloseError (original) (raw)

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)

inStream.close();

if (outStream != null)

outStream.close();

if (sc != null)

sc.close();

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