unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#58301: Small epg fix and a test suite cleanup
@ 2022-10-05 10:52 Justus Winter
  2022-10-06 12:55 ` Lars Ingebrigtsen
  0 siblings, 1 reply; 2+ messages in thread
From: Justus Winter @ 2022-10-05 10:52 UTC (permalink / raw)
  To: 58301


[-- Attachment #1.1: Type: text/plain, Size: 476 bytes --]

Moin,

this is a patch series that improves and simplifies how epg verifies
signatures, and replaces aging OpenPGP artifacts in the test suite.

This replaces the old OpenPGPv4 keys that are used in the test suite
with more modern OpenPGPv4 keys.  All cryptographic artifacts in the
test suite are updated accordingly.

Having old cryptographic artifacts in the test suite presents a
problem once the old algorithms are rejected by contemporary
implementations.

Best,
Justus

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-Fix-epg-s-reliance-on-an-implicit-GnuPG-command.patch --]
[-- Type: text/x-diff, Size: 1402 bytes --]

From 222a017656fb7caad64210b3f88ea36e7881ea8c Mon Sep 17 00:00:00 2001
From: Justus Winter <justus@sequoia-pgp.org>
Date: Fri, 16 Sep 2022 12:23:39 +0200
Subject: [PATCH 1/4] Fix epg's reliance on an implicit GnuPG command.

Previously, epg invoked GnuPG without an explicit command to verify
signatures.  Make that operation explicit.  Happily, this aligns how
gpg and gpgsm is invoked, so it actually makes the code simpler.
---
 lisp/epg.el | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/lisp/epg.el b/lisp/epg.el
index c3c26badbb..ceeb269b07 100644
--- a/lisp/epg.el
+++ b/lisp/epg.el
@@ -1519,12 +1519,8 @@ epg-start-verify
 	    (process-send-eof (epg-context-process context))))
     ;; Normal (or cleartext) signature.
     (if (epg-data-file signature)
-	(epg--start context (if (eq (epg-context-protocol context) 'CMS)
-				(list "--verify" "--" (epg-data-file signature))
-			      (list "--" (epg-data-file signature))))
-      (epg--start context (if (eq (epg-context-protocol context) 'CMS)
-			      '("--verify" "-")
-			    '("-")))
+	(epg--start context (list "--verify" "--" (epg-data-file signature)))
+	(epg--start context '("--verify" "-"))
       (if (eq (process-status (epg-context-process context)) 'run)
 	  (process-send-string (epg-context-process context)
 			       (epg-data-string signature)))
-- 
2.30.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.3: 0002-Replace-aging-OpenPGP-artifacts-in-the-epg-tests.patch --]
[-- Type: text/x-diff, Size: 8592 bytes --]

From 9a0c905d1565f0db5da96808fbaffe0cdfd2d080 Mon Sep 17 00:00:00 2001
From: Justus Winter <justus@sequoia-pgp.org>
Date: Fri, 16 Sep 2022 12:24:14 +0200
Subject: [PATCH 2/4] Replace aging OpenPGP artifacts in the epg tests.

This replaces the old OpenPGPv4 key that is used in the test suite
with a more modern OpenPGPv4 key.  The key is the Alice key from
https://datatracker.ietf.org/doc/draft-bre-openpgp-samples/.  All
cryptographic artifacts in the test suite are updated accordingly.

Having old cryptographic artifacts in the test suite presents a
problem once the old algorithms are rejected by contemporary
implementations.
---
 test/lisp/epg-resources/pubkey.asc | 28 ++++++++-----------
 test/lisp/epg-resources/seckey.asc | 43 +++++++++---------------------
 test/lisp/epg-tests.el             | 19 +++++++------
 3 files changed, 33 insertions(+), 57 deletions(-)

diff --git a/test/lisp/epg-resources/pubkey.asc b/test/lisp/epg-resources/pubkey.asc
index c0bf28f620..241051067f 100644
--- a/test/lisp/epg-resources/pubkey.asc
+++ b/test/lisp/epg-resources/pubkey.asc
@@ -1,20 +1,14 @@
 -----BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1
+Comment: Alice's OpenPGP certificate
 
-mI0EVRDxCAEEALcScrRmxq5N+Hh+NxPg75RJJdtEi824pwtqMlT/3wG1esmP5gNu
-ZIPVaTTSGNZkEzeYdhaLXBUe5qD+RQIQVh+MLt9nisF9nD35imyOrhHwAHnglOPx
-GdylH8nQ/tIO5p/lfUlw+iCBlPH7eZHqFJhwP0hJML4PKE8ArWG6RtsxABEBAAG0
-J0pvZSBUZXN0ZXIgKHRlc3Qga2V5KSA8am9lQGV4YW1wbGUuY29tPoi4BBMBAgAi
-BQJVEPEIAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAoscCWMvu4GGYO
-A/0Zzoc2z/dvAtFVLh4ovKqP2qliQt2qschJHVP30hJnKT7dmJfJl7kz9mXmMfSt
-Ym0luYmeSzdeWORM9SygLRYXuDfN6G4ZPJTlsRhgnARhNzNhSx+YlcFh48Z+a5zR
-goBMn7DgYVqfU4UteZOSXMlnuA2Z5ao1qgGhVqESSJgU5riNBFUQ8QgBBADacLkK
-D0U11nmlsScxPGkrDr0aJPrG8MEaDRnKjHJKNp3XTp1psGBUpWF/ErjQAIu+psFt
-LO8owCGsg/vJM7CzTv2dVBRbrZXjIKvdq7HdivosTMaHArQBpEtSO9rmgVHO+jaQ
-q/M2oGvNEB86zo3nfTWhOgBiB32m8kttWRiuWQARAQABiJ8EGAECAAkFAlUQ8QgC
-GwwACgkQKLHAljL7uBj44AQAkMJRm7VJUryrDKFtfIfytQx/vmyU/cZcVV6IpKqP
-KhztgR+QD9czlHvQhz+y3hqtLRShu2Eyf75dNexcUvKs/lS4LIDXg5V7pWSRk9eQ
-G403muqR/NGu6+QmUx09rJl72trdaGxNkyHA7Zy7ZDGkcMvQsd3qoSNGsPR5TKes
-w7Q=
-=NMxb
+mDMEXEcE6RYJKwYBBAHaRw8BAQdArjWwk3FAqyiFbFBKT4TzXcVBqPTB3gmzlC/U
+b7O1u120JkFsaWNlIExvdmVsYWNlIDxhbGljZUBvcGVucGdwLmV4YW1wbGU+iJAE
+ExYIADgCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQTrhbtfozp14V6UTmPy
+MVUMT0fjjgUCXaWfOgAKCRDyMVUMT0fjjukrAPoDnHBSogOmsHOsd9qGsiZpgRnO
+dypvbm+QtXZqth9rvwD9HcDC0tC+PHAsO7OTh1S1TC9RiJsvawAfCPaQZoed8gK4
+OARcRwTpEgorBgEEAZdVAQUBAQdAQv8GIa2rSTzgqbXCpDDYMiKRVitCsy203x3s
+E9+eviIDAQgHiHgEGBYIACAWIQTrhbtfozp14V6UTmPyMVUMT0fjjgUCXEcE6QIb
+DAAKCRDyMVUMT0fjjlnQAQDFHUs6TIcxrNTtEZFjUFm1M0PJ1Dng/cDW4xN80fsn
+0QEA22Kr7VkCjeAEC08VSTeV+QFsmz55/lntWkwYWhmvOgE=
+=iIGO
 -----END PGP PUBLIC KEY BLOCK-----
diff --git a/test/lisp/epg-resources/seckey.asc b/test/lisp/epg-resources/seckey.asc
index 4ac7ba4a50..af11bec899 100644
--- a/test/lisp/epg-resources/seckey.asc
+++ b/test/lisp/epg-resources/seckey.asc
@@ -1,33 +1,16 @@
 -----BEGIN PGP PRIVATE KEY BLOCK-----
-Version: GnuPG v1
+Comment: Alice's OpenPGP Transferable Secret Key
 
-lQHYBFUQ8QgBBAC3EnK0ZsauTfh4fjcT4O+USSXbRIvNuKcLajJU/98BtXrJj+YD
-bmSD1Wk00hjWZBM3mHYWi1wVHuag/kUCEFYfjC7fZ4rBfZw9+Ypsjq4R8AB54JTj
-8RncpR/J0P7SDuaf5X1JcPoggZTx+3mR6hSYcD9ISTC+DyhPAK1hukbbMQARAQAB
-AAP9Hs9agZTobA5QOksXjt9kwqJ63gePtbwVVNz3AoobaGi39PMkRUCPZwaEEbEo
-H/CwsUMV4J5sjVtpef/A8mN4csai7NYp82mbo+dPim4p+SUtBg4Ms8ujGVcQeRQd
-1CXtIkixDu6fw4wDtNw03ZyNJOhBOXVTgAyOTSlIz3D+6n8CAMeCqEFBHQIVoQpf
-Bza4YvFtJRdfGMTix3u7Cb6y9CHGBok7uUgQAeWnzQvMGTCHc3e8iHGAYBQ88GPF
-v1TpiusCAOroRe69Aiid5JMVTjWoJ0SHKd47nIj0gQFiDfa5de0BNq9gYj7JLg+R
-EjsJbJN39z+Z9HWjIOCUOIXDvucmM1MB/iNxW1Z8mEMflEYK5rop+PDxwqUbr8uZ
-kzogw98ZdmuEuN0bheGWUiJI+0Pd8jb40zlR1KgOEMx1mZchToAJdtybMLQnSm9l
-IFRlc3RlciAodGVzdCBrZXkpIDxqb2VAZXhhbXBsZS5jb20+iLgEEwECACIFAlUQ
-8QgCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJECixwJYy+7gYZg4D/RnO
-hzbP928C0VUuHii8qo/aqWJC3aqxyEkdU/fSEmcpPt2Yl8mXuTP2ZeYx9K1ibSW5
-iZ5LN15Y5Ez1LKAtFhe4N83obhk8lOWxGGCcBGE3M2FLH5iVwWHjxn5rnNGCgEyf
-sOBhWp9ThS15k5JcyWe4DZnlqjWqAaFWoRJImBTmnQHYBFUQ8QgBBADacLkKD0U1
-1nmlsScxPGkrDr0aJPrG8MEaDRnKjHJKNp3XTp1psGBUpWF/ErjQAIu+psFtLO8o
-wCGsg/vJM7CzTv2dVBRbrZXjIKvdq7HdivosTMaHArQBpEtSO9rmgVHO+jaQq/M2
-oGvNEB86zo3nfTWhOgBiB32m8kttWRiuWQARAQABAAP7B8uNtb/DLvGoRfL+mA0Q
-REhgOJ1WpRcU6rvKYNPh8xTkKMvM+EK0nVU/znBedEpXjb0pY1WRT0uvXs2pzY2V
-YeaugyKIkdUpPWnyWoEQwI8hFvHOWmU2rNHyXLW0MY7bxcGgqv2XbkL4m7/D6VQS
-SR8hQ2CxBbW+9ov6aBMwv/UCAOW89+5xxuzkv48AVraWlMnaU0ggVOf6ht0Qa40+
-+uw2yziNlD403gAAAycoICiB/oqwslx61B2xOHn0laCKrgsCAPNpIsHRlAwWbAsq
-uCtfIQxg+C3mPXkqsNTMjeK5NjLNytrmO49NXco36zVEG6q7qz5Zj9d9IPYoGOSa
-I+dQZ6sB/RKF5aonR5/e7IHJgc8BG7I0yiya4llE0AB9ghnRI/3uHwnCBnmo/32a
-n4+rQkx6vm+rg3JA/09Gi7W4R9SwV+ane4ifBBgBAgAJBQJVEPEIAhsMAAoJECix
-wJYy+7gY+OAEAJDCUZu1SVK8qwyhbXyH8rUMf75slP3GXFVeiKSqjyoc7YEfkA/X
-M5R70Ic/st4arS0UobthMn++XTXsXFLyrP5UuCyA14OVe6VkkZPXkBuNN5rqkfzR
-ruvkJlMdPayZe9ra3WhsTZMhwO2cu2QxpHDL0LHd6qEjRrD0eUynrMO0
-=iCIm
+lFgEXEcE6RYJKwYBBAHaRw8BAQdArjWwk3FAqyiFbFBKT4TzXcVBqPTB3gmzlC/U
+b7O1u10AAP9XBeW6lzGOLx7zHH9AsUDUTb2pggYGMzd0P3ulJ2AfvQ4RtCZBbGlj
+ZSBMb3ZlbGFjZSA8YWxpY2VAb3BlbnBncC5leGFtcGxlPoiQBBMWCAA4AhsDBQsJ
+CAcCBhUKCQgLAgQWAgMBAh4BAheAFiEE64W7X6M6deFelE5j8jFVDE9H444FAl2l
+nzoACgkQ8jFVDE9H447pKwD6A5xwUqIDprBzrHfahrImaYEZzncqb25vkLV2arYf
+a78A/R3AwtLQvjxwLDuzk4dUtUwvUYibL2sAHwj2kGaHnfICnF0EXEcE6RIKKwYB
+BAGXVQEFAQEHQEL/BiGtq0k84Km1wqQw2DIikVYrQrMttN8d7BPfnr4iAwEIBwAA
+/3/xFPG6U17rhTuq+07gmEvaFYKfxRB6sgAYiW6TMTpQEK6IeAQYFggAIBYhBOuF
+u1+jOnXhXpROY/IxVQxPR+OOBQJcRwTpAhsMAAoJEPIxVQxPR+OOWdABAMUdSzpM
+hzGs1O0RkWNQWbUzQ8nUOeD9wNbjE3zR+yfRAQDbYqvtWQKN4AQLTxVJN5X5AWyb
+Pnn+We1aTBhaGa86AQ==
+=n8OM
 -----END PGP PRIVATE KEY BLOCK-----
diff --git a/test/lisp/epg-tests.el b/test/lisp/epg-tests.el
index 65aaafd9f1..dca6f33764 100644
--- a/test/lisp/epg-tests.el
+++ b/test/lisp/epg-tests.el
@@ -101,16 +101,15 @@ with-epg-tests
 (ert-deftest epg-decrypt-1 ()
   :expected-result (if (getenv "EMACS_HYDRA_CI") :failed :passed) ; fixme
   (with-epg-tests (:require-passphrase t)
-    (with-temp-file (expand-file-name "gpg.conf" epg-tests-home-directory)
-      (insert "ignore-mdc-error"))
     (should (equal "test"
 		   (epg-decrypt-string epg-tests-context "\
 -----BEGIN PGP MESSAGE-----
-Version: GnuPG v2
 
-jA0EAwMCE19JBLTvvmhgyRrGGglRbnKkK9PJG8fDwO5ccjysrR7IcdNcnA==
-=U8z7
------END PGP MESSAGE-----")))))
+jA0ECQMCdW8+qtS9Tin/0jUBO1/9Oz69BWPmtFKEeBM62WpFP4o1+bNzdxogdyeg
++WTt292OD0yV85m5UqvLgp4ttVUmAw==
+=K5Eh
+-----END PGP MESSAGE-----
+")))))
 
 (ert-deftest epg-roundtrip-1 ()
  :expected-result (if (getenv "EMACS_HYDRA_CI") :failed :passed) ; fixme
@@ -123,7 +122,7 @@ epg-roundtrip-2
   (with-epg-tests (:require-passphrase t
 		   :require-public-key t
 		   :require-secret-key t)
-    (let* ((recipients (epg-list-keys epg-tests-context "joe@example.com"))
+    (let* ((recipients (epg-list-keys epg-tests-context "alice@openpgp.example"))
 	   (cipher (epg-encrypt-string epg-tests-context "public key"
 				       recipients nil t)))
       (should (equal "public key"
@@ -135,7 +134,7 @@ epg-sign-verify-1
 		   :require-secret-key t)
     (let (signature verify-result)
       (setf (epg-context-signers epg-tests-context)
-	    (epg-list-keys epg-tests-context "joe@example.com"))
+	    (epg-list-keys epg-tests-context "alice@openpgp.example"))
       (setq signature (epg-sign-string epg-tests-context "signed" t))
       (epg-verify-string epg-tests-context signature "signed")
       (setq verify-result (epg-context-result-for context 'verify))
@@ -148,7 +147,7 @@ epg-sign-verify-2
 		   :require-secret-key t)
     (let (signature verify-result)
       (setf (epg-context-signers epg-tests-context)
-	    (epg-list-keys epg-tests-context "joe@example.com"))
+	    (epg-list-keys epg-tests-context "alice@openpgp.example"))
       (setq signature (epg-sign-string epg-tests-context "clearsigned" 'clear))
       ;; Clearsign signature always ends with a new line.
       (should (equal "clearsigned\n"
@@ -163,7 +162,7 @@ epg-sign-verify-3
 		   :require-secret-key t)
     (let (signature verify-result)
       (setf (epg-context-signers epg-tests-context)
-	    (epg-list-keys epg-tests-context "joe@example.com"))
+	    (epg-list-keys epg-tests-context "alice@openpgp.example"))
       (setq signature (epg-sign-string epg-tests-context "normal signed"))
       (should (equal "normal signed"
 		     (epg-verify-string epg-tests-context signature)))
-- 
2.30.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.4: 0003-Replace-aging-OpenPGP-artifacts-in-the-package-resou.patch --]
[-- Type: text/x-diff, Size: 6878 bytes --]

From e7a8795a265419bcedbea63cd4771c82bb3b210f Mon Sep 17 00:00:00 2001
From: Justus Winter <justus@sequoia-pgp.org>
Date: Fri, 16 Sep 2022 12:24:26 +0200
Subject: [PATCH 3/4] Replace aging OpenPGP artifacts in the package-resources
 tests.

This replaces the old OpenPGPv4 key that is used in the test suite
with a more modern OpenPGPv4 key.  The key is the Alice key from
https://datatracker.ietf.org/doc/draft-bre-openpgp-samples/.  All
cryptographic artifacts in the test suite are updated accordingly.

Having old cryptographic artifacts in the test suite presents a
problem once the old algorithms are rejected by contemporary
implementations.
---
 .../lisp/emacs-lisp/package-resources/key.pub |  25 +++++++---------
 .../lisp/emacs-lisp/package-resources/key.sec |  27 +++++++++---------
 .../signed/archive-contents.sig               | Bin 95 -> 119 bytes
 .../signed/signed-good-1.0.el.sig             | Bin 95 -> 119 bytes
 .../signed/update-signatures.sh               |   7 +++--
 5 files changed, 28 insertions(+), 31 deletions(-)

diff --git a/test/lisp/emacs-lisp/package-resources/key.pub b/test/lisp/emacs-lisp/package-resources/key.pub
index 99965723ba..241051067f 100644
--- a/test/lisp/emacs-lisp/package-resources/key.pub
+++ b/test/lisp/emacs-lisp/package-resources/key.pub
@@ -1,17 +1,14 @@
 -----BEGIN PGP PUBLIC KEY BLOCK-----
+Comment: Alice's OpenPGP certificate
 
-mQGiBGFQyDcRBACmAI6cfY3fM02vb9JtC1BS19boKXbBsDoVrD9qRf8tDFROOpO3
-ZMlbuz+O9Vnljo6Y4WZGnyeWWAMqCditMOfr1cLbux77wSrmAVgZ9exwtGzkmUhM
-xcptzKuyod8NuhghXbJgVbfJZ6HlBkk4kiWv98iJQwUBZJfjBUfIv+acjwCg4M2i
-Ifu2A3UYl9VqF7qfcDOZudEEAI7V35yfsBDnr9ndKqdGYNw0alX9BEG3KwnAe0fF
-O1jDVW12Y/bwnyyrRTrz6o1G8dj7M4XVZQb5PpT9mpNzOSZ6yxqhg+foeJwn2JkD
-vyP+kMYU7SZ/tWuMOCdzN95Ki1rf+ti7pLnSMqKx+t3vOWwQbtnsbI6RCLLwETPA
-esghA/0X3Dw7cdiE5Xq4TRaPSGViCWP4ekL2KYKqmKv6M/4f2pgFNJY7C+2SIiiP
-T62zFlIjs5tF2Df34/M5mh4Vx6E8341r55+XO++kfFWJ5QjLiydRAY6ochG9IFgB
-xyBCkCNpiby9PpKyPodedBScdMxIAe4eJR7rG/j9gFC1MypBurQnSm9obm55IFJv
-Y2tldHMgPGpvaG5ueS5yb2NrZXRzQGdmeS5vcmc+iHgEExECADgWIQRIVz1DPzm4
-REDIXNtltQG5ACv6lwUCYVDINwIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAK
-CRBltQG5ACv6l4iZAKCqldroRYH7vUzVV0Uv1NcDVcpLngCgmEoLVxGLKSwDEXNq
-qjRDzDRpReg=
-=/l51
+mDMEXEcE6RYJKwYBBAHaRw8BAQdArjWwk3FAqyiFbFBKT4TzXcVBqPTB3gmzlC/U
+b7O1u120JkFsaWNlIExvdmVsYWNlIDxhbGljZUBvcGVucGdwLmV4YW1wbGU+iJAE
+ExYIADgCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQTrhbtfozp14V6UTmPy
+MVUMT0fjjgUCXaWfOgAKCRDyMVUMT0fjjukrAPoDnHBSogOmsHOsd9qGsiZpgRnO
+dypvbm+QtXZqth9rvwD9HcDC0tC+PHAsO7OTh1S1TC9RiJsvawAfCPaQZoed8gK4
+OARcRwTpEgorBgEEAZdVAQUBAQdAQv8GIa2rSTzgqbXCpDDYMiKRVitCsy203x3s
+E9+eviIDAQgHiHgEGBYIACAWIQTrhbtfozp14V6UTmPyMVUMT0fjjgUCXEcE6QIb
+DAAKCRDyMVUMT0fjjlnQAQDFHUs6TIcxrNTtEZFjUFm1M0PJ1Dng/cDW4xN80fsn
+0QEA22Kr7VkCjeAEC08VSTeV+QFsmz55/lntWkwYWhmvOgE=
+=iIGO
 -----END PGP PUBLIC KEY BLOCK-----
diff --git a/test/lisp/emacs-lisp/package-resources/key.sec b/test/lisp/emacs-lisp/package-resources/key.sec
index 5bbac1226a..af11bec899 100644
--- a/test/lisp/emacs-lisp/package-resources/key.sec
+++ b/test/lisp/emacs-lisp/package-resources/key.sec
@@ -1,17 +1,16 @@
 -----BEGIN PGP PRIVATE KEY BLOCK-----
+Comment: Alice's OpenPGP Transferable Secret Key
 
-lQG7BGFQyDcRBACmAI6cfY3fM02vb9JtC1BS19boKXbBsDoVrD9qRf8tDFROOpO3
-ZMlbuz+O9Vnljo6Y4WZGnyeWWAMqCditMOfr1cLbux77wSrmAVgZ9exwtGzkmUhM
-xcptzKuyod8NuhghXbJgVbfJZ6HlBkk4kiWv98iJQwUBZJfjBUfIv+acjwCg4M2i
-Ifu2A3UYl9VqF7qfcDOZudEEAI7V35yfsBDnr9ndKqdGYNw0alX9BEG3KwnAe0fF
-O1jDVW12Y/bwnyyrRTrz6o1G8dj7M4XVZQb5PpT9mpNzOSZ6yxqhg+foeJwn2JkD
-vyP+kMYU7SZ/tWuMOCdzN95Ki1rf+ti7pLnSMqKx+t3vOWwQbtnsbI6RCLLwETPA
-esghA/0X3Dw7cdiE5Xq4TRaPSGViCWP4ekL2KYKqmKv6M/4f2pgFNJY7C+2SIiiP
-T62zFlIjs5tF2Df34/M5mh4Vx6E8341r55+XO++kfFWJ5QjLiydRAY6ochG9IFgB
-xyBCkCNpiby9PpKyPodedBScdMxIAe4eJR7rG/j9gFC1MypBugAAn0mvGeJi+oSo
-5jXAeXBhRiTyI5WPCuK0J0pvaG5ueSBSb2NrZXRzIDxqb2hubnkucm9ja2V0c0Bn
-Znkub3JnPoh4BBMRAgA4FiEESFc9Qz85uERAyFzbZbUBuQAr+pcFAmFQyDcCGwMF
-CwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQZbUBuQAr+peImQCgqpXa6EWB+71M
-1VdFL9TXA1XKS54AoJhKC1cRiyksAxFzaqo0Q8w0aUXo
-=cyQm
+lFgEXEcE6RYJKwYBBAHaRw8BAQdArjWwk3FAqyiFbFBKT4TzXcVBqPTB3gmzlC/U
+b7O1u10AAP9XBeW6lzGOLx7zHH9AsUDUTb2pggYGMzd0P3ulJ2AfvQ4RtCZBbGlj
+ZSBMb3ZlbGFjZSA8YWxpY2VAb3BlbnBncC5leGFtcGxlPoiQBBMWCAA4AhsDBQsJ
+CAcCBhUKCQgLAgQWAgMBAh4BAheAFiEE64W7X6M6deFelE5j8jFVDE9H444FAl2l
+nzoACgkQ8jFVDE9H447pKwD6A5xwUqIDprBzrHfahrImaYEZzncqb25vkLV2arYf
+a78A/R3AwtLQvjxwLDuzk4dUtUwvUYibL2sAHwj2kGaHnfICnF0EXEcE6RIKKwYB
+BAGXVQEFAQEHQEL/BiGtq0k84Km1wqQw2DIikVYrQrMttN8d7BPfnr4iAwEIBwAA
+/3/xFPG6U17rhTuq+07gmEvaFYKfxRB6sgAYiW6TMTpQEK6IeAQYFggAIBYhBOuF
+u1+jOnXhXpROY/IxVQxPR+OOBQJcRwTpAhsMAAoJEPIxVQxPR+OOWdABAMUdSzpM
+hzGs1O0RkWNQWbUzQ8nUOeD9wNbjE3zR+yfRAQDbYqvtWQKN4AQLTxVJN5X5AWyb
+Pnn+We1aTBhaGa86AQ==
+=n8OM
 -----END PGP PRIVATE KEY BLOCK-----
diff --git a/test/lisp/emacs-lisp/package-resources/signed/archive-contents.sig b/test/lisp/emacs-lisp/package-resources/signed/archive-contents.sig
index b40620a0e896101d175ad19bb6829a3e7ca57389..db3eef9d6f7d114f866d7fd3fe9a49f811e266b6 100644
GIT binary patch
literal 119
zcmeAuWnmEGV2~A4WO?1XJAScM>BG1we#xH<LwWq&ANR2`B`X_lW8mTxfQjhEG5q0O
z?|=Btr=%mDe~&kt`Uxf<e}7Hg?CI}oZ~shtWUkzz$naMrc*!flojKdz)EGw06)m=T
Ud9k;9vq~a^?1nu$Z9J)b06dg4iU0rr

