Is the timeout the only way to handle this kind of TLS handshake error?

Sent from my iPhone

> On Aug 30, 2018, at 10:14 AM, Robert DiFalco <robert.difa...@gmail.com> wrote:
> 
> I'm having an issue properly handling TLS failure modes. For example consider 
> the EchoServer and EchoClient code. If I use a TLS client with a TCP4 server, 
> I do not get a handshake exception until I abort the connection. But I don't 
> want to abort the connection unless I get a handshake error. 
> 
> What I'd like to do is to check the handshake status in my protocol before my 
> client sends bytes to the server. I'd like my send message to be able to 
> raise the <class 'OpenSSL.SSL.Error'>: [('SSL routines', 'ssl23_read', 'ssl 
> handshake failure'). But for some reason it seems to get lost until I abort 
> the connection. Does this sound familiar to anyone?
> 
> What I've done for now is setup a Timeout mixin so that after my client.send, 
> if I do not get an ACK back (which my particular protocol does) within two 
> minutes, I just abort the connection. This then calls connectionLost with the 
> correct SSL.Error. But if it's in the error queue (and found during the 
> course of abortConnection then isn't there a way to find it sooner? Like 
> before my timeout and before I call send on the client protocol?
> 
> Thanks!

_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to