Save parsed signature fields in DKIM object.
This commit is contained in:
@@ -304,6 +304,8 @@ class DKIM(object):
|
|||||||
self.should_not_sign = set(DKIM.SHOULD_NOT)
|
self.should_not_sign = set(DKIM.SHOULD_NOT)
|
||||||
#: Header fields to sign an extra time to prevent additions.
|
#: Header fields to sign an extra time to prevent additions.
|
||||||
self.frozen_sign = set(DKIM.FROZEN)
|
self.frozen_sign = set(DKIM.FROZEN)
|
||||||
|
#: Signature parameters of last sign or verify
|
||||||
|
self.signature_fields = {}
|
||||||
|
|
||||||
def add_frozen(self,s):
|
def add_frozen(self,s):
|
||||||
""" Add headers not in should_not_sign to frozen_sign.
|
""" Add headers not in should_not_sign to frozen_sign.
|
||||||
@@ -456,6 +458,7 @@ class DKIM(object):
|
|||||||
|
|
||||||
self.domain = domain
|
self.domain = domain
|
||||||
self.selector = selector
|
self.selector = selector
|
||||||
|
self.signature_fields = sig
|
||||||
return b'DKIM-Signature: ' + sig_value + b"\r\n"
|
return b'DKIM-Signature: ' + sig_value + b"\r\n"
|
||||||
|
|
||||||
#: Verify a DKIM signature.
|
#: Verify a DKIM signature.
|
||||||
@@ -540,6 +543,7 @@ class DKIM(object):
|
|||||||
self.signed_headers = hash_headers(
|
self.signed_headers = hash_headers(
|
||||||
h, canon_policy, headers, include_headers, sigheaders, sig)
|
h, canon_policy, headers, include_headers, sigheaders, sig)
|
||||||
try:
|
try:
|
||||||
|
self.signature_fields = sig
|
||||||
signature = base64.b64decode(re.sub(br"\s+", b"", sig[b'b']))
|
signature = base64.b64decode(re.sub(br"\s+", b"", sig[b'b']))
|
||||||
return RSASSA_PKCS1_v1_5_verify(
|
return RSASSA_PKCS1_v1_5_verify(
|
||||||
h, signature, pk['publicExponent'], pk['modulus'])
|
h, signature, pk['publicExponent'], pk['modulus'])
|
||||||
|
|||||||
Reference in New Issue
Block a user