From c859c87c730dbbe9649a95bf8aeab8cd16d41554 Mon Sep 17 00:00:00 2001 From: William Grant Date: Wed, 9 Mar 2011 20:44:12 +1100 Subject: [PATCH] Take the hash ID as an arg. --- dkim/__init__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dkim/__init__.py b/dkim/__init__.py index 0390610..cb9b61e 100644 --- a/dkim/__init__.py +++ b/dkim/__init__.py @@ -94,11 +94,11 @@ def _remove(s, t): assert i >= 0 return s[:i] + s[i+len(t):] -def EMSA_PKCS1_v1_5_encode(digest, modlen): +def EMSA_PKCS1_v1_5_encode(digest, modlen, hashid): dinfo = asn1_build( (SEQUENCE, [ (SEQUENCE, [ - (OBJECT_IDENTIFIER, HASHID_SHA256), + (OBJECT_IDENTIFIER, hashid), (NULL, None), ]), (OCTET_STRING, digest), @@ -394,7 +394,7 @@ def sign(message, selector, domain, privkey, identity=None, canonicalize=(Simple print >>debuglog, "sign digest:", " ".join("%02x" % ord(x) for x in d) modlen = len(int2str(pk['modulus'])) - encoded = EMSA_PKCS1_v1_5_encode(d, modlen) + encoded = EMSA_PKCS1_v1_5_encode(d, modlen, HASHID_SHA256) sig2 = int2str(pow(str2int(encoded), pk['privateExponent'], pk['modulus']), modlen) sig += base64.b64encode(''.join(sig2))