Author akira
Recipients akira, docs@python
Date 2013-12-10.07:29:11
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1386660552.46.0.291263983729.issue19940@psf.upfronthosting.co.za>
In-reply-to
Content
cert_time_to_seconds() uses `time.mktime()` [1] to convert utc time tuple to seconds since epoch. `mktime()` works with local time. It should use `calendar.timegm()` analog instead.

Example from the docs [2] is seven hours off (it shows utc offset of the local timezone of the person who created it):

    >>> import ssl
    >>> ssl.cert_time_to_seconds("May  9 00:00:00 2007 GMT")
    1178694000.0

It should be `1178668800`:

    >>> from datetime import datetime
    >>> datetime.utcfromtimestamp(1178668800)
    datetime.datetime(2007, 5, 9, 0, 0)
    >>> import time
    >>> time.gmtime(1178668800)
    time.struct_time(tm_year=2007, tm_mon=5, tm_mday=9, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=129, tm_isdst=0)


And `calendar.timegm` returns correct result:

    >>> calendar.timegm(time.strptime("May 9 00:00:00 2007 GMT", "%b %d %H:%M:%S %Y GMT"))
    1178668800

[1]: http://hg.python.org/cpython/file/96a68e369d13/Lib/ssl.py#l849
[2]: http://hg.python.org/cpython/file/96a68e369d13/Doc/library/ssl.rst#l359
History
Date User Action Args
2013-12-10 07:29:12akirasetrecipients: + akira, docs@python
2013-12-10 07:29:12akirasetmessageid: <1386660552.46.0.291263983729.issue19940@psf.upfronthosting.co.za>
2013-12-10 07:29:12akiralinkissue19940 messages
2013-12-10 07:29:11akiracreate