guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

08/15: openpgp: Add 'string->openpgp-packet'.


From: guix-commits
Subject: 08/15: openpgp: Add 'string->openpgp-packet'.
Date: Mon, 4 May 2020 03:59:34 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit b835e158d51c873a99367afd27f3d57cfe92e10e
Author: Ludovic Courtès <address@hidden>
AuthorDate: Thu Apr 30 15:56:54 2020 +0200

    openpgp: Add 'string->openpgp-packet'.
    
    * guix/openpgp.scm (string->openpgp-packet): New procedure.
    * tests/openpgp.scm ("verify-openpgp-signature, missing key")
    ("verify-openpgp-signature, good signatures")
    ("verify-openpgp-signature, bad signature"): Use it.
---
 guix/openpgp.scm  |  9 ++++++++-
 tests/openpgp.scm | 15 +++------------
 2 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/guix/openpgp.scm b/guix/openpgp.scm
index 987660f..2b2997d 100644
--- a/guix/openpgp.scm
+++ b/guix/openpgp.scm
@@ -55,7 +55,8 @@
             lookup-key-by-fingerprint
             get-openpgp-keyring
 
-            read-radix-64)
+            read-radix-64
+            string->openpgp-packet)
   #:use-module (rnrs bytevectors)
   #:use-module (rnrs io ports)
   #:use-module (srfi srfi-1)
@@ -1067,3 +1068,9 @@ end-of-file object if the Radix-64 sequence was 
truncated."
                         (values #f kind)))
                      (loop (cons str lines))))))))
         (values #f #f))))
+
+(define (string->openpgp-packet str)
+  "Read STR, an ASCII-armored OpenPGP packet, and return the corresponding
+OpenPGP record."
+  (get-packet
+   (open-bytevector-input-port (call-with-input-string str read-radix-64))))
diff --git a/tests/openpgp.scm b/tests/openpgp.scm
index a85fe6a..0beab6f 100644
--- a/tests/openpgp.scm
+++ b/tests/openpgp.scm
@@ -194,10 +194,7 @@ Pz7oopeN72xgggYUNT37ezqN3MeCqw0=
 (test-equal "verify-openpgp-signature, missing key"
   `(missing-key ,%rsa-key-fingerprint)
   (let* ((keyring   (get-openpgp-keyring (%make-void-port "r")))
-         (signature (get-openpgp-packet
-                     (open-bytevector-input-port
-                      (call-with-input-string %hello-signature/rsa
-                        read-radix-64)))))
+         (signature (string->openpgp-packet %hello-signature/rsa)))
     (let-values (((status key)
                   (verify-openpgp-signature signature keyring
                                             (open-input-string "Hello!\n"))))
@@ -214,10 +211,7 @@ Pz7oopeN72xgggYUNT37ezqN3MeCqw0=
                 (keyring   (get-openpgp-keyring
                             (open-bytevector-input-port
                              (call-with-input-file key read-radix-64))))
-                (signature (get-openpgp-packet
-                            (open-bytevector-input-port
-                             (call-with-input-string signature
-                               read-radix-64)))))
+                (signature (string->openpgp-packet signature)))
            (let-values (((status key)
                          (verify-openpgp-signature signature keyring
                                                    (open-input-string 
"Hello!\n"))))
@@ -246,10 +240,7 @@ Pz7oopeN72xgggYUNT37ezqN3MeCqw0=
                          "tests/ed25519.key" "tests/ed25519.key"
                          "tests/ed25519.key"))))
     (map (lambda (signature)
-           (let ((signature (get-openpgp-packet
-                             (open-bytevector-input-port
-                              (call-with-input-string signature
-                                read-radix-64)))))
+           (let ((signature (string->openpgp-packet signature)))
              (let-values (((status key)
                            (verify-openpgp-signature signature keyring
                                                      (open-input-string 
"What?!"))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]