literal 95
zcmeB(WnmCxVvrS6Wbp{Mb+)(M;o@*2=632<#+?k>zoxS?B?g?ZV&LKwfQytf%oVeI
uvncD6LV=g@)4DX_nS1kDp0Y5^&tltQ^L1<KQ@+0;JItoM?@P1QF$4h6V<UC|

diff --git a/test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el.sig b/test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el.sig
index 11092411601ae7b9612170716437094b871b37d4..f6ff8e7af6c6b38774625d56d8bc9d0f98a27723 100644
GIT binary patch
literal 119
zcmeAuWnmEGV2~A4WO?1XJAScM>BG1we#xH<LwWq&ANR2`B`X_lW8mTxfQf7iVPt4X
zbh|z$ZPJ!c7sA*>_q3a_=qmi?RQ~4Gr5VCL{m}6OhX3imYGO)zM0&p2wA^2QB9Hl5
Uo$Km;(|<Z=XWlU6JCV*00D1^9WB>pF

literal 95
zcmeB(WnmCxVvrS6Wbp{Mb+)(M;o@*2=632<#+?k>zoxS?B?g?ZV&LKwfQe{KWSFOL
vc~*vyjjW*DF2(z1QI&dcn5y?P%=ezqEuhnJ_y1Pj53@7YO}ziAZfP$7uQnt#

diff --git a/test/lisp/emacs-lisp/package-resources/signed/update-signatures.sh b/test/lisp/emacs-lisp/package-resources/signed/update-signatures.sh
index c3e82fd173..30e74156c0 100755
--- a/test/lisp/emacs-lisp/package-resources/signed/update-signatures.sh
+++ b/test/lisp/emacs-lisp/package-resources/signed/update-signatures.sh
@@ -25,8 +25,9 @@ TRUSTDB=
 GPG="gpg --no-default-keyring --trustdb-name $TRUSTDB --keyring $KEYRING --yes"
 
 rm $KEYRING
-$GPG --full-generate-key
-$GPG --export --armor > "../key.pub"
-$GPG --export-secret-keys -armor > "../key.sec"
+#$GPG --full-generate-key
+#$GPG --export --armor > "../key.pub"
+#$GPG --export-secret-keys -armor > "../key.sec"
+$GPG --import ../key.sec
 $GPG --detach-sign --sign "./archive-contents"
 $GPG --detach-sign --sign "./signed-good-1.0.el"
-- 
2.30.2


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.5: 0004-Replace-aging-OpenPGP-artifacts-in-gnus-mml-sec-test.patch --]
[-- Type: text/x-diff, Size: 121438 bytes --]

From e829d098aa228d41c24c1e46f56ce33c14370e6d Mon Sep 17 00:00:00 2001
From: Justus Winter <justus@sequoia-pgp.org>
Date: Wed, 5 Oct 2022 12:36:39 +0200
Subject: [PATCH 4/4] Replace aging OpenPGP artifacts in gnus' mml-sec tests.

This replaces the old OpenPGPv4 keys that are used in the test suite
with more modern OpenPGPv4 keys.

Having old cryptographic artifacts in the test suite presents a
problem once the old algorithms are rejected by contemporary
implementations.
---
 ...62E2DBC6D6848AE88BCE181CC1938F2FAC816C.key |   5 +
 ...089CDDC6DFE93B8EA10D9E876F983E61FEC476.key | Bin 797 -> 0 bytes
 ...2E3324B4811A197A1DE922671AA6ABE475025E.key |   5 +
 ...6DBED74BA05B5AA1E2A6E4634EF6F62C0D7A5F.key |   5 +
 ...0D8E451BFADF816524AF5E185EBF3DED48CA00.key |   5 +
 ...1B444DE92BEF997229000D9784118A94EEC1C9.key | Bin 526 -> 0 bytes
 ...67CB6C7B1C00996FCFF5930C3467D3D4FB702C.key |   5 +
 ...FFEBC04DF3E037E16F6A4474DCB7984406975D.key | Bin 841 -> 0 bytes
 ...36D27DF9DAB96302D35268DADC5CE73EF45A2A.key | Bin 797 -> 0 bytes
 ...3109315BE584AB2EFEFCFCAD64666221D8B36C.key | Bin 526 -> 0 bytes
 ...9A99AF2FB073D3328B0F995BD6DE74616A6CC2.key |   5 +
 ...50B5BE67E704F82BC9AAE00EC8A0CAC8C2A94F.key |   5 +
 ...5689599E1C0F66D73ADCF51E03EE36C97D121F.key | Bin 797 -> 0 bytes
 ...BF94E540E3726CB150A1ADF7C1B514444B3FA6.key | Bin 797 -> 0 bytes
 ...5D4637EFC6C09DB1F78BE8C2F2A3D63E7756C3.key | Bin 798 -> 0 bytes
 ...94CDB62DB28FBB486DE077DAF248FB32BE286A.key |   5 +
 ...11B1935C46D0B227A73978DCA1293A85604F1D.key | Bin 798 -> 0 bytes
 ...2B6633E89C0BD58A0FA2C785A31EAA96278695.key |   5 +
 ...F5836DA69D9F63059D2665451F18E4346DF43A.key |   5 +
 ...643CEBC7AEBE6817577A34399483700D76BD64.key | Bin 526 -> 0 bytes
 ...CA92780975EEB798D2083FF25AFD43A4033DB7.key |   5 +
 ...F2D9DF7AED06F0524BEB642DF0FB48EFDBDB93.key | Bin 798 -> 0 bytes
 ...C17E134E86E691297F7B719B2F2CDF41976234.key | Bin 527 -> 0 bytes
 ...788436224049A2FE1E446E16B70DB012C830BB.key |   5 +
 ...714F4D9D9676638214991E96D45704E4FFC409.key | Bin 798 -> 0 bytes
 ...4752F5D8090CA36EFBDD79C72BDFF6FA2D1FF0.key | Bin 526 -> 0 bytes
 ...65328E25351B0D7697D4156A13497174F999D5.key |   5 +
 ...04643B1FB8AAC7529134D1565DF8B4ECA01E35.key |   5 +
 ...BA94EAE83509CC90DB1B77B54A51959D8DABEA.key | Bin 797 -> 0 bytes
 ...BC0634D18962998AB53A0134DD2AD0DC4E0782.key |   5 +
 ...6A24B17A8D0CAF9B7E000AA77F0B41D7BFFFCF.key | Bin 841 -> 0 bytes
 ...FF2771AD5F49BEC185CDED47EC47D15550CB93.key |   5 +
 ...72AF82DCCCB9A7F1B85FFA10B802DC4ED16703.key | Bin 841 -> 0 bytes
 ...6C6A8B40A2179CFE83CB0C2827358AB171CDFD.key |   5 +
 ...3E1A079B28DFAEBB39CBA01793BDE11EF4B490.key | Bin 527 -> 0 bytes
 ...5E00CE582C2645D2573FC16B2F14F85A7F47AA.key | Bin 797 -> 0 bytes
 ...68630A06B048F5A91136C162C7A3273E20DE6F.key | Bin 710 -> 0 bytes
 ...723A68027A82B538F04BF4A2A1323D1B3E095C.key |   5 +
 ...A2C195DEBA3506F0ECFBE3DDD7C57F6913DC7C.key |   5 +
 ...8C922A471E08FAF083EC2465AFB4063904C282.key |   5 +
 ...C3163E69C57319C6038F9EBE14F5D55DE553F7.key |   5 +
 ...E73903E1BF93481DE0E7C9769D6C31E1863CFF.key | Bin 797 -> 0 bytes
 ...B164A45A1D5C5078508A9869DF6DB84DEA543B.key |   5 +
 ...117468BE801ED4B81972E159A98FDD4814DCEC.key | Bin 797 -> 0 bytes
 ...C5EFD5779BE892CAFD5B721D68DED677C9B151.key | Bin 841 -> 0 bytes
 ...E86D61A71E9CE6B0DBC65C5121846E542913B9.key |   5 +
 ...38C61A8DB32297C7C3C18E7A837D7B70263BC7.key |   5 +
 test/lisp/gnus/mml-sec-resources/pubring.gpg  | Bin 13883 -> 11564 bytes
 test/lisp/gnus/mml-sec-resources/secring.gpg  | Bin 17362 -> 9315 bytes
 test/lisp/gnus/mml-sec-resources/trustdb.gpg  | Bin 1880 -> 1680 bytes
 test/lisp/gnus/mml-sec-tests.el               |  86 +++++++++---------
 51 files changed, 163 insertions(+), 43 deletions(-)
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/0062E2DBC6D6848AE88BCE181CC1938F2FAC816C.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/02089CDDC6DFE93B8EA10D9E876F983E61FEC476.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/052E3324B4811A197A1DE922671AA6ABE475025E.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/066DBED74BA05B5AA1E2A6E4634EF6F62C0D7A5F.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/0B0D8E451BFADF816524AF5E185EBF3DED48CA00.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/171B444DE92BEF997229000D9784118A94EEC1C9.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/1967CB6C7B1C00996FCFF5930C3467D3D4FB702C.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/19FFEBC04DF3E037E16F6A4474DCB7984406975D.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/1E36D27DF9DAB96302D35268DADC5CE73EF45A2A.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/293109315BE584AB2EFEFCFCAD64666221D8B36C.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/2C9A99AF2FB073D3328B0F995BD6DE74616A6CC2.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/3250B5BE67E704F82BC9AAE00EC8A0CAC8C2A94F.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/335689599E1C0F66D73ADCF51E03EE36C97D121F.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/40BF94E540E3726CB150A1ADF7C1B514444B3FA6.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/515D4637EFC6C09DB1F78BE8C2F2A3D63E7756C3.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/5294CDB62DB28FBB486DE077DAF248FB32BE286A.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/5A11B1935C46D0B227A73978DCA1293A85604F1D.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/5B2B6633E89C0BD58A0FA2C785A31EAA96278695.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/61F5836DA69D9F63059D2665451F18E4346DF43A.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/62643CEBC7AEBE6817577A34399483700D76BD64.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/64CA92780975EEB798D2083FF25AFD43A4033DB7.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/6DF2D9DF7AED06F0524BEB642DF0FB48EFDBDB93.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/78C17E134E86E691297F7B719B2F2CDF41976234.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/7A788436224049A2FE1E446E16B70DB012C830BB.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/7F714F4D9D9676638214991E96D45704E4FFC409.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/854752F5D8090CA36EFBDD79C72BDFF6FA2D1FF0.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/8865328E25351B0D7697D4156A13497174F999D5.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/9504643B1FB8AAC7529134D1565DF8B4ECA01E35.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/A3BA94EAE83509CC90DB1B77B54A51959D8DABEA.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/A6BC0634D18962998AB53A0134DD2AD0DC4E0782.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/AE6A24B17A8D0CAF9B7E000AA77F0B41D7BFFFCF.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/BCFF2771AD5F49BEC185CDED47EC47D15550CB93.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/C072AF82DCCCB9A7F1B85FFA10B802DC4ED16703.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/C36C6A8B40A2179CFE83CB0C2827358AB171CDFD.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/C43E1A079B28DFAEBB39CBA01793BDE11EF4B490.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/CB5E00CE582C2645D2573FC16B2F14F85A7F47AA.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/CC68630A06B048F5A91136C162C7A3273E20DE6F.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/CF723A68027A82B538F04BF4A2A1323D1B3E095C.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/D6A2C195DEBA3506F0ECFBE3DDD7C57F6913DC7C.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/DB8C922A471E08FAF083EC2465AFB4063904C282.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/E0C3163E69C57319C6038F9EBE14F5D55DE553F7.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/E7E73903E1BF93481DE0E7C9769D6C31E1863CFF.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/ECB164A45A1D5C5078508A9869DF6DB84DEA543B.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/F0117468BE801ED4B81972E159A98FDD4814DCEC.key
 delete mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/F4C5EFD5779BE892CAFD5B721D68DED677C9B151.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/F4E86D61A71E9CE6B0DBC65C5121846E542913B9.key
 create mode 100644 test/lisp/gnus/mml-sec-resources/private-keys-v1.d/FE38C61A8DB32297C7C3C18E7A837D7B70263BC7.key

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/0062E2DBC6D6848AE88BCE181CC1938F2FAC816C.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/0062E2DBC6D6848AE88BCE181CC1938F2FAC816C.key
new file mode 100644
index 0000000000..6f1e145295
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/0062E2DBC6D6848AE88BCE181CC1938F2FAC816C.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Curve25519)(flags djb-tweak)(q
+  #40C5151DC16303D3BD25F10C092E411CC3D65F7DF30DD8DDBDB17771EED64F8874#)
+ (d #7AA2EEE8EC08C2B41C4AAD9484D2ED8F6C630392892322827901B37EE3973E68#)
+ ))
+Created: 20121130T230715
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/02089CDDC6DFE93B8EA10D9E876F983E61FEC476.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/02089CDDC6DFE93B8EA10D9E876F983E61FEC476.key
deleted file mode 100644
index 58fd0b5edbc0fae0642c30d4c807d8cb4eb1cacd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 797
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|?EPCfa6}^X`A#
z_8bczDHp$y{^rxyxQwB*EtEl7(?^+!b@8cpwLFv3EAFWskY%}{<L9+JZil&lRoS)j
z#DG~Y2X=mRpYUsq#8(dXnaM^|>rAq?h}4%pUhXjG-KmUy4AbUs(_%YZAF-@Bseh+J
z#Il&aIn&d3EXdOGaJ#+qTc2B!r6$lNsm4}}42+r@mIxOcnpou*q~;Z*7wG0CmSmQt
zY8YC=MUZ`CZdI0ARGgWgXJ}=jsbON3n3JAwY!wvj2;vk2{cC6yKPWs3bO+d*VE0&9
z2_4(@=JloLLJ9A?)B74%gv|3k!@StKXYv)nT%pG7h5yPQ{aE{ncj`qOq1j9eY`F4Y
zUes4TVVusts!CwKAq(H@^R*HCD!+CaDm)a~v}>8l)tqxHJ2$RAviU<qVDA6y<E!@?
zAJ5Obaa=r5uQV&;q>g6zs_7Mrb9Zj(4>vfzCXb^L=nOMcD~40)wrlg2zTtIp@|F0z
zD48iG`{s)mo6Bu8rfA+s^)BDdb8JS;vVbenaf@Qj_1bFK%{JZn`1SYv<dEW$^oGN~
z{GrBNN#4hj=ajm>cG}i6<?5>n6@Ccss(pS(PtY~k)Ku-6uKKQW>uDz^@z0kvI-^-|
zV9MG%1~PB7io;fzGi0h*DSQVRV`9a*@_$K>cizDVNjvXxo%`qa&7e{K?u1`A1x~-a
z60{&?b?vK!=Fe-sOKT+Fvk#~`9W-x_5C4@{T{Gs-u#AytO6~wfd2(@SuBnxYp_!!t
VFliaUQWP+Om{{fI=cQ_b006cISnU7+

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/052E3324B4811A197A1DE922671AA6ABE475025E.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/052E3324B4811A197A1DE922671AA6ABE475025E.key
new file mode 100644
index 0000000000..cdc19ed266
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/052E3324B4811A197A1DE922671AA6ABE475025E.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Ed25519)(flags eddsa)(q
+  #40AB5C863639D2154343F2196F43F95CCFAE91203324A0C63019EDA7942EA23E1F#)
+ (d #692D35D0062BE19EA22D92D7B58F8FAC5E1ACCBA78FE6260ADDDF987D2923A86#)
+ ))
+Created: 20150822T122925
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/066DBED74BA05B5AA1E2A6E4634EF6F62C0D7A5F.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/066DBED74BA05B5AA1E2A6E4634EF6F62C0D7A5F.key
new file mode 100644
index 0000000000..5a64f9f23e
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/066DBED74BA05B5AA1E2A6E4634EF6F62C0D7A5F.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Ed25519)(flags eddsa)(q
+  #402C67E839BFBF7BE2095CA2E9502482C8E8314936689E922B9EF870F0F3F4944F#)
+ (d #225DF7626A9308083437959FFDF825AE05919CB92670D1E22B2C6A2FB0EAE7A4#)
+ ))
+Created: 20101231T230030
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/0B0D8E451BFADF816524AF5E185EBF3DED48CA00.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/0B0D8E451BFADF816524AF5E185EBF3DED48CA00.key
new file mode 100644
index 0000000000..995b93a4fc
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/0B0D8E451BFADF816524AF5E185EBF3DED48CA00.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Ed25519)(flags eddsa)(q
+  #40127BA3ECD3C22145A892CC9A8EF12BBF91537B2180F54CBD22CB2696B7A7C4EA#)
+ (d #8CF76D6F3FD2893E87B08AC9A9E56419DB7D10BEC5F8AC4600516DC370E97DAB#)
+ ))
+Created: 20111231T230004
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/171B444DE92BEF997229000D9784118A94EEC1C9.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/171B444DE92BEF997229000D9784118A94EEC1C9.key
deleted file mode 100644
index 62f4ab25a69bf2c1c815bb4c2b8d135516a7aeae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 526
zcmV+p0`dJQF)=!Da%py9bY(4TWqBwwI&yPiC^0&2F)}$i0OuQPEWQFU{Y#Sar)T{C
zgOB-P@YPS?pCA)p7fRoC^Xri#%b4V-w@Sp|*rc@0^qB~Y`3iQj=A5!dSi&Wue7yqL
zHrSF5j|Xw&O2-TE>~l?rlisq%O+_9cfE}pe3QE=`<s2_!hSNb_K1}MdnF9%-I|Hko
zY*D#YZ{!T1mnkSQI%P9D0RRChC^0%@F)}zh1}2LrCxa2kF3UFJTUeop<NSv0muI|B
z&(%4B^)LSOcfV1bx(3RJT<<q+T$s+4yJeFA6zgChfV>yr+b!jgnpjDr2V19kKm+4J
z)+ipbU1+`*;muKsgf92TXFe0~c`xs~bb=75X*wVen7*%aZ#jT^YVhdfks&<LGyx=~
zDJU^Ia5gnM0POI!ePy<65d|t^Qd+#K^AAEIsk3fFd^|vS9pV|y4(%S#3@llF&7P6e
z{gn0B!&@Dc$1xT7Vqy;!7hJjZ%_%4`I&n5NIso~ymV3cSMcwC3Dc~Nsl-KWF`qR31
zQFC<!P-6C=SgJuAxPCrcZ!bq!Vh9Ala@2I-(5FXnSDsRZurhI4i}NWcF*<cNG&%su
zp;-sB8FQJee}-LJL2CFsk+mB&EO0K!mHimN8gWKn)0Dl5n7OPtbSK3NfoaKP0s;4B
Qbe{!cRMDJF;^`?VDMDQF0{{R3

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/1967CB6C7B1C00996FCFF5930C3467D3D4FB702C.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/1967CB6C7B1C00996FCFF5930C3467D3D4FB702C.key
new file mode 100644
index 0000000000..42773a1d96
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/1967CB6C7B1C00996FCFF5930C3467D3D4FB702C.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Ed25519)(flags eddsa)(q
+  #40D900D660C533BB480921CC5455679E9AD53C8BA2240A8946CC07759CAC14ADD5#)
+ (d #B568C991BB392303AF680093C87DF54B07288EA6D1642567D574A0FFA235B15B#)
+ ))
+Created: 20121231T230003
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/19FFEBC04DF3E037E16F6A4474DCB7984406975D.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/19FFEBC04DF3E037E16F6A4474DCB7984406975D.key
deleted file mode 100644
index 2a8ce135fb2d79350ffb659d4d098be39608090b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 841
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|`v1meaue_<}FL
zPt4u94Rd(ee%XG1QM7wED}%?q=5~g&E-oI&CmKAt^Ho~d<@J)5o7>w;x2~F~<7Oi`
zd(+P)JAWQ!-^bPP%_R59*=paWd%V~EPX<OtUGCl0vVOyis?5K~nAw$YwBP@--)~MP
z|F>O&67#Rm5M1r8)EoWiIE#YdhRK>hm!uk7F)}b}YFHv%Y-nPYUyzztkY1phmspZn
zma1WB2^T^3jk#4>YEf}!ex9L~iKd2$RbozhzOhwMup@|54D_#|Rs5jvD9{~XZ-TsQ
zVqx{nJmkT~3-_1&PUb9^%Fl4|3!NC7VsgypW$(cao8&lVoYL9)b)V4JNteIAZCDy<
z#+?3Po|dGKWm(sRWbRo$j~AbG5_A8(;J2@w>HUd8+u9a{UNAUz;=FI$H192+C+54c
zHJmkgZ?RrndqwQmrF{1`pXNJxQn}%pqT2rHap%;P9mO1aTbe}c0>XTYruD9WmUiWU
z`|G35x9vB^C6`u+cwD(VK||7OcUo%83%7(e9ha<(nw3twcI?x*?3ifwsjX8<_2HVW
z+&=F%#vZ9qpHZgSXqc($`pI3Xace;RiA!fzeG%7K>-lj-Y}c(y-hZ`|{zo@+?crL!
zBJ0{sbp@SUC(q1^nX9vR>*0r+*KXMz`It{|e~i`IUD^8=PBZ8YFjSqz`13`fDc>HZ
z6}3Y4o1$dTZC|H)!`eZv^Wh)PS(5fsPwezOBdlqC>gm&WuYFP<dKxy)eR8%z`}x6T
zP3<iKv9+M6PcAOaHMBASCNBe6ssbhwV3Np4G&Hqxb_@<NwXmAi<NGD;tG&LVm9dFc
Zu!p0eh1K1w$@?X$i&q+1S(<5r008z%dcptz

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/1E36D27DF9DAB96302D35268DADC5CE73EF45A2A.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/1E36D27DF9DAB96302D35268DADC5CE73EF45A2A.key
deleted file mode 100644
index 9f8de71c5e27c1321b51a61ce9992df101d4c788..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 797
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|`x%^J`b<4W=yl
z$(IVcuHMKB_TOvMCjH<O_nuuHQ<BaEwF*k7YrWnlB&jaoaQ41fT1ge#P2LG6v)DhF
z<<ved-Q)M|=)EKjzPlTI1^m{Tf0LbeOv5?%tItZa^I958YFQhdJ#5)^_iHo9otd%z
zk7JO()mP)IQM0qIOYQk=xpAk$drhEAQjM(`85lJ+ED<g?G_lGrNX;uqFVM|PEXgcO
z)iAV#iy-^P+^Q_Ks5mn}&(O+5Q^Uk6F(*CW*eWR45yUA5`q$7Zeo%N6=nk+q!S1oJ
z65Tv!al6k9GZwc3bpxJvYl?QfS-0?{OT)z1Yfgs6i9Ayaax0xBF7ofb>&Dr#omt;C
z?4*J<jQ^JTa@};<Rdw|7tW($DZ<^RKm2LkNzEfL&wm98kFN;oglm6f&bl|IGbkwd>
zwJ!BGNjolX%(M!hB=JtCMCEhJ+?ro3VjmyOuwQWz=nOMcD~7}Gl@5vSTJkP?XNC8(
zqv18o8jj{F$3?i(HB^3o*4QQfJ4&IjzudxLotamHy}PN6jQN&UjkYPD<M~eN#u#7z
z2sP%1xwE@wGW+?G35S&?ncX(ezpu1Bz)`WM_~)KoXA&hQ?9vb1yOOWCtt;!ZkjiYo
z=Us1DFM40pZSKlY+i!Dp(S49HCRR0CFU%Ki`Lfukv3s3@&8`QrbN&Amx4izof7iqd
zE8Bmq(SFSIu~sE5JNvezRPfaW!9}q)S2yl1t-kVp&Z#B3>}jAVPcAOaHMKG^FgG^@
VCM^S4iUKAO6RW)Zyi`pP0023eS402+

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/293109315BE584AB2EFEFCFCAD64666221D8B36C.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/293109315BE584AB2EFEFCFCAD64666221D8B36C.key
deleted file mode 100644
index 6e4a4e548fdde4735084c0d105afa9438fd68342..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 526
zcmV+p0`dJQF)=!Da%py9bY(4TWqBwwI&yPiC^0&2F)}$i0QH;OtrA*l2ay$dPifP}
zg7f?1bfZx#n#x7gwqB(*d()JGj+4?8D3}%awS~{A8I6a{q!d<XM;PuNXuGQ7n51c2
zFlc4^Jp7bmdrL7gYU6dvDis#j*@W&1?&q%F-wWrYxtVEQsEH12!yO-y|CQniwD)4y
zM+1)y4|)|;T`4FrI%P9D0RRChC^0%@F)}zhCdH_)VC@urX3iqTB2nw@%E{Udl;x1J
zVi}cthoj+kPk)P7KxZPJpDCioHy%ON)|HrLJx{5GoBt&qNB8kYv&m8641VuG?NXg|
zU7o3KoUHw$t?<vA$ZRl~-r$Vix4%59Cf<miJU&JEQVuXH<PDR>ac_sB#I7?Tae=m(
zDJU^Ia5gnM0QO%Osv2owt&S4|f0uIcF(RoPhgC{AKoxdv_>eaQpiENVgmITu|AFVx
z{H*%;GFHMe#VcM7+p_Tpml+6@^(iPZI&n5NIspGQBDoNk1sd~@ya@!{Y*q&KyWq}j
zYy@Yj&JX80u)JS<wPNKIeAnkshSHWo_z+d=#({x)2h4r16UP3!;K?Z{F*<cNG&*P9
z&v-M`U}d@Ug~>MC2bb3)ue5>I`daV$xj+!IBq7#9EekT^l2i~<FfCGFsM};(o4elm
Q-f3$%d^uCu@K7l!DW5d?WdHyG

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/2C9A99AF2FB073D3328B0F995BD6DE74616A6CC2.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/2C9A99AF2FB073D3328B0F995BD6DE74616A6CC2.key
new file mode 100644
index 0000000000..c4941533f4
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/2C9A99AF2FB073D3328B0F995BD6DE74616A6CC2.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Ed25519)(flags eddsa)(q
+  #4043E90064F42A73C20C5D3984A355F5DA2CAD5218E512B9A4038E0ACDBA237818#)
+ (d #02A2BE84BCCF0EB82D81BF991013AC77D0F8325D8FB3B98511799844DC106618#)
+ ))
+Created: 20111230T230147
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/3250B5BE67E704F82BC9AAE00EC8A0CAC8C2A94F.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/3250B5BE67E704F82BC9AAE00EC8A0CAC8C2A94F.key
new file mode 100644
index 0000000000..6fbc08d06d
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/3250B5BE67E704F82BC9AAE00EC8A0CAC8C2A94F.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Curve25519)(flags djb-tweak)(q
+  #40C5CE487C55EC9735F736D24AA11A66E05F9BBCE52EBAE5671B858585BF36E12D#)
+ (d #7DE9D5E8209B9F7E28A0C39F53FDD18125DDDEAB6D7FBD8A8D8DB2AEDE990330#)
+ ))
+Created: 20150822T113710
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/335689599E1C0F66D73ADCF51E03EE36C97D121F.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/335689599E1C0F66D73ADCF51E03EE36C97D121F.key
deleted file mode 100644
index cff58edaa8988bb6655e592a505b5ddeed69d851..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 797
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|_kpxa<AWlVv;B
z&3drG)H(G|eM9{2StUW@ieVaSO5^U;aJcHNoweTKMnJduW>=FdE*fW-uQrLT4?5$s
zslDy;I*mnITIV;#-`yM$pqIOGs^%vx(Id<AV&Bhr>?HTm%1x8U=L5?$7W3;)QH;wa
zPN#j?{Bp;3{+_MBlYhBv+7J}6*;f<jl2l_WMg~Sr4NHWJ4Na`_3sUn6(hGF+5=%16
zQZ)=M;UdVsF}Es9Eh^5;&oi_#(bO=pO3X>mH?|52b_8*Xf&MkLiXRjn1-b+5O|W|`
ztQ0?gRycl7BJ|O#$rqo$St4?}&aGu{&q>WqPxf!T!WojJvCq%=^udchnTuK9Sej^W
z`Eq-&S9YOpNbGbECW%{1RI=wz=ReYDxZXwOvDuO5?iTWq&E-2jDSeQb|516We%bfP
zhovj(Q%-JuB;dule?$0usk!=wlDb=y&sSI5a4bHN2y}*-sTIRZlS`fLvLa_zM`Zpj
zvQ3-Ho_gvZBkz%<du$o&_!%l4_H3VcRPkKuKKlwTpT7}~%zIAmjH%+cdwWQ6R*8nl
zoVieAK5h?A+j#cM)e`jsUe9wDMNeDGbU1L=j>Ya-3>I}SOzM;!S8Er|v`bk2cYm>G
z%yzeHtXtmn#l=f}J?ipx`4p={kTE7!CaOX2(wA>w{_MhN!7dcIU0P<rlX4cxm^(i;
ztW2E>U4q`*CkJjyTOP{hRm8kjakcx@A7S5R966d-{9X1edBH7ElqVOL=9*d=TUwZ!
W1Cy2kEJXnmh>2BReqO332mk==r&&V)

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/40BF94E540E3726CB150A1ADF7C1B514444B3FA6.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/40BF94E540E3726CB150A1ADF7C1B514444B3FA6.key
deleted file mode 100644
index 14af8662f79b75cbf855b2a07a438d59b6f03b64..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 797
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|@OXD3(3z^Xb=<
zZo5m)I9@BT`2Pf<YZZr>y&0rm)?cZ)_EBQN(#2(U0a?mVJyuO#FZ6SH=Aodde>rLI
zd*2_(jS)@|diHwygvIxJ`ZxbbwJg0j!?W7#ok*m?uM1t~{=4+A&(_tRpEU26UB7Rn
z`Yy4{Oa2(<&EDqFcW&)6i?o{6B9}FRE=e`EVq{>{)UZUj*wDl(zaTZQAiY30FR>)E
zELFqM5-x)58*{6&)S}|d{5(S|6HN^htHhl2d}FJiU`G(A80cR^tN20TQJ_1(-UPeH
z!b+(kA*Jnsm5G3?<9(au|E`~z{Nv)P&I^Y7Z{0a5c4*53_L4>yhEwm0PCH+_y+HQ6
z-19H9{_&oPS>bYTt?aowT<qIJc6dl`Tvt+>U#fX4vSyiic)_>1B`br1ZwpnuG^#7P
zFS7pFvqQfuA2X?n2r9Gu4D<TLrm{#a|MaJ{<-B`}rUIQ|W@^Ro+UD-7mOUK?r*!z(
zJZ7f;QkzkBK~tl*Wbfj_XWq6xRkpd?RIIO?B|rUJ&s`;}xwc29Ht&*jc)Rx7>HE^Q
zeE$kH=Fj6rYSXyFs%_UB8K1dayXnWDe+|JO`z+d(uCG?m<CCshx{1T%h?j^(Kx-cB
zu`S!~-_M!9OJeO?hWaMPvg<9&LB^O^RmAvda{QUE$@(Z+?fkd3!Ke3_%nhtop7pML
zL4@Acm9BETX3pB~vH$Vs&mOmXwH5^gUy*sjaYpOp>y;{@zANSSfucOQxHQ+)%EZvp
X*Z`Qc3}7h=m_SUd^78XiH9-IXUP)=v

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/515D4637EFC6C09DB1F78BE8C2F2A3D63E7756C3.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/515D4637EFC6C09DB1F78BE8C2F2A3D63E7756C3.key
deleted file mode 100644
index 207a7237d3abdd001aec142d990e53356df1bcdd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 798
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|_lvz4-9Q$&HgX
zm<Sl9IX!!;d0r_$cdO_9*W$kAi9vs4Pjj@za77-rnUr)OLg)(b!zBzSmQ`8BnZ^7+
zw(!cP==1;jrgm1onbP{abjQlA8%q}P^Plf}wE61&=sPREwx8JOC26)w=*i}uFTJvl
zjO>)AH5teVZ7yB@E;+c%VNS)_AazZkOHz%k7#SEfH7pS>HZ-xyFG$TRNH5UMODxGO
zOVu#6go_~i#@wnbwWv5VKhMz0L{r1WDlsQL-`FZB*b&4j2Kv{~Dt=IS6zC4HH^J_)
zuu@v^_=n(6om7jM-)4*d+)1<eSA4@D`G(gtFO?gQSDCA?H=8r>&y7Up#$AE!hOZ{h
ze0nISxR7twJh`fU=hyAs%OOxI)i=4RpmXtC)}=nbwQtOP%*$^m8rCYq!FA!kIQN5p
zq3kS6*0-GW4(FHieg8K+asIK8#R?ws{1IWx8PA5E1v<mb)QaJz(8i?)n&Lv7jvAY0
z^es9eTHtx;=%hXD2lh&cOnNFOu3I^4>OMm+pR*ID2&_(DwD9iQ?An%zdXhqRX7+hi
ze$7y0{-xCl_nhBY{7XZn=f`WEgn1FR#_b1x&0pD|lQQ9FPvcC1HBA~dAGdvE@Q^>6
z@o?_n46o)r3l2<r$Qf8+G&!ahYRsp`ojMbnpPhSfru_5zl9YpgS*IC&yt8fD#eU18
z+NLwIF@177)TW4B(K*X`>`C@!z4Y4ee>g%Ep6s)G#r<`)$SF{qCl{CInp&9{8X6e^
V)0P1&NdZ%ciB(>HUaBSt005eJW#|9^

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/5294CDB62DB28FBB486DE077DAF248FB32BE286A.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/5294CDB62DB28FBB486DE077DAF248FB32BE286A.key
new file mode 100644
index 0000000000..76418968b7
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/5294CDB62DB28FBB486DE077DAF248FB32BE286A.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Ed25519)(flags eddsa)(q
+  #400F656F4251142032FB4C989B33F2ED84E7673BF6D2DDA34EB936839977BC1DBE#)
+ (d #12F8EC3BD83533A35D9ABE9A9100E9A41C68E4BF9247552409259F365C913D03#)
+ ))
+Created: 20150822T113710
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/5A11B1935C46D0B227A73978DCA1293A85604F1D.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/5A11B1935C46D0B227A73978DCA1293A85604F1D.key
deleted file mode 100644
index 85ca78da04d8069634542ae7fab0cccba6662362..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 798
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|`wLrh01Q_EPa^
zVdZn>fh^H0o+VW?WZinYO<#7;Qg!z=d#mkTU0mf`{++k_EtM?eecEH@nZiZyR_O8M
z7aeG@72Mq-y+TIDQMN(*)>ik&H)M|l_FL+hz1Wy@jO*0jbi1AWFJIh$>y}%3P;;yE
z=N4m`PX2}Sr`MFu@_Z%!Nq%AzvnJ3bsm4}}42+r@mIxOcnpou*q~;Z*7wG0CmSmQt
zY8YC=MUZ`CZdI0ARGgWgXJ}=jsbON3n3JAwY!wvj2;vk2{cC6yKPWs3bO+d*VE0&9
zakc$E%G>jl|B1H6gsDmf4>O;q#x-zkVDk1X)JY0|^m)-qcgGbIQxxvx)XutfHXvVJ
zJx*fs{D0eDWbJ&Lq33ez{fkeJCs~~~<B6E1b%jxA?}K-mM=PgX*<9kYGxxCX<r|L2
zX73b!sw7`=Cxz$9RGGL9r%!$RKJj12?Wib?v)y@?KxdelS}`1+`Y-r@EbD6>qgRYC
zj$|BozSFK}mn@Il4$m8YKc9x~2{uTsb9*qy{%il!=N!#hMdzn+|4A23;F+~6?9nOb
zIcuTDy#3<hvFKYsa>xGIh#0Gh&kOE+$Um-fE#;b^_=kHEtG0i+y+M0P-QwpL?rWBp
z2&eDu-g5c(Tk}(@6=h!n<#*ZV!;HyTu6L++^WM|zD|Y_<d*%(d!X|UC%?xc99rhhC
zNqgJoZL-tWWM*$g0<X-CrX8{e-^#W+d%baca6cuh+2D-UAyAwr7nkOmTA3JIm|FnT
UmH{kD0aJ*HRbGBxswM~k0D)&@i~s-t

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/5B2B6633E89C0BD58A0FA2C785A31EAA96278695.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/5B2B6633E89C0BD58A0FA2C785A31EAA96278695.key
new file mode 100644
index 0000000000..89c2fb779d
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/5B2B6633E89C0BD58A0FA2C785A31EAA96278695.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Curve25519)(flags djb-tweak)(q
+  #403C440DA39CEB741E321784F06DB254552919F71B20EF9ED031F0FA02D6D5F661#)
+ (d #4163D84B6D1B3241A23A03B1BACA8697766C8AA1A964676E7B15C84DFF9215B0#)
+ ))
+Created: 20141121T150116
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/61F5836DA69D9F63059D2665451F18E4346DF43A.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/61F5836DA69D9F63059D2665451F18E4346DF43A.key
new file mode 100644
index 0000000000..955ae5a046
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/61F5836DA69D9F63059D2665451F18E4346DF43A.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Ed25519)(flags eddsa)(q
+  #4006D1FF44AAE3A141CFC2018E7DDF1F97311B4939768E0F0BC7EE19150DB11D05#)
+ (d #2E1202F780E0C11F3F99176CBF786538D98465B1EC432E4D70CDFEA307012667#)
+ ))
+Created: 20141118T190135
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/62643CEBC7AEBE6817577A34399483700D76BD64.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/62643CEBC7AEBE6817577A34399483700D76BD64.key
deleted file mode 100644
index 79f3cd2b841214e83e37f5a7c5a5410f9830d582..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 526
zcmV+p0`dJQF)=!Da%py9bY(4TWqBwwI&yPiC^0&2F)}$i0KrRxJ<~6z4S^f}H+3`V
zz>Ni&K~w6Qx`F1mx*uN{T=TbU8J?xdgwqV<-HN+NgYlkJ36h<@ALb~|p3<@Z?knx!
zr=G@>F3F-(tb9Pc)=wtR>g*QBpt-F2uwTveZ#z+ibwehDZ=bJahm(SdS!m{*afNbJ
zeT<=K!+ZbDktrxKI%P9D0RRChC^0%@F)}zh1t(+xb0*AZ#eDIW;u=Nw0u;O=g6+7y
z-VJ46kMFn#xlXr24OMPW)Kytz+={J3DX3zAtc}x~@sAmfvW+uO{qq9x0G?S>?ciV3
zGvEdBmY{J2%2RAqzADPuhT76E`$r!pD%T@^=lS9TZg(!F5u%8<rEaUwuB3Mgeqw@Q
zDJU^Ia5gnM0L@f>3PEU2Gj4SLrFIoz4EXxXfac1_#fl5xSdi!C+;rAV=r3YA?s6<6
z2ef|cui12=5sZWGx-(tH;n9pmTPY|pI&n5NIsowgx0O#2cHo3Ok<GaX@43Va6y?Kr
zIm0$(1e^(oB*Y0n?i+8D`0Z4_JqT=Zw56*d8i+zzGR0L++sg0>@PjERF*<cNG&(P@
z@+DD>_g9OTB922NHS#D|?O88D6{DB*6aM<Jo35K^nt8WlC8_+yyG1jjF$>JE;T9Gm
Q)vr*t>cfW}F1{%#DO7g*umAu6

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/64CA92780975EEB798D2083FF25AFD43A4033DB7.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/64CA92780975EEB798D2083FF25AFD43A4033DB7.key
new file mode 100644
index 0000000000..e5e07e6548
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/64CA92780975EEB798D2083FF25AFD43A4033DB7.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Ed25519)(flags eddsa)(q
+  #4089CBD8F3505333F4366B6CEC9C77984501D01A656E3835FE5E48AC68C485448D#)
+ (d #892D99E44F5DF2DE2E78ED7B92D321422876125ED53159C80EDE105058EBA119#)
+ ))
+Created: 20111230T230130
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/6DF2D9DF7AED06F0524BEB642DF0FB48EFDBDB93.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/6DF2D9DF7AED06F0524BEB642DF0FB48EFDBDB93.key
deleted file mode 100644
index 2b464f0ccbe4b2fe503e513672d8835ae4cbf96b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 798
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|>2=@oI+1aW2m}
zl~F7LRuMCmZl6fFktKU0VZUb}=SlH59<ys%6dv;*`qP^sq}HU{wN7-?IoXds>kVIv
zW~NSvKldu&AM?~rn*=r;IV-!w_oB`DmK~oRa|@k)XRnxkb%D_7pz9J3JSTG+`?w@L
z{UH1D$l)*dd4$i#u4oOq`O-Bq>%1n=C8@?%j0}vL8kPtb8=6?<7o_GDq!;MsC6;8C
zrD_;j!bOmMV{TQJT2!2wpJ!-gqN!nGm6(&BZ)_D5><Ho%1O01g6+b9E3Umk9n_%}?
zSb4nS)sNc$>#54-s#{_q<_A_vw@vnAIdFT;{*_x*ofb0%?wIqrG4{~*$*cTDR<!Jl
ze(IL@f<tujvWxL8M)Oa<KWAFsm>GA-y1Xl<z%KJ~{s&Hm(%COpiYnJC^R;i&`7H0<
z{7jeUoNm7R(>0eq@)cf~c<E;&$1(G%cYEJCtG-E91Ukda)QaIokyo;oPS1vUcgyCv
zoT)YQGG4p${?_+Z2TU?m*951A9$0FyORu5nT1Teqy8ZVSUC&vtQex)XUy9eR=I!)7
z^7TK|m{)QPtW(S1b5&~xyp;1_#yur%-}FmP7biPZzYbky@ncK3j?J7ODaVh^b%}FY
zGp9f(!#>As<;BL8>r-}0*RNh}2sLK)eXZ#SzwV54*s{OGzA$?3ikV0EK0k1QbzgpT
z*yoKR*Urstxu>){DJg7?X;<M34c!yzE1wnIGn0xrel7CA#%*b!I8QDv%{8?$F)}wa
W2c|6pSds#!5EHAs{Jd065C8yQ-(~jz

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/78C17E134E86E691297F7B719B2F2CDF41976234.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/78C17E134E86E691297F7B719B2F2CDF41976234.key
deleted file mode 100644
index 28a07668b212ae4c14f38fc72f1d656778cf1f71..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 527
zcmV+q0`UDPF)=!Da%py9bY(4TWqBwwI&yPiC^0&2F)}$i0J*_!%}Y>0BtE6-fLd7^
z5ZU<b%_q4UmV<djz;pNEEs1#EsO;FY3nkW2NETp0jb$!n5wYUQK`-xeEA`pH)$TKN
zd|2plA@h2moxGR?7&5F@;P)Sx3`}@Q0*8>Xgj4-$1`gseoVNO_$i>4J6KkK#sAe+_
z=d7Bdd&uhuhbbsAI%P9D0RRChC^0%@F)}zh79!~M=pMdAm3piq@u6U=)oup5L>rj_
ziq&q;2!rRp$9ysTtBn77I-ePy9h`>qRJDAu=_3D}*Bg)BkwnYq{;MRqCNULKaRsE=
z<B+j^?k`S|x550#ObQG~exy|1=;oJqfP5Z0NPqJidKFgt-<*(s;n-9v5H##6XrmEf
zDJU^Ia5gnM0N9EPx+I(vZAgC_UE&7UaStYFwomv(u~VT_J*g_X@O+(m|M7a^IDVzm
z*Rf!nwL8@mdG0i{<K#jgl5%jrZz(7-I&n5NIsn_7M9P2p=}O2q*GmlLP@ju*y49{V
z?N;Gzu7(KnQS4dBu7g9wQ0E;DRd2%~{~<%gy3Qwq^Vs$@467;GylE*YF*<cNH97#l
zY+<&eC}XYFG-WMN(nJgmeJNixq=Wx->EN`Zi0jKA)_jstRqYIhg!!^(L4&9lK;|!<
Rpw6b$yIbP0v^UNvDJjAx{2KrO

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/7A788436224049A2FE1E446E16B70DB012C830BB.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/7A788436224049A2FE1E446E16B70DB012C830BB.key
new file mode 100644
index 0000000000..4df0858b89
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/7A788436224049A2FE1E446E16B70DB012C830BB.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Curve25519)(flags djb-tweak)(q
+  #409BA575D98C4F4F414AFF624CE0E63882099BDEA95261963C9A0C1185D2D5261C#)
+ (d #62A2816B08C1489F5978E36725E3A1D844EA5CD0DD95FBD64208ABBD809DDE50#)
+ ))
+Created: 20141118T185800
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/7F714F4D9D9676638214991E96D45704E4FFC409.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/7F714F4D9D9676638214991E96D45704E4FFC409.key
deleted file mode 100644
index 137659693bd3b69fe3b51aa9916890277865733c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 798
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|`vVW_U^?`n1Dp
zrzg+cwHF3z{k{3#eetAuI`-eIHoE)nt^7N2!7Q12%{DV#k@VZ*0s2xi8*8lGY#;Rp
z9g28oRof}PHsHU56-U+l6Bjc~4BBqrIqKb7VR%nqL(NLz#EJO=@+LF$mVWt@*}R!!
zo8PYJId^a5yqwZop|C?I>?NPQyC%>jsm4}}42+r@mIxOcnpou*q~;Z*7wG0CmSmQt
zY8YC=MUZ`CZdI0ARGgWgXJ}=jsbON3n3JAwY!wvj2;vk2{cC6yKPWs3bO+d*VE0&9
zxtDqd`pBhkza6}1?}g(_<Ui$KzQbJPBPLX*86-2YbIIMK7pr$JV=F&$<>|WP*H3K`
zU72t#J*v1#lDYhI?lF%Cv!*0@y2bpNKiyjTZB|Xols1n*qb>a6%hqu=nD9!8d|ATA
z{=(Sv^Hwvz%U=%8bt)EInVj`}?$MvATeh9!iC*dmbcUI!6~hth-&6nIj0%%qyZXRs
zw@EJl<hR9ayFSDFuqcbbG^5|$3+%;LUKLq;`QolqcI!fH#7lLp-UNLqJeK*ut$K3C
z)AdkeetO*5za#um49D$!yMxz1rYsTsuF%)K+v-40phf9A2QB$f*Fq+)```J4&P#k`
zxpm~MzUO)=HAP<DT~$G4Z}+~08uLl1B>TaH)2v)AFDD2tWm669;7MrKOFqN*siu5e
zc;x|auN&Jc^dgttYT2{oQA=o;^`>ppS`*DqA7Q+r)u4GU5ftai#ihBXRwf1(W=6oY
TWdKW3z!YL)m6xBFstE!BP8C`u

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/854752F5D8090CA36EFBDD79C72BDFF6FA2D1FF0.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/854752F5D8090CA36EFBDD79C72BDFF6FA2D1FF0.key
deleted file mode 100644
index c99824ccd43b4c22a344af3c9074d38a736c50ad..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 526
zcmV+p0`dJQF)=!Da%py9bY(4TWqBwwI&yPiC^0&2F)}$i0M3U=WY|w|OJ759@*5}@
z?M5FrJ%PS827pcfAsNa}+`5FyN8RIa?OwyKzC`#$)B`)jv70hutA_GK5_GMR{@!eT
z!k=6aK%)vHSTN!x)tr8{eVD7E(5@%_>PAPwKgUyhVMsTwa2fPH6S~}zib`YPhGgQk
z)CnWREJ%@;xhW_yI%P9D0RRChC^0%@F)}zh5LP2N7UVI##EVfQ)q)mcZfS|N6V5l|
zi^89)zMg^}bE1u1q3@f&D*w-ty<z4L-!YpVacN5V26Lls(o5)oTrihQb3XXj?{V`~
zc=wm%(`&$|vxThQ&TSBhbKjzb{bVRLQcw!3Nh%SxR?K&4P0pIpo=jX)MlENv2DxMb
zDJU^Ia5gnM0NrP!jKn-L*5lDZ$E3#~5*0ZjC9c@FP>3+(q-aaGf>!G}jW*8g&sn_I
zuI!%sBXOap8Wk8^Y2z{i#v%^br70*eI&n5NIsop>l;8k~B>5xWtAya!(bt1lj1SIC
zlU<#9Pk1++9u5gTP+w+xNy3S4_AL{l28J=F?<4il@0$ZL+&%7=!i6a)F*<cNG&(QB
z6%(nPisO>piwpcP*j`yT&C<v5|14xkZsqI(E|@J9B84jWqG#|(xkZ&?NhnErDG+2d
QWxJ|!-CF?xPRA)JDc@A_fdBvi

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/8865328E25351B0D7697D4156A13497174F999D5.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/8865328E25351B0D7697D4156A13497174F999D5.key
new file mode 100644
index 0000000000..d1faca4208
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/8865328E25351B0D7697D4156A13497174F999D5.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Curve25519)(flags djb-tweak)(q
+  #40BBF4FB0A5BD7D8C29C1FC6DF99A14930805025C9B8161535913F7B9486049C69#)
+ (d #6AB812F3623F8D8F7E20DC5072D765655EFD719DDC36A0CE38336C26D7466D40#)
+ ))
+Created: 20121130T230051
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/9504643B1FB8AAC7529134D1565DF8B4ECA01E35.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/9504643B1FB8AAC7529134D1565DF8B4ECA01E35.key
new file mode 100644
index 0000000000..711b4994cf
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/9504643B1FB8AAC7529134D1565DF8B4ECA01E35.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Curve25519)(flags djb-tweak)(q
+  #40E940D65F4BEC8205787968C2BD5B8BBAA8CF49A7ED1A2F0216E1CD595E363243#)
+ (d #5E90072772C99862227F8A8335C71DA603A3CE8E8C84F82626DD72CE6AF91950#)
+ ))
+Created: 20101231T230030
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/A3BA94EAE83509CC90DB1B77B54A51959D8DABEA.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/A3BA94EAE83509CC90DB1B77B54A51959D8DABEA.key
deleted file mode 100644
index ca1284089520e7ef6a2e7397685c0902bca3aaf5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 797
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|?B##BN!+jzRSM
z_S+{LuPyPfNWFC6dn#AN$AAN@KUe7I7lm&+6!hJ}V$OTsZGF3fCUg{MC{|j_2GmcL
z-WixXM?+%ED!t_wGZP=K73%AY)cLk7B3eEqK)G>Io@v?cGc|Y58a@$JVAN=TuvBs4
zyb3@0L(w*S{d(#Q138-VCvfd$)&#mF)!2%Wfl*V#65(P)6RZ4!)VzZ90^PjClFYJH
z4MR(~2(oX?t;$l1iZk=`46RHwHB77$bJFvTt%8CbL7ZZse+{kT2Zcw0?f`oe>>dj%
z=CEMP@AV#2Rgc<Vxt5!Hfidlz<a396fil(dnsv99FfYBbZ@X=2$8_Pdu7Y#_$No+c
z;$O{C{jJjb`E13NXOk|nB{!Bj-4}iv$h=qG>gUR$JHlVCc{FzT3McH`d-{I1!Hd%g
zN6$YKntHmzXl1LvgJxUawI+S<)a(0BPw8hhEKmeG!_3r*;Q)6|g8Iu#Uj@^zZ(=_1
z%Xju4F<Ut?L3zIyI%czcC;3gv_UG4mCm@;CefjmLj5p0Yz2k%KY<luF!oViWVgI9@
zP-7l#HTPI)XK~`6UG74|MS?PaZ;Kb*tvWZQPi*&#c`lPTmle2v*krskbt9YBs#`Tb
zRqp?ePkS~^EZb5<-ox&}`q?03OsqtU-2}v0rB{9MxHjp>6ydvKMJd-*Eww*P`X?Cm
zY@^khD}p~H<XUE}TEURWJN3mu#T?U{%@1x({PFbOlOIA6+a`jdJh`|u*VM|y(7?hH
Vn6wOFDGHcCOsw+q^HMcI001^LRe%5h

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/A6BC0634D18962998AB53A0134DD2AD0DC4E0782.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/A6BC0634D18962998AB53A0134DD2AD0DC4E0782.key
new file mode 100644
index 0000000000..4d8a2da326
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/A6BC0634D18962998AB53A0134DD2AD0DC4E0782.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Curve25519)(flags djb-tweak)(q
+  #401619EB6E565EA32E569C4AB914A9631288FD0E01802835AD00362FDACC90A171#)
+ (d #71C77142D31B30081D28CD6EF9897B8808527FF1E511DF6EEF6ED23FF49C64B8#)
+ ))
+Created: 20120101T230044
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/AE6A24B17A8D0CAF9B7E000AA77F0B41D7BFFFCF.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/AE6A24B17A8D0CAF9B7E000AA77F0B41D7BFFFCF.key
deleted file mode 100644
index 06adc06c42781ba133ce6234145c113b040d876e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 841
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|@PAe7e+s)xKNP
z{&QDq@QG}YSe<_UTJe?7mp$hmTJbZY@%Y+Rk79OkZpzuezmI)ZgM{B7d*!Z~HQKj-
zuerX}=~?b-(}v{yx`j&@?crbfWWw})9xoVY^+ht(TlGA>o;0a(vNWrbsD`}H^!B}C
zJmQx7@5fv7$^P1=s5X7}{fCJ<CyX_LE=e`EVq{>{)UZUj*wDl(zaTZQAiY30FR>)E
zELFqM5-x)58*{6&)S}|d{5(S|6HN^htHhl2d}FJiU`G(A80cR^tN20TQJ_1(-UNBq
z#KKBz2d{gmY16OsX7NXuy6r+E-lsMwy*&_dxqd?1#ffs4bmGI4#p~W(o~JRV>C5DU
zq1!4}il<&?T$<ASG122lOZIDpFTR%bL76B1Oy-(1_jQ~@yP3MG!Fm3+IX()HnrlD4
z4biWZIF$GEd3=V{x$gxLKX$Ks;?#3zUpT|uhC5sq9+M{oi%dy=-RYvg;cR2Tp`E3F
z<u9dntIH=grJpdkcxw8>dGoXFL@c}JTVJuRDXGzWdoD)nK;bNxNoTyuyII$(hwc0r
zz*(2RYR0YRy4%Mu`0#GJT=Ur^MX_AnFvRk{U{Q2glf3pMp6ZGEq0G<Mxc!hj)SUab
z*Qxzz@W<aF_nu1~;p+YVRA-N3+s7YTyGti4YJW)E-Sx})yg_J$ZDYR)mk|r|DxT95
z7nGbe{k=$BKGdwa?Mm*e<GM4gqui<$nbu~CHT54Ydou6S{2#@?CEmu_yp1@q=Jw>K
zr1rNfKvADuT$*cWWdKZG2C!5GOeDZ0k&$R<YUS)09Aau=6`3~WmUvIQy`hz{iB+(N
XqoIY>-K)v_C8~>88d+JIX@UR%wBUB1

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/BCFF2771AD5F49BEC185CDED47EC47D15550CB93.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/BCFF2771AD5F49BEC185CDED47EC47D15550CB93.key
new file mode 100644
index 0000000000..52e1aaa9ba
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/BCFF2771AD5F49BEC185CDED47EC47D15550CB93.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Ed25519)(flags eddsa)(q
+  #404CD8B5371C0868C770EC91255E5703812174BED5AD019C58C0BAE9DA0383EB67#)
+ (d #6C05D0EFE8281C1D22A7E652DCCF33FF24C4DB7291D1B772FAE469D95BC4D81E#)
+ ))
+Created: 20150822T111645
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/C072AF82DCCCB9A7F1B85FFA10B802DC4ED16703.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/C072AF82DCCCB9A7F1B85FFA10B802DC4ED16703.key
deleted file mode 100644
index cf9a60d233b86ea419e4b616e349bbed1cc0cc1f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 841
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|`wDV2!4z!scs^
zuKy2iQ)%N~$-VYK(D~p0-&gml<=%Vp;)(Y(*)BobiTv*R>^c5f*8^^{-u$WS_)F{&
zi;}%WVEP>vg}A$OLw{9;N*-c~W<2<QN+kdDtVa(mqSkdjc`>^!?wOPMvdgwJJ)Yk>
zJNt0Xs^%^GF1WMROC5iedAQ0bNnaD_l2l_WMg~Sr4NHWJ4Na`_3sUn6(hGF+5=%16
zQZ)=M;UdVsF}Es9Eh^5;&oi_#(bO=pO3X>mH?|52b_8*Xf&MkLiXRjn1-b+5O^|m@
zEUYx1ovHabtD{``W5TcHLX-7dc8R^;5&iI8)L-lD)p}R0CM3QvY|}HgDg5~Fnk3)f
zq9WVZ>r*+G&fgtYn%}!^kG+l0+)DX&g^w%xe$6Sred+y=Z5Nz#E9PWXKAy)S-c!lx
z_TbRVr_<$2%eS35%)sC6uxRTF-yO|Idmfv9T_{!Z^UCt}SnXwV?o0KYk;qWUF8*av
zJax~R$wF_pe^FTOzQ!}nr{d?oxEn`|W9RekJ>&3q+Q*Q<;FtqvJXrU9>uk`tzVf26
z8|#z=;g_7}>YpT=ac%4mo2K-)>UNrMnOaF$quQaOpoXa3?H{LP^|d8@h;ity-ZAYy
zkMNE=!D+fbwuh;2dRXTdal%P%^V$_@GZ<#=sh)CVXVizoIu~wrsq%k&?AB&^N8}){
zm;V0<{*3|+*K()KWIdpNYh8i-*Tv>G?$x(N|LiT{;@v*u%Z0{`tG=f`%vt#8UHy*u
zr_Ww&7Zd?SeR6SWuA!9yFnJlkQWY?f0Fy*UqM@mkvtw|GsfAT5dqLd$l)X%bR>me)
Z!5)r=7FKt!ChwQ1E?#M5Wof1f0s!aOfdBvi

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/C36C6A8B40A2179CFE83CB0C2827358AB171CDFD.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/C36C6A8B40A2179CFE83CB0C2827358AB171CDFD.key
new file mode 100644
index 0000000000..2c491e5361
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/C36C6A8B40A2179CFE83CB0C2827358AB171CDFD.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Curve25519)(flags djb-tweak)(q
+  #404B32D4946068A43D436843191272244F5FD661A624E2F3BAAA5B48158C14C12A#)
+ (d #6FD7F940800F8749B7709638BC020B8BA6CD7072967D9E456A39C4FCF2C09798#)
+ ))
+Created: 20111230T230130
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/C43E1A079B28DFAEBB39CBA01793BDE11EF4B490.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/C43E1A079B28DFAEBB39CBA01793BDE11EF4B490.key
deleted file mode 100644
index 0ed35172fe01e0021a8365a11eb0870b3722d474..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 527
zcmV+q0`UDPF)=!Da%py9bY(4TWqBwwI&yPiC^0&2F)}$i0MUKpgWQh6p1{630)l*u
zku3MiycceiY-DjLWu(cWl~c}6EBaV3YE}z4S%)j`8#-333{AP1yVeBg)E!GS;aXH7
zvFN$y7ax>Z<Z?Hmz2zdtAb_4?DtC8mTAlmjXhH%&Z4V#c0b6NA+P)%f$qT|0EqkU?
z#;?KK><ZP{Cn+c~I%P9D0RRChC^0%@F)}zhB{l#^w$Grl%QwE{9XoVbfh|tL4MTPp
zzRRA<S2z89q0>HXZ(U@jwY%<laGERxC>y64)L@7)tu<H){azD!HI9$nH8v+Wu=-ds
zb`uGti$P!o%L!GW(IK76z@DuNbKSVEx!{dMG5ojWNUI?_dww-+w2DwzC@&cGUYZ;+
zDJU^Ia5gnM0Nm!ZepVcFVo`gg*W%6b4ujQRVFA6yAB0Sg^Z_)P>iSl|FkWK+h7-p-
z51S+$sve#t054y~u$V70o}E!PX(=c%I&n5NIso#=82aW;MkLbotc9JjIX6Tk&8F9u
zRGg)$D2Bl*ABOtst8k>V)ZK^sF@kp=a2;>rlK{_olEsW|!Nj-AK@TY?F*<cNH97$9
zLrJ|h9z#!R!%<Yr1PAfS1$T6Ta;}+1Qm(Pm;H}=^_&Esd+_MN~!|g*LV6DNg+#ysB
Rw}%D*^F`{dGMcC<DJf$|>=yt4

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/CB5E00CE582C2645D2573FC16B2F14F85A7F47AA.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/CB5E00CE582C2645D2573FC16B2F14F85A7F47AA.key
deleted file mode 100644
index 9061f67512102ffeb5f7a213a37cfb2b0cbcf07a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 797
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|`vKpV$1*=RNo5
z)IY)^%qynGuGQVS?Cj0yAFiaCr2npayJoAYbE?%{xd*+!{@m19aE`6_RF;TE$hCK2
zN1Uf`eE<H0-}FyW6DB|KN!@1`uOs`$%Ypm-Us1!<WqVkriLEbu&+aa|`Goi;rElE<
zV)h<~gd{gK@BWs}bMbKaxy2{BSCwi4U6N{S#mK;@sbPt5v7w1oenDzpL3)91USdgR
zS*nJiC0qpAH|ADlsYS(^`FVy`CYl;1R*5<3`Nmd3!HytKG0?w;R`G+vqd<3ny$N=Y
zg_XvGXQ!uR9TDHy`TkJ8+{eqB+nHnEwJqv@ap0Wn>znqi-N6t3f0Sk3?{MSD@%=sf
z-`%J*W$Xygx8+N?6e@J*+!;RgL}i|GOIQ1)Dm_oi(_UsRJ7-clfyc>h_RIwaOApW3
zllf`uf7ylxmMM&k3Ga-|Zm88S$z87QRHasaopaOD>p*9inOZR%U+ML-Xh&;++5@X?
zO<h}WUO2}$^`GYSDqF=9D`(!myXdck-w&IIdrDRM4%yr^f3-J??|V@G%*ac6Iy{g0
zUoVn|8uKK{Q}FwW-&wx7>q;)Y@<>r#w^#q4%uIueB7Z-5R-Re%*x|Btx7v2I{Pv~M
z5n9KsCNy*15@1fyGO-W4&+=7oJ;)dnEBQZ*uk=64mE`n4(i}gL`@+o5yBVj~Z9g!(
zJnKf@PBq_+Gpu*yayQ7t+DIMh+wipW&H<gC33FFP8^m9FKA-i|BT$ql7nkOmTA3J`
Ym{|ammH{k90TYOcRbGBxswM~k08cY$wEzGB

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/CC68630A06B048F5A91136C162C7A3273E20DE6F.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/CC68630A06B048F5A91136C162C7A3273E20DE6F.key
deleted file mode 100644
index 89f6013100d9673f143165079ca20a5b08a3d7f7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 710
zcmV;%0y+ICGBG-Ea&L5HV{~O?EpT#ac42g7Eo)_YC^I^8b73ekI&LvCIXVElEM*@$
ze3)cHKa>3VSs*~DoM0HI+XQ4i&{lQiC_9Aa5jd*5>9jZ?ugtQkvtDuQkE2%uk$3QV
z75m``j{TfM4&Art^mK$6nxGiLiJsLOV-f)$O0w*!8@ti&Dk(?=#B#`sD>VUjh~oB!
z;w_uMkco(@CtV!uzXYG6T?;uWC^0%^GdckP0VyasI&gAtbY)|7Wn?lnI&W}gZg6LC
zEpsw!Gc9vyVKFUXWpgcKVq+*MG&*x=VKF#57<KOso92teI65&nHZ(9eIW{RVHaZ`3
z^&_i}(D8%mrIr0X$$Kd@Ffcl6U$DEo>y=x+>4!`rW0a@lt?7^P0x*dIb#V>xKtKnv
z?|d@)<6>el0<~Z^Jd?Uyb6~HTspd3_ZH><VwlF;Vp*;3r3{CBRJ@+F5Fx2b1m<#2{
zJj>z(k`#3o9jM)jJA>S<%6ubq47Zs*o^MvKt(-Tu_maF&whLNgkl>bXn+lwT!A_Q3
z>iGFC5yHNQ^ou+nexYnTyHF<vEC7W&e7K*}DOmFHB2iFBtt`o~{BQxV#G&CHLlsvr
z#(P2#k<yfD;g1+M29(@kRhko`GoL%YNqfcnph4p~<oFx`C#W%CEq`Sx){|`v+SKz&
zyw#qc$|+l|sqv%hw+zo;>n5XT1ozzMZnuYAzi26^=54KX<uA=Fx~~AyinW3kX8Q#Q
zh9~R52#j51G|xgBEJ*xLm@e1NLNv5;`!2tnkftDT=-QXV?LVj#Lb)Xs(B11?e{Et>
z=n)VP*bG_?iOmKv&rAY5NZd7|-OG@_v__pQ{Nc=o1ZPx0L%8Odw5tCrouqf4wJRcw
s*>IjIC^0fRaB^>SWn*+@WG!KIF*Q0eFflbTFflb$F*7wdH8&|KDYo1~Q2+n{

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/CF723A68027A82B538F04BF4A2A1323D1B3E095C.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/CF723A68027A82B538F04BF4A2A1323D1B3E095C.key
new file mode 100644
index 0000000000..5e431d38a8
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/CF723A68027A82B538F04BF4A2A1323D1B3E095C.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Curve25519)(flags djb-tweak)(q
+  #40D5985FA4E3038AD26D8685213A0ADDBB87A065B228D7D2853572FE9716ABD813#)
+ (d #42441AEA366A281B481E1993A0FECA94B487AE2C13734704797131C8F3CACB68#)
+ ))
+Created: 20150822T111645
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/D6A2C195DEBA3506F0ECFBE3DDD7C57F6913DC7C.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/D6A2C195DEBA3506F0ECFBE3DDD7C57F6913DC7C.key
new file mode 100644
index 0000000000..8ed162c023
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/D6A2C195DEBA3506F0ECFBE3DDD7C57F6913DC7C.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Ed25519)(flags eddsa)(q
+  #40B1F1895AB187AC68A375C6604BB75F1B995BD9C36F14BAC8115F7A4E7E26F6EB#)
+ (d #7DDE136B2995E97E279A7CF8D193468742D56451D70C8EA8DEAE69BDEBFECBA2#)
+ ))
+Created: 20141118T185800
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/DB8C922A471E08FAF083EC2465AFB4063904C282.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/DB8C922A471E08FAF083EC2465AFB4063904C282.key
new file mode 100644
index 0000000000..969c2ec690
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/DB8C922A471E08FAF083EC2465AFB4063904C282.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Curve25519)(flags djb-tweak)(q
+  #40ACCC6083DE0BE9E0CD37E47B305B0AD7611AA100BD7D0BBDA489489BB0A96B10#)
+ (d #4A015D5FF823AD615F618117FD465FD515D8A6F6D1788546E46E5E2F68CA8578#)
+ ))
+Created: 20111231T230214
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/E0C3163E69C57319C6038F9EBE14F5D55DE553F7.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/E0C3163E69C57319C6038F9EBE14F5D55DE553F7.key
new file mode 100644
index 0000000000..1e4cef029f
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/E0C3163E69C57319C6038F9EBE14F5D55DE553F7.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Curve25519)(flags djb-tweak)(q
+  #40E67DD44B95A0B37286E0B7812C6AE59FD37B487323496D2FD02ADF184722EF3A#)
+ (d #55AA402F49A1896142FC1E3311C5FC734820301ADE06D1F339C8DDF0351FAC20#)
+ ))
+Created: 20141118T190135
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/E7E73903E1BF93481DE0E7C9769D6C31E1863CFF.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/E7E73903E1BF93481DE0E7C9769D6C31E1863CFF.key
deleted file mode 100644
index 41dac37574e3f714572fc2a70cd5a8dbbd55fcc5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 797
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|>2dWjk3<=H|6e
z-A|0{_T{P1<~i||*=CK@<W0U`T1<Z|^*QT4BebaX?};aiwuLA!(_3pkVL!X~qshlK
z`qMwSas3re`F@e3)oG2^ffM0olHp!qPtJb)eOuHllUvUwba(yVz6$pmkI0`ZjZ)<_
z{w&+hdNg&Fkl*qtSJ-t{mRLrf=hg(eB-Pl8k%3WD!xG_QLldj~g4Dc%^a9<y#FEUi
zR1HH*xCpXu%&p2&i;6Sz^9-#_G&M}D5_8h?jje)$9YLI8pnnam;s=FCf$ji%6YL%f
zEB2Ze&s!flkKOS&bKW?QWufvTS%(E)FHOWVa~FI#|A^uKU9Ug=0-;LG{)=2J=62|_
ze)QK0Exd0o&88L6wXi)fKEbNY?e8x3;=k4{-6g9hxU67odl+;fPTnncMZVrWy)A0l
zO}D(94;jr2>;G)QGU@EG_Lq87ZrQTDj}rBs8Yl~NhMB1q!=tVBFU*X0_Pgtwx|IAC
zms6j9TvqU!hnd;Evz~?v?CiWYA5L_0^=-Lz_4KNlFKy&+cf1O6V6s>g`h8k%TT62|
z)R>o+OQtZ-7YbeA8(kZ=>cN4c-Fps7J}aCrs$VL2U&DlVvZqVIj5Q+B&b!2BDy@|_
zHMBU)ykJMfmN_ObRi^$6%>@}_Vr4HQ(A*f_5aQ&c9pdA2?)9ZzfzBQt4>V1h9$Q!~
z?wEAm+0f%~MfDetrRlSGZSZ+pInCy0l53C5#O|4C^RFKD07ZFnacQopm9d49g%L1m
T8NgB$FoBp@<>lw4YJva&uMJV;

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/ECB164A45A1D5C5078508A9869DF6DB84DEA543B.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/ECB164A45A1D5C5078508A9869DF6DB84DEA543B.key
new file mode 100644
index 0000000000..6447ec553a
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/ECB164A45A1D5C5078508A9869DF6DB84DEA543B.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Ed25519)(flags eddsa)(q
+  #40964BF2C5B3BE05C4F82CCC49BA0A40B090AB03C9A4076B096115D1C61A47C470#)
+ (d #1ECC4B3E224D9A07FDA2B3B041729949B02F86F8284688D6E640D64B138FECE0#)
+ ))
+Created: 20141121T150116
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/F0117468BE801ED4B81972E159A98FDD4814DCEC.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/F0117468BE801ED4B81972E159A98FDD4814DCEC.key
deleted file mode 100644
index 5df7b4a59534892f3eef8aa6c0c29ef5210480c8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 797
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|`xj|M{xM^Wf;B
z<^H|xfzd~NRa@9TlvlWx-OacAJITZ#O8WH!$F=WIESy`bx@LLWnXS?-+g?YPR*5E7
zzOd)Y4HWzEU3l7zUDf-i__8cImQnG%T#4WG)>ZwPpT5Vu<y?5-#r-JpZEs)8#T<8@
zof~NOdRErl4#y*^(__xci~jtqI9U_ul2l_WMg~Sr4NHWJ4Na`_3sUn6(hGF+5=%16
zQZ)=M;UdVsF}Es9Eh^5;&oi_#(bO=pO3X>mH?|52b_8*Xf&MkLiXRjn1-b+5O|W|`
ztRn7m<}^>K$?~r6k0=%DI#JJ@$mCR?H~Gt-z?EiQANNg=xzIlEb5lOo=O6w~>rSzV
z%Kg51`K)A~{gm#H$+H6eJ#9rlEb|JxK6`twm0I7f*hiP`|Cc;JXRBh9#eL9Ve%YfR
z?e5DWi!Q8tzP?Dx?bllKjDXs{-r|tJ0JkU8tyFb^&M-5zVz|-2<L%++Ek3_X7i5IA
zx&$?`ediNoerU$6R(MHpc~9=csESisfsYJLgiJP7r)JewMsmh^-hM26s>5LIwChT?
zP-7nasB98iSn$uYL`na*>1kWf2G%X<iX~gxvf6wT;|-P878YJ#)E{STA-2+t)34b5
ze835XgRjf}$C#|S@$c3GevmOHRz@y~f9JRNCva^FxVB{q_mr8Hheb>dbDcO+!WLdq
ze9Lp@ysRr4pDUC3*6}2n#fxj}iOq9ko1gE&J7H@C<B_}CpeRo+F3mNyGPX1{F$5+p
T16YazCJ+;=y!^aWO%MP8M;TkD

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/F4C5EFD5779BE892CAFD5B721D68DED677C9B151.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/F4C5EFD5779BE892CAFD5B721D68DED677C9B151.key
deleted file mode 100644
index 03daf80975b37ad9b2e2de5680a0036d90e553c3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 841
zcmdNeGPEiv$}dSxE=f(%Ehx$?ODsv%%}%Y<Ft#cxPSh~8$}=>wv|{*DlKr&(Ze)bB
zy~(Z_lg}_MZ;Y0y-TTK_YRx`pk%aZ1)T(wV|L^FZt7fLN_0zTP5F_rg#qxKQ)<0p?
z_>%dm%X+2a^V##m>)tZQK8beT(6RT0#iY6q|D<kjwoKE%etV0?hRH8mXL6PKXNJ9>
zmNLb%_Pu7(a^}R0g|68#f^Ao}Mrs0Gl4@+l$iS$nVTo|Dp@~&~L26z>dVy|UVo7FM
zs)nH@Tm;!S=2m5?Ma7x<d4^Udni?ini8<-{##TYWjv!7k(7%RO@q@ynKzD$>3G%Lq
zg%#5~XBpG?egEEAp1LN}y|3`hqYFNzVei>23rqV?sI@)iHg8IA?3%kOCDM4qi!G1k
z&DtcZK2NY*^DxCN;fmI8>xoSEXMe9*mB4F|BVg5aO<m%iu-K}-S0~L`y8ge8SX0=4
zgX!vr&T)CvtWOXr3>3QB`c-$oyjfgX%8AqZ-)oO{pBDNp-=}*)$u-JX;iq)_9g{sO
zn>gqB-i`Wj@FUxV=O5kfaHKIVm9sF3wmVyEmYB1m)#qkM!2PW!l@8>$OCRL;)cAhM
zJH_1vi3(a#f4PM`%0BQ-df=0!q;%qd?Mb$4M{acVZMA1+;F+grdg_MNx^~8%wd_16
z>)&&Rax*fE?vy#T#VI&D`Ic=^Lf%n9)r2*z*Z*(bTA*Bf)M1ImvoBB27o1rZsL^zB
z&M)=p3aQMV$2;OryC?=(xXnE+dstF$mf_U*Ds^$^j#_LgsCM&qnxs8Ht=u*2lJcY~
z`>CFws822~%{8<#046U3SgHah5@3?ZNHjFHa&`<3F}1MLy=UP1OPq0$p_Q?TRj`Mn
Wp@mh_tAhQt*BXu+Sy`HCf&c(Uq;6vX

diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/F4E86D61A71E9CE6B0DBC65C5121846E542913B9.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/F4E86D61A71E9CE6B0DBC65C5121846E542913B9.key
new file mode 100644
index 0000000000..a95f02bd3a
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/F4E86D61A71E9CE6B0DBC65C5121846E542913B9.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Ed25519)(flags eddsa)(q
+  #4017C963514FEF755C31DA3805DA2C4855F3E335048E3BD91038FA79B743FC1993#)
+ (d #5CDC629D6C26FD0E943792EFF739A5E633DCF506E3C587F58806D59ED346F631#)
+ ))
+Created: 20111231T230214
diff --git a/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/FE38C61A8DB32297C7C3C18E7A837D7B70263BC7.key b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/FE38C61A8DB32297C7C3C18E7A837D7B70263BC7.key
new file mode 100644
index 0000000000..ad4078fefd
--- /dev/null
+++ b/test/lisp/gnus/mml-sec-resources/private-keys-v1.d/FE38C61A8DB32297C7C3C18E7A837D7B70263BC7.key
@@ -0,0 +1,5 @@
+Key: (private-key (ecc (curve Ed25519)(flags eddsa)(q
+  #400D3537C332AF3DA91B8A186A8294CB663D8FABCBE26CD57255AEB3EFA4F4A49A#)
+ (d #978A174337FDA5815C221F379BDF657B90E779C9C5E085DE8160BABA695749C5#)
+ ))
+Created: 20111231T230149
diff --git a/test/lisp/gnus/mml-sec-resources/pubring.gpg b/test/lisp/gnus/mml-sec-resources/pubring.gpg
index 6bd169963df7d73f1c1808ee82925a7e53bd6c18..579ca74999dfc5bd9d75c4b68929df5dbe01f8ff 100644
GIT binary patch
literal 11564
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
A+yDRo

literal 13883
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

diff --git a/test/lisp/gnus/mml-sec-resources/secring.gpg b/test/lisp/gnus/mml-sec-resources/secring.gpg
index b323c072c04c25591abcabdbc3d801ad61472ce0..005f9485ae60a456008f8811af847ad4b38c862d 100644
GIT binary patch
literal 9315
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

literal 17362
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

diff --git a/test/lisp/gnus/mml-sec-resources/trustdb.gpg b/test/lisp/gnus/mml-sec-resources/trustdb.gpg
index 09ebd8db114842ac1824a58e0c1c7ed2c80bb98f..132c0bb71cdfe4c48f67ede578d4d3e4d379623e 100644
GIT binary patch
delta 320
zcmcb?H-T4xF})z2nVFH5k%@sJStGZ7qM`Uib)kuOg(oVoObifYRGcU%Hu(b6RYrx0
zhEhPr%89MgK&j0am=YN$DzJk^Hi}Pl;Fz4i5>)>>eVHM1=gD<lVN)mc)xRs-Ex&Op
z8v__<LMRZ)!;mYLwyof6%08b7i6t9YxOYrlwj-_$qCgE<on!7)wu8+I;nR$l$u(Z+
z-CgUang%sb6<Hn6-zi<0OG0h0vrRp^UE{T!*&3cV>`;X&$O@UAD(#k<OBWuz^LuwT
zL)AW`cW<^s)hSQ@$7V9wiA`hjCswt|3s|KlE3s=#mSWXlQ3skZ`5TK0p9aDxAPWE)
Cp;gHM

delta 468
zcmbQhdxKAaF})z2nVFH5k%@sJOp)7QVx#y(b)ktH#3wE=oh-;CJuyIVvLg$SCpytm
zc;W&@M)ira)-&o%Y?Pb0U@oK9W<93OjEt%iXVtm!Fvw;9nr=JKka>Ik<(Y?P&iSa;
zyKfN#2H;^3N!B~H^O3sQoZg$&-=ELgzRvJUAsa-U-sCtomB~hI8omlB8hIErVvlUm
zFIxZHCt~lJPmHSH+m=jP(FReYf>6rKAi8|w&a8_$oo6h1v^#{2Pnf42FK3v1pH*8&
z8KDfw;$e7UetPj9&5Px%8hr6@>cy`pMs2WyIzw&pK2{?+9tM-8YF{S4+4yKm{){>2
zUrb}D+S_mfszh`0G*%Org@0z<nYZ&^!JnOZ_HH>pp6P`tM1ZW(K(njuUF_B~0<(R^
z<2L4N?DQ=(4p<ciRiZsPk5$0{MLn3q!w@aMO}hM_{H2;%=MP<(^@g>~CHWE5c3q$*
NlgUzS5`2m%IsxuGgJ=K%

diff --git a/test/lisp/gnus/mml-sec-tests.el b/test/lisp/gnus/mml-sec-tests.el
index f308a61764..e4e607b70e 100644
--- a/test/lisp/gnus/mml-sec-tests.el
+++ b/test/lisp/gnus/mml-sec-tests.el
@@ -199,7 +199,7 @@ mml-secure-test-key-fixture
      (let* ((mml-secure-key-preferences
 	     '((OpenPGP (sign) (encrypt)) (CMS (sign) (encrypt))))
 	    (pcontext (epg-make-context 'OpenPGP))
-	    (pkey (epg-list-keys pcontext "C3999CF1268DBEA2"))
+	    (pkey (epg-list-keys pcontext "2FAF8726121EB3C6"))
 	    (scontext (epg-make-context 'CMS))
 	    (skey (epg-list-keys scontext "0x479DC6E2")))
        (mml-secure-cust-record-keys pcontext 'encrypt "sub@example.org" pkey)
@@ -259,17 +259,17 @@ mml-secure-key-checks
        (should-not (mml-secure-check-sub-key context (car keys5) 'sign))
 
        ;; The next key has multiple subkeys.
-       ;; 42466F0F is valid sign subkey, 501FFD98 is expired
-       (should (mml-secure-check-sub-key context (car keys6) 'sign "42466F0F"))
+       ;; 167C1C27A9D25305 is valid sign subkey, 2DD796DBDAC43424 is expired
+       (should (mml-secure-check-sub-key context (car keys6) 'sign "167C1C27A9D25305"))
        (should-not
-	(mml-secure-check-sub-key context (car keys6) 'sign "501FFD98"))
-       ;; DC7F66E7 is encrypt subkey
+	(mml-secure-check-sub-key context (car keys6) 'sign "2DD796DBDAC43424"))
+       ;; 8D850AA2B34936F9 is encrypt subkey
        (should
-	(mml-secure-check-sub-key context (car keys6) 'encrypt "DC7F66E7"))
+	(mml-secure-check-sub-key context (car keys6) 'encrypt "8D850AA2B34936F9"))
        (should-not
-	(mml-secure-check-sub-key context (car keys6) 'sign "DC7F66E7"))
+	(mml-secure-check-sub-key context (car keys6) 'sign "8D850AA2B34936F9"))
        (should-not
-	(mml-secure-check-sub-key context (car keys6) 'encrypt "42466F0F"))
+	(mml-secure-check-sub-key context (car keys6) 'encrypt "167C1C27A9D25305"))
 
        ;; The final key is just a public key.
        (should (mml-secure-check-sub-key context (car keys7) 'encrypt))
@@ -305,9 +305,9 @@ mml-secure-find-usable-keys-1
 
        ;; Expired key should not be usable.
        ;; Will fail for Ma Gnus v0.14 and earlier.
-       ;; sign@example.org has the expired subkey 0x501FFD98.
+       ;; sign@example.org has the expired subkey 0x2DD796DBDAC43424.
        (should-not
-	(mml-secure-find-usable-keys context "0x501FFD98" 'sign))
+	(mml-secure-find-usable-keys context "0x2DD796DBDAC43424" 'sign))
 
        (should
 	(mml-secure-find-usable-keys context "no-exp@example.org" 'encrypt))
@@ -355,16 +355,16 @@ mml-secure-find-usable-keys-2
        ;; Search works with key IDs, with and without prefix "0x".
        (should
 	(= 1 (length (mml-secure-find-usable-keys
-		      context "A142FD84" 'encrypt))))
+		      context "CA9EA5175C9043FB" 'encrypt))))
        (should
 	(= 1 (length (mml-secure-find-usable-keys
-		      context "0xA142FD84" 'encrypt))))
+		      context "0xCA9EA5175C9043FB" 'encrypt))))
        (should
 	(= 0 (length (mml-secure-find-usable-keys
-		      context "A142FD84" 'sign))))
+		      context "CA9EA5175C9043FB" 'sign))))
        (should
 	(= 0 (length (mml-secure-find-usable-keys
-		      context "0xA142FD84" 'sign))))
+		      context "0xCA9EA5175C9043FB" 'sign))))
        ))))
 
 (ert-deftest mml-secure-select-preferred-keys-1 ()
@@ -373,7 +373,7 @@ mml-secure-select-preferred-keys-1
   (mml-secure-test-fixture
    (lambda ()
      (let ((context (epg-make-context 'OpenPGP)))
-       (should (equal "832F3CC6518D37BC658261B802372A42CA6D40FB"
+       (should (equal "0281C7D97E90771C0D9A61BFA049C1E9179C086B"
 		      (mml-secure-fingerprint
 		       (car (mml-secure-select-preferred-keys
 			     context '("no-exp@example.org") 'encrypt)))))))))
@@ -413,18 +413,18 @@ mml-secure-select-preferred-keys-3
      (let ((context (epg-make-context 'OpenPGP))
 	   (mml-secure-key-preferences
 	    '((OpenPGP (sign) (encrypt)) (CMS (sign) (encrypt)))))
-       ;; sub@example.org has two keys (268DBEA2, AE31D471).
+       ;; sub@example.org has two keys (2FAF8726121EB3C6, 8E7FEE76BB1FB195).
        ;; Normal preference works.
        (mml-secure-cust-record-keys
-        context 'encrypt "sub@example.org" (epg-list-keys context "268DBEA2"))
+        context 'encrypt "sub@example.org" (epg-list-keys context "2FAF8726121EB3C6"))
        (should (mml-secure-select-preferred-keys
 		context '("sub@example.org") 'encrypt))
        (mml-secure-cust-remove-keys context 'encrypt "sub@example.org")
 
-       ;; Fake preference for expired (unrelated) key CE15FAE7,
+       ;; Fake preference for expired (unrelated) key 22F24E21C5010683,
        ;; results in error (and automatic removal of outdated preference).
        (mml-secure-cust-record-keys
-        context 'encrypt "sub@example.org" (epg-list-keys context "CE15FAE7"))
+        context 'encrypt "sub@example.org" (epg-list-keys context "22F24E21C5010683"))
        (should-error (mml-secure-select-preferred-keys
 		      context '("sub@example.org") 'encrypt))
        (should-not
@@ -438,8 +438,8 @@ mml-secure-select-preferred-keys-4
    (lambda ()
      (let ((pcontext (epg-make-context 'OpenPGP))
 	   (scontext (epg-make-context 'CMS))
-	   (pkeys '("1E6BFA973D9E3103B77FD399C3999CF1268DBEA2"
-		    "14632ECAB9E227369C8DD97BF7E79AB7AE31D471"))
+	   (pkeys '("4D661F67B8BC4F7F1C53C2232FAF8726121EB3C6"
+		    "EB67A6310389C9AE8A5695908E7FEE76BB1FB195"))
 	   (skeys  '("0x5F88E9FC" "0x479DC6E2"))
 	   (mml-secure-key-preferences
 	    '((OpenPGP (sign) (encrypt)) (CMS (sign) (encrypt)))))
@@ -456,17 +456,17 @@ mml-secure-select-preferred-keys-4
 			pcontext 'sign "sub@example.org")))
 	 (should (= 2 (length p-e-fprs)))
 	 (should (= 2 (length p-s-fprs)))
-	 (should (member "1E6BFA973D9E3103B77FD399C3999CF1268DBEA2" p-e-fprs))
-	 (should (member "14632ECAB9E227369C8DD97BF7E79AB7AE31D471" p-e-fprs))
-	 (should (member "1E6BFA973D9E3103B77FD399C3999CF1268DBEA2" p-s-fprs))
-	 (should (member "14632ECAB9E227369C8DD97BF7E79AB7AE31D471" p-s-fprs)))
+	 (should (member "4D661F67B8BC4F7F1C53C2232FAF8726121EB3C6" p-e-fprs))
+	 (should (member "EB67A6310389C9AE8A5695908E7FEE76BB1FB195" p-e-fprs))
+	 (should (member "4D661F67B8BC4F7F1C53C2232FAF8726121EB3C6" p-s-fprs))
+	 (should (member "EB67A6310389C9AE8A5695908E7FEE76BB1FB195" p-s-fprs)))
        ;; Duplicate record does not change anything.
        (mml-secure-cust-record-keys
 	pcontext 'encrypt "sub@example.org"
-	(epg-list-keys pcontext "1E6BFA973D9E3103B77FD399C3999CF1268DBEA2"))
+	(epg-list-keys pcontext "4D661F67B8BC4F7F1C53C2232FAF8726121EB3C6"))
        (mml-secure-cust-record-keys
 	pcontext 'sign "sub@example.org"
-	(epg-list-keys pcontext "1E6BFA973D9E3103B77FD399C3999CF1268DBEA2"))
+	(epg-list-keys pcontext "4D661F67B8BC4F7F1C53C2232FAF8726121EB3C6"))
        (let ((p-e-fprs (mml-secure-cust-fpr-lookup
 			pcontext 'encrypt "sub@example.org"))
 	     (p-s-fprs (mml-secure-cust-fpr-lookup
@@ -524,10 +524,10 @@ mml-secure-test-en-decrypt
 			  (concat "Good signature from "
 				  (if (eq protocol 'CMS)
 				      "0E58229B80EE33959FF718FEEF25402B479DC6E2"
-				    "02372A42CA6D40FB"))
+				    "A049C1E9179C086B"))
 			  gnus-info)))
 	     (dolist (fpr signer-fprs nil)
-	       ;; OpenPGP: "Good signature from 02372A42CA6D40FB No Expiry <no-exp@example.org> (trust undefined) created ..."
+	       ;; OpenPGP: "Good signature from A049C1E9179C086B No Expiry <no-exp@example.org> (trust undefined) created ..."
 	       ;; S/MIME:  "Good signature from D06AA118653CC38E9D0CAF56ED7A2135E1582177 /CN=No Expiry (trust full) ..."
 	       (should (string-match-p
 			(concat "Good signature from "
@@ -586,7 +586,7 @@ mml-secure-en-decrypt-1
     ;; no-exp@example.org with single encryption key
     (mml-secure-test-en-decrypt
      method "no-exp@example.org" "sub@example.org" nil t
-     (list (cons "02372A42CA6D40FB" "ED7A2135E1582177")))))
+     (list (cons "A049C1E9179C086B" "ED7A2135E1582177")))))
 
 (ert-deftest mml-secure-en-decrypt-2 ()
   "Encrypt message; then decrypt and test for expected result.
@@ -600,7 +600,7 @@ mml-secure-en-decrypt-2
      (dolist (method (enc-standards) nil)
        (mml-secure-test-en-decrypt
 	method "sub@example.org" "no-exp@example.org" nil t
-	(list (cons "C3999CF1268DBEA2" "EF25402B479DC6E2")))))))
+	(list (cons "2FAF8726121EB3C6" "EF25402B479DC6E2")))))))
 
 (ert-deftest mml-secure-en-decrypt-3 ()
   "Encrypt message; then decrypt and test for expected result.
@@ -619,8 +619,8 @@ mml-secure-en-decrypt-3
        (dolist (method (enc-standards) nil)
 	 (mml-secure-test-en-decrypt
 	  method "sub@example.org" "no-exp@example.org" nil t
-	  (list (cons "C3999CF1268DBEA2" "EF25402B479DC6E2")
-		(cons "02372A42CA6D40FB" "ED7A2135E1582177"))))))))
+	  (list (cons "2FAF8726121EB3C6" "EF25402B479DC6E2")
+		(cons "A049C1E9179C086B" "ED7A2135E1582177"))))))))
 
 (ert-deftest mml-secure-en-decrypt-4 ()
   "Encrypt message; then decrypt and test for expected result.
@@ -628,14 +628,14 @@ mml-secure-en-decrypt-4
   (skip-unless (test-conf))
   ;; Send from sub@example.org, which has two keys; encrypt to both.
   (let ((mml-secure-openpgp-encrypt-to-self
-	 '("C3999CF1268DBEA2" "F7E79AB7AE31D471"))
+	 '("2FAF8726121EB3C6" "8E7FEE76BB1FB195"))
 	(mml-secure-smime-encrypt-to-self
 	 '("EF25402B479DC6E2" "4035D59B5F88E9FC")))
     (dolist (method (enc-standards) nil)
       (mml-secure-test-en-decrypt
        method "no-exp@example.org" "sub@example.org" nil t
-       (list (cons "C3999CF1268DBEA2" "EF25402B479DC6E2")
-	     (cons "F7E79AB7AE31D471" "4035D59B5F88E9FC"))))))
+       (list (cons "2FAF8726121EB3C6" "EF25402B479DC6E2")
+	     (cons "8E7FEE76BB1FB195" "4035D59B5F88E9FC"))))))
 
 (ert-deftest mml-secure-en-decrypt-sign-1-1-single ()
   "Sign and encrypt message; then decrypt and test for expected result.
@@ -672,7 +672,7 @@ mml-secure-en-decrypt-sign-1-2-double
 	   (mml-secure-smime-sign-with-sender t))
        ;; Now use both keys to sign.  The customized one via sign-with-sender,
        ;; the other one via the following setting.
-       (let ((mml-secure-openpgp-signers '("F7E79AB7AE31D471"))
+       (let ((mml-secure-openpgp-signers '("8E7FEE76BB1FB195"))
 	     (mml-secure-smime-signers '("0x5F88E9FC")))
 	 (dolist (method (enc-sign-standards) nil)
 	   (mml-secure-test-en-decrypt
@@ -690,7 +690,7 @@ mml-secure-en-decrypt-sign-1-3-double
      (let ((mml-secure-openpgp-sign-with-sender nil)
 	   (mml-secure-smime-sign-with-sender nil)
 	   (mml-secure-openpgp-signers
-	    '("F7E79AB7AE31D471" "C3999CF1268DBEA2"))
+	    '("8E7FEE76BB1FB195" "2FAF8726121EB3C6"))
 	   (mml-secure-smime-signers '("0x5F88E9FC" "0x479DC6E2")))
        (dolist (method (enc-sign-standards) nil)
 	 (mml-secure-test-en-decrypt
@@ -709,7 +709,7 @@ mml-secure-en-decrypt-sign-2
 	   (scontext (epg-make-context 'CMS))
 	   (mml-secure-openpgp-sign-with-sender t)
 	   (mml-secure-smime-sign-with-sender t))
-       (dolist (key '("F7E79AB7AE31D471" "C3999CF1268DBEA2") nil)
+       (dolist (key '("8E7FEE76BB1FB195" "2FAF8726121EB3C6") nil)
 	 (mml-secure-cust-record-keys
 	  pcontext 'encrypt "sub@example.org" (epg-list-keys pcontext key))
 	 (mml-secure-cust-record-keys
@@ -745,8 +745,8 @@ mml-secure-en-decrypt-sign-3
        (dolist (method (enc-sign-standards) nil)
 	 (mml-secure-test-en-decrypt
 	  method "sub@example.org" "no-exp@example.org" 1 t
-	  (list (cons "C3999CF1268DBEA2" "EF25402B479DC6E2")
-		(cons "02372A42CA6D40FB" "ED7A2135E1582177"))))
+	  (list (cons "2FAF8726121EB3C6" "EF25402B479DC6E2")
+		(cons "A049C1E9179C086B" "ED7A2135E1582177"))))
        ))))
 
 (ert-deftest mml-secure-sign-verify-1 ()
@@ -765,7 +765,7 @@ mml-secure-sign-verify-1
 
 	 ;; From sub@example.org, sign with two keys;
 	 ;; sign-with-sender and one from signers-variable:
-	 (let ((mml-secure-openpgp-signers '("02372A42CA6D40FB"))
+	 (let ((mml-secure-openpgp-signers '("A049C1E9179C086B"))
 	       (mml-secure-smime-signers
 		'("D06AA118653CC38E9D0CAF56ED7A2135E1582177")))
 	   (mml-secure-test-en-decrypt
@@ -781,7 +781,7 @@ mml-secure-sign-verify-3
     (lambda ()
       (let ((with-smime nil)
 	    (mml-secure-openpgp-sign-with-sender nil)
-	    (mml-secure-openpgp-signers '("501FFD98")))
+	    (mml-secure-openpgp-signers '("2DD796DBDAC43424")))
 	(dolist (method (sign-standards) nil)
 	  (mml-secure-test-en-decrypt
 	   method "no-exp@example.org" "sign@example.org" 1 nil)
-- 
2.30.2


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 519 bytes --]

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* bug#58301: Small epg fix and a test suite cleanup
  2022-10-05 10:52 bug#58301: Small epg fix and a test suite cleanup Justus Winter
@ 2022-10-06 12:55 ` Lars Ingebrigtsen
  0 siblings, 0 replies; 2+ messages in thread
From: Lars Ingebrigtsen @ 2022-10-06 12:55 UTC (permalink / raw)
  To: Justus Winter; +Cc: 58301

Justus Winter <justus@sequoia-pgp.org> writes:

> this is a patch series that improves and simplifies how epg verifies
> signatures, and replaces aging OpenPGP artifacts in the test suite.
>
> This replaces the old OpenPGPv4 keys that are used in the test suite
> with more modern OpenPGPv4 keys.  All cryptographic artifacts in the
> test suite are updated accordingly.
>
> Having old cryptographic artifacts in the test suite presents a
> problem once the old algorithms are rejected by contemporary
> implementations.

Thanks; makes sense to me.  I've now pushed your patch series to Emacs
29.





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-10-06 12:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-05 10:52 bug#58301: Small epg fix and a test suite cleanup Justus Winter
2022-10-06 12:55 ` Lars Ingebrigtsen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).