From 6dcaaac7123cd3d703e4e2f3c06ddbe1b51ce555 Mon Sep 17 00:00:00 2001 From: Scott Kitterman Date: Wed, 24 Nov 2021 15:37:06 -0500 Subject: [PATCH] Provide more specific error message when ed25519 private key is invalid --- ChangeLog | 2 ++ dkim/__init__.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/ChangeLog b/ChangeLog index f82b6b1..fd8e9f2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,8 @@ Version 1.1 with no DKIM signatures - Update dnsplug for DNS Python (dns) 2.0 compatibility (LP: #1888583) - Fix @param srv_id typos (LP: #1890532) + - Provide more specific error message when ed25519 private key is invalid + (See LP 1901569 for background) 2019-12-31 Version 1.0.2 - dknewkey: On posix operating systems set file permissions to 600 for diff --git a/dkim/__init__.py b/dkim/__init__.py index 0713510..cc50915 100644 --- a/dkim/__init__.py +++ b/dkim/__init__.py @@ -832,6 +832,8 @@ class DKIM(DomainSigner): pk = nacl.signing.SigningKey(privkey, encoder=nacl.encoding.Base64Encoder) except NameError: raise NaClNotFoundError('pynacl module required for ed25519 signing, see README.md') + except nacl.exceptions.ValueError: + raise KeyFormatError('invalid ed25519 private key or format') if identity is not None and not identity.endswith(domain): raise ParameterError("identity must end with domain")