remainder = 0
msg = 0
def __init__ (self, n=None, msg=None):
- self.remainder = n
- self.msg = msg
+ if n is not None:
+ self.remainder = n
+ self.msg = msg
class InvalidParameter (Exception):
% type (tag))
data = self.enc.finalize_with_tag (self.tag)
except cryptography.exceptions.InvalidTag:
- return InvalidGCMTag ("done: tag mismatch of object %d: %r "
+ raise InvalidGCMTag ("done: tag mismatch of object %d: %r "
"rejected by finalize ()"
% (self.cnt, self.tag))
self.ctsize += len (data)
if ctleft == 0: # current object requires finalization
if PDTCRYPT_VERBOSE is True:
noise ("PDT: %d finalize" % tell (ins))
- ret, pt = decr.done ()
- if ret is False:
- raise DecryptionError ("error finalizing object (%s)"
- % pt)
+ try:
+ pt = decr.done ()
+ except InvalidGCMTag as exn:
+ raise DecryptionError ("error finalizing object (%s): %r"
+ % (pt, exn))
out (pt)
if PDTCRYPT_VERBOSE is True:
noise ("PDT:\t· object validated")