From 3e578763612e5a93325b672d55e4ca219cd2a794 Mon Sep 17 00:00:00 2001 From: "A. Schulze" Date: Sun, 4 Mar 2018 13:33:32 -0500 Subject: [PATCH] - Make RSA signatures in dkimpy-milter optional, so dkimpy-milter can be added after an existing DKIM signing application to add an Ed25519 signature (Thanks to A. Schulze for the patch) --- CHANGES | 3 +++ dkimpy_milter/__init__.py | 11 ++++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CHANGES b/CHANGES index 461f266..3ac3f65 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,9 @@ creation to README - Fixed a bug where dkim fail might be reported as pass when verifying multiple signatures and a previous signature had passed + - Make RSA signatures in dkimpy-milter optional, so dkimpy-milter can be + added after an existing DKIM signing application to add an Ed25519 + signature (Thanks to A. Schulze for the patch) 0.9.3 2018-03-02 - Fixup csl dataset processing for single item lists diff --git a/dkimpy_milter/__init__.py b/dkimpy_milter/__init__.py index 479b269..28b696d 100644 --- a/dkimpy_milter/__init__.py +++ b/dkimpy_milter/__init__.py @@ -195,11 +195,12 @@ class dkimMilter(Milter.Base): canonicalize.append(canon) syslog.syslog('canonicalize: {0}'.format(canonicalize)) try: - d = dkim.DKIM(txt) - h = d.sign(milterconfig.get('Selector'), self.fdomain, privateRSA, - canonicalize=(canonicalize[0], canonicalize[1])) - name,val = h.split(': ',1) - self.addheader(name,val.strip().replace('\r\n','\n'),0) + if privateRSA: + d = dkim.DKIM(txt) + h = d.sign(milterconfig.get('Selector'), self.fdomain, privateRSA, + canonicalize=(canonicalize[0], canonicalize[1])) + name,val = h.split(': ',1) + self.addheader(name,val.strip().replace('\r\n','\n'),0) if privateEd25519: d = dkim.DKIM(txt) h = d.sign(milterconfig.get('SelectorEd25519'), self.fdomain, privateEd25519,