Include timezone in metadata validUntil value and use UTC time
authorRob Crittenden <rcritten@redhat.com>
Thu, 16 Jul 2015 18:04:56 +0000 (14:04 -0400)
committerPatrick Uiterwijk <puiterwijk@redhat.com>
Fri, 17 Jul 2015 14:22:33 +0000 (16:22 +0200)
The python datetime module doesn't append the timezone in its
isoformat() output, so add a Z indicating that the time is
UTC time. Also generate the output using utcnow() rather than
now() so the times line up.

https://fedorahosted.org/ipsilon/ticket/137

Signed-off-by: Rob Crittenden <rcritten@redhat.com>
Reviewed-by: Patrick Uiterwijk <puiterwijk@redhat.com>
ipsilon/tools/saml2metadata.py

index 98e7c67..d360ccd 100755 (executable)
@@ -97,11 +97,11 @@ class Metadata(object):
         elif isinstance(exp, datetime.datetime):
             d = exp
         elif isinstance(exp, datetime.timedelta):
-            d = datetime.datetime.now() + exp
+            d = datetime.datetime.utcnow() + exp
         else:
             raise TypeError('Invalid expiration date type')
 
-        self.root.set('validUntil', d.isoformat())
+        self.root.set('validUntil', d.isoformat() + 'Z')
 
     def add_cert(self, certdata, use):
         desc = mdElement(self.role, 'KeyDescriptor')