From 0a38e72e1b2832204fca80401ccc85055a32944e Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Wed, 23 Mar 2016 10:44:43 +0100 Subject: [PATCH] use dateutil to parse timestamps --- debian/control | 2 +- rfc3161/api.py | 4 ++-- setup.py | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/debian/control b/debian/control index d340ca8..a1f5c93 100644 --- a/debian/control +++ b/debian/control @@ -7,7 +7,7 @@ Standards-Version: 3.9.1 Package: python-rfc3161 Architecture: all -Depends: ${misc:Depends}, ${python:Depends}, python-pyasn1, python-pyasn1-modules, python-m2crypto +Depends: ${misc:Depends}, ${python:Depends}, python-pyasn1, python-pyasn1-modules, python-m2crypto, python-dateutil Description: Python implementation of the RFC3161 specification A simple client library for cryptographic timestamping service implementing the protocol from RFC3161. diff --git a/rfc3161/api.py b/rfc3161/api.py index 8291208..5116d22 100644 --- a/rfc3161/api.py +++ b/rfc3161/api.py @@ -1,8 +1,8 @@ -import datetime import hashlib import requests import base64 +import dateutil.parser from pyasn1.codec.der import encoder, decoder from pyasn1_modules import rfc2459 from pyasn1.type import univ @@ -48,7 +48,7 @@ def get_timestamp(tst): if substrate: raise ValueError("extra data after tst") genTime = tstinfo.getComponentByName('genTime') - return datetime.datetime.strptime(str(genTime), '%Y%m%d%H%M%SZ') + return dateutil.parser.parse(str(genTime)) except PyAsn1Error, e: raise ValueError('not a valid TimeStampToken', e) diff --git a/setup.py b/setup.py index 6f34c27..8b61af8 100755 --- a/setup.py +++ b/setup.py @@ -12,6 +12,7 @@ setup(name='rfc3161', packages=['rfc3161'], install_requires=[ 'pyasn1', + 'python-dateutil', 'pyasn1_modules', 'requests', 'M2Crypto'])