Before this patch, signatures like:
... signature
summary:
CRL missing: False
CRL too old: False
bad policy: False
green: True
key expired: False
key missing: False
key revoked: False
red: False
signature expired: False
system error: False
valid: True
...
would raise the exception. Now they won't.
fingerprints=fingerprints, decrypted=decrypted)
signature = matches[0]
if not verified:
- if signature.get_summary() != 0:
+ problems = [k for k,v in signature.summary.items() if v]
+ for good in ['green', 'valid']:
+ if good in problems:
+ problems.remove(good)
+ if problems:
raise UnverifiedSignatureMessage(
message=message, signature=signature, decrypted=decrypted)
# otherwise, we may have an untrusted key. We'll count that