New submission from akira: 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 ---------- assignee: docs@python components: Documentation, Library (Lib) messages: 205774 nosy: akira, docs@python priority: normal severity: normal status: open title: ssl.cert_time_to_seconds() returns wrong results if local timezone is not UTC type: behavior versions: Python 2.6, Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python 3.4, Python 3.5 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue19940> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com