pvl/login/pubtkt.py
changeset 371 8c17eb11858f
parent 370 184917c7d4d4
equal deleted inserted replaced
370:184917c7d4d4 371:8c17eb11858f
    40 
    40 
    41     def __init__ (self, pubtkt, error) :
    41     def __init__ (self, pubtkt, error) :
    42         self.pubtkt = pubtkt
    42         self.pubtkt = pubtkt
    43         self.error = error
    43         self.error = error
    44 
    44 
    45 class ExpiredError (VerifyError) :
    45 class ExpiredError (Error) :
    46     """
    46     """
    47         Login token has expired
    47         Login token has expired
    48     """
    48     """
    49 
    49 
    50     def __init__ (self, pubtkt, expire) :
    50     def __init__ (self, pubtkt, expire) :
    94             if not public_key.verify(hash, sig, 'sha1') :
    94             if not public_key.verify(hash, sig, 'sha1') :
    95                 raise VerifyError(pubtkt, "Unable to verify signature")
    95                 raise VerifyError(pubtkt, "Unable to verify signature")
    96         except M2Crypto.RSA.RSAError as ex :
    96         except M2Crypto.RSA.RSAError as ex :
    97             raise VerifyError(pubtkt, str(ex))
    97             raise VerifyError(pubtkt, str(ex))
    98         
    98         
    99         now = cls.now()
    99 
   100 
   100         log.debug("checking expiry %s", pubtkt.validuntil)
   101         log.debug("validating %s < %s", pubtkt.validuntil, now)
   101         
   102 
   102         if not pubtkt.valid() :
   103         if pubtkt.validuntil < now :
       
   104             raise ExpiredError(pubtkt, pubtkt.validuntil)
   103             raise ExpiredError(pubtkt, pubtkt.validuntil)
   105 
   104 
   106         return pubtkt
   105         return pubtkt
   107 
   106 
   108     @classmethod
   107     @classmethod