[New-bugs-announce] [issue29334] ssl.SSLObject method getpeercert() is buggy, do_handshake() is strange
report at bugs.python.org
Fri Jan 20 07:13:47 EST 2017
New submission from Greg Stark:
In my experiments with the relatively new class SSLObject from the ssl module I've noticed the following behavior(s) which I think can be described as bugs.
The getpeercert() method raises a ValueError exception "handshake not done" even after the handshake has successfully completed. If, however, I call the do_handshake() method *after* the handshake completes, then getpeercert() correctly runs and returns the peer's certificate. So now let's focus on do_handshake(). This method is basically undocumented, which I thought was ok because what it does should be obvious. It does seem to initiate a handshake if it's the first method call after the SSLObject is created. If called afterward, it doesn't outwardly appear to do anything, but as mentioned previously it does magically make the getpeercert() method start working.
nosy: Greg Stark, christian.heimes
title: ssl.SSLObject method getpeercert() is buggy, do_handshake() is strange
versions: Python 3.5
Python tracker <report at bugs.python.org>
More information about the New-bugs-announce