diff options
| -rw-r--r-- | Makefile.am | 7 | ||||
| -rw-r--r-- | guix/openpgp.scm | 1022 | ||||
| -rw-r--r-- | tests/civodul.key | 1345 | ||||
| -rw-r--r-- | tests/dsa.key | 25 | ||||
| -rw-r--r-- | tests/ed25519.key | 10 | ||||
| -rw-r--r-- | tests/ed25519.sec | 10 | ||||
| -rw-r--r-- | tests/openpgp.scm | 248 | ||||
| -rw-r--r-- | tests/rsa.key | 18 |
8 files changed, 2685 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am index d9d7ffd6c53..f4004e351e9 100644 --- a/Makefile.am +++ b/Makefile.am | |||
| @@ -70,6 +70,7 @@ MODULES = \ | |||
| 70 | guix/docker.scm \ | 70 | guix/docker.scm \ |
| 71 | guix/json.scm \ | 71 | guix/json.scm \ |
| 72 | guix/records.scm \ | 72 | guix/records.scm \ |
| 73 | guix/openpgp.scm \ | ||
| 73 | guix/pki.scm \ | 74 | guix/pki.scm \ |
| 74 | guix/progress.scm \ | 75 | guix/progress.scm \ |
| 75 | guix/combinators.scm \ | 76 | guix/combinators.scm \ |
| @@ -414,6 +415,7 @@ SCM_TESTS = \ | |||
| 414 | tests/nar.scm \ | 415 | tests/nar.scm \ |
| 415 | tests/networking.scm \ | 416 | tests/networking.scm \ |
| 416 | tests/opam.scm \ | 417 | tests/opam.scm \ |
| 418 | tests/openpgp.scm \ | ||
| 417 | tests/packages.scm \ | 419 | tests/packages.scm \ |
| 418 | tests/pack.scm \ | 420 | tests/pack.scm \ |
| 419 | tests/pki.scm \ | 421 | tests/pki.scm \ |
| @@ -564,6 +566,11 @@ EXTRA_DIST += \ | |||
| 564 | tests/signing-key.pub \ | 566 | tests/signing-key.pub \ |
| 565 | tests/signing-key.sec \ | 567 | tests/signing-key.sec \ |
| 566 | tests/cve-sample.json \ | 568 | tests/cve-sample.json \ |
| 569 | tests/civodul.key \ | ||
| 570 | tests/rsa.key \ | ||
| 571 | tests/dsa.key \ | ||
| 572 | tests/ed25519.key \ | ||
| 573 | tests/ed25519.sec \ | ||
| 567 | build-aux/config.rpath \ | 574 | build-aux/config.rpath \ |
| 568 | bootstrap \ | 575 | bootstrap \ |
| 569 | doc/build.scm \ | 576 | doc/build.scm \ |
diff --git a/guix/openpgp.scm b/guix/openpgp.scm new file mode 100644 index 00000000000..bfdbe4b61b7 --- /dev/null +++ b/guix/openpgp.scm | |||
| @@ -0,0 +1,1022 @@ | |||
| 1 | ;; -*- mode: scheme; coding: utf-8 -*- | ||
| 2 | ;; Copyright © 2010, 2012 Göran Weinholt <goran@weinholt.se> | ||
| 3 | ;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org> | ||
| 4 | |||
| 5 | ;; Permission is hereby granted, free of charge, to any person obtaining a | ||
| 6 | ;; copy of this software and associated documentation files (the "Software"), | ||
| 7 | ;; to deal in the Software without restriction, including without limitation | ||
| 8 | ;; the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
| 9 | ;; and/or sell copies of the Software, and to permit persons to whom the | ||
| 10 | ;; Software is furnished to do so, subject to the following conditions: | ||
| 11 | |||
| 12 | ;; The above copyright notice and this permission notice shall be included in | ||
| 13 | ;; all copies or substantial portions of the Software. | ||
| 14 | |||
| 15 | ;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 16 | ;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 17 | ;; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
| 18 | ;; THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 19 | ;; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
| 20 | ;; FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | ||
| 21 | ;; DEALINGS IN THE SOFTWARE. | ||
| 22 | |||
| 23 | ;;; This code was originally written by Göran Weinholt for Industria and | ||
| 24 | ;;; released under the Expat license shown above. It was then modified by | ||
| 25 | ;;; Ludovic Courtès for use in GNU Guix: turned into a native Guile module, | ||
| 26 | ;;; ported to Guile-Gcrypt, and extended and simplified in other ways. | ||
| 27 | |||
| 28 | (define-module (guix openpgp) | ||
| 29 | #:export (get-openpgp-detached-signature/ascii | ||
| 30 | (get-packet . get-openpgp-packet) | ||
| 31 | verify-openpgp-signature | ||
| 32 | port-ascii-armored? | ||
| 33 | |||
| 34 | openpgp-signature? | ||
| 35 | openpgp-signature-issuer | ||
| 36 | openpgp-signature-public-key-algorithm | ||
| 37 | openpgp-signature-hash-algorithm | ||
| 38 | openpgp-signature-creation-time | ||
| 39 | openpgp-signature-expiration-time | ||
| 40 | |||
| 41 | openpgp-user-id? | ||
| 42 | openpgp-user-id-value | ||
| 43 | openpgp-user-attribute? | ||
| 44 | |||
| 45 | openpgp-public-key? | ||
| 46 | openpgp-public-key-subkey? | ||
| 47 | openpgp-public-key-value | ||
| 48 | openpgp-public-key-fingerprint openpgp-format-fingerprint | ||
| 49 | openpgp-public-key-id | ||
| 50 | |||
| 51 | openpgp-keyring? | ||
| 52 | %empty-keyring | ||
| 53 | lookup-key-by-id | ||
| 54 | get-openpgp-keyring | ||
| 55 | |||
| 56 | read-radix-64) | ||
| 57 | #:use-module (rnrs bytevectors) | ||
| 58 | #:use-module (rnrs io ports) | ||
| 59 | #:use-module (srfi srfi-1) | ||
| 60 | #:use-module (srfi srfi-9) | ||
| 61 | #:use-module (srfi srfi-11) | ||
| 62 | #:use-module (srfi srfi-19) | ||
| 63 | #:use-module (srfi srfi-26) | ||
| 64 | #:use-module (srfi srfi-34) | ||
| 65 | #:use-module (srfi srfi-35) | ||
| 66 | #:use-module (srfi srfi-60) | ||
| 67 | #:use-module (ice-9 match) | ||
| 68 | #:use-module ((ice-9 rdelim) #:select (read-line)) | ||
| 69 | #:use-module (ice-9 vlist) | ||
| 70 | #:use-module (gcrypt hash) | ||
| 71 | #:use-module (gcrypt pk-crypto) | ||
| 72 | #:use-module (gcrypt base64) | ||
| 73 | #:use-module (gcrypt base16) | ||
| 74 | #:use-module ((guix build utils) #:select (dump-port))) | ||
| 75 | |||
| 76 | ;;; Commentary: | ||
| 77 | ;;; | ||
| 78 | ;;; This module contains code to read OpenPGP messages as described in | ||
| 79 | ;;; <https://tools.ietf.org/html/rfc4880>, with extensions from | ||
| 80 | ;;; <https://tools.ietf.org/html/draft-ietf-openpgp-rfc4880bis-06> (notably | ||
| 81 | ;;; EdDSA support and extra signature sub-packets). | ||
| 82 | ;;; | ||
| 83 | ;;; Currently this module does enough to verify detached signatures of binary | ||
| 84 | ;;; data. It does _not_ perform sanity checks on self-signatures, subkey | ||
| 85 | ;;; binding signatures, etc., among others. Use only in a context where this | ||
| 86 | ;;; limitations are acceptable! | ||
| 87 | ;;; | ||
| 88 | ;;; Code: | ||
| 89 | |||
| 90 | (define-syntax print | ||
| 91 | (syntax-rules () | ||
| 92 | ;; ((_ args ...) (pk 'openpgp args)) | ||
| 93 | ((_ args ...) (values)))) | ||
| 94 | |||
| 95 | (define-syntax-rule (define-alias new old) | ||
| 96 | (define-syntax new (identifier-syntax old))) | ||
| 97 | |||
| 98 | (define-alias fx+ +) | ||
| 99 | (define-alias fx- -) | ||
| 100 | (define-alias fx* *) | ||
| 101 | (define-alias fx/ /) | ||
| 102 | (define-alias fxdiv quotient) | ||
| 103 | (define-alias fxand logand) | ||
| 104 | (define-alias fxbit-set? bit-set?) | ||
| 105 | (define-alias fxbit-field bit-field) | ||
| 106 | (define-alias bitwise-bit-field bit-field) | ||
| 107 | (define-alias fxarithmetic-shift-left ash) | ||
| 108 | (define-inlinable (fxarithmetic-shift-right i n) (ash i (- n))) | ||
| 109 | (define-inlinable (port-eof? port) (eof-object? (lookahead-u8 port))) | ||
| 110 | |||
| 111 | (define (string-hex-pad str) | ||
| 112 | (if (odd? (string-length str)) | ||
| 113 | (string-append "0" str) | ||
| 114 | str)) | ||
| 115 | |||
| 116 | (define (unixtime n) | ||
| 117 | (time-monotonic->date (make-time 'time-monotonic 0 n))) | ||
| 118 | |||
| 119 | |||
| 120 | ;;; | ||
| 121 | ;;; Bitwise I/O. | ||
| 122 | ;;; | ||
| 123 | ;;; TODO: Use Bytestructures instead. | ||
| 124 | ;;; | ||
| 125 | |||
| 126 | (define-syntax-rule (integer-read size) | ||
| 127 | (lambda (port) | ||
| 128 | "Read from PORT a big-endian integer of SIZE bytes. Return the EOF object | ||
| 129 | on end-of-file." | ||
| 130 | (let ((buf (make-bytevector size))) | ||
| 131 | (match (get-bytevector-n! port buf 0 size) | ||
| 132 | (size (bytevector-uint-ref buf 0 (endianness big) size)) | ||
| 133 | (_ (eof-object)))))) | ||
| 134 | |||
| 135 | (define get-u16 (integer-read 2)) | ||
| 136 | (define get-u32 (integer-read 4)) | ||
| 137 | (define get-u64 (integer-read 8)) | ||
| 138 | |||
| 139 | (define-syntax get-integers | ||
| 140 | (syntax-rules () | ||
| 141 | "Read from PORT integers of the given TYPE, in big endian encoding. Each | ||
| 142 | TYPE must be one of u8, u16, u32, u64, or _, as in this example: | ||
| 143 | |||
| 144 | (get-integers port u8 _ _ _ u32 u16) | ||
| 145 | |||
| 146 | In the case of _ (wildcard), one byte is read and discarded. Return as many | ||
| 147 | values as there are TYPEs." | ||
| 148 | ((_ port type ...) | ||
| 149 | (letrec-syntax ((get-integer (syntax-rules (u8 u16 u32 u64) | ||
| 150 | ((x u8) (get-u8 port)) | ||
| 151 | ((x u16) (get-u16 port)) | ||
| 152 | ((x u32) (get-u32 port)) | ||
| 153 | ((x u64) (get-u64 port)))) | ||
| 154 | (values* (syntax-rules (_) | ||
| 155 | ((x (result (... ...))) | ||
| 156 | (values result (... ...))) | ||
| 157 | ((x (result (... ...)) _ rest (... ...)) | ||
| 158 | (let ((x (get-u8 port))) | ||
| 159 | (values* (result (... ...)) | ||
| 160 | rest (... ...)))) | ||
| 161 | ((x (result (... ...)) t rest (... ...)) | ||
| 162 | (let ((x (get-integer t))) | ||
| 163 | (values* (result (... ...) x) | ||
| 164 | rest (... ...))))))) | ||
| 165 | (values* () type ...))))) | ||
| 166 | |||
| 167 | (define (bytevector->uint bv) | ||
| 168 | (bytevector-uint-ref bv 0 (endianness big) | ||
| 169 | (bytevector-length bv))) | ||
| 170 | |||
| 171 | (define-syntax-rule (integer-write size) | ||
| 172 | (lambda (port integer) | ||
| 173 | "Write INTEGER to PORT as a SIZE-byte integer and as big endian." | ||
| 174 | (let ((bv (make-bytevector size))) | ||
| 175 | (bytevector-uint-set! bv 0 integer (endianness big) size) | ||
| 176 | (put-bytevector port bv)))) | ||
| 177 | |||
| 178 | (define put-u16 (integer-write 2)) | ||
| 179 | (define put-u32 (integer-write 4)) | ||
| 180 | (define put-u64 (integer-write 8)) | ||
| 181 | |||
| 182 | (define-syntax put-integers | ||
| 183 | (syntax-rules () | ||
| 184 | "Write the given integers as big endian to PORT. For example: | ||
| 185 | |||
| 186 | (put-integers port u8 42 u32 #x7777) | ||
| 187 | |||
| 188 | writes to PORT the value 42 as an 8-bit integer and the value #x7777 as a | ||
| 189 | 32-bit integer." | ||
| 190 | ((_ port) | ||
| 191 | #t) | ||
| 192 | ((_ port type value rest ...) | ||
| 193 | (let-syntax ((put (syntax-rules (u8 u16 u32 u64) | ||
| 194 | ((_ u8 port integer) | ||
| 195 | (put-u8 port integer)) | ||
| 196 | ((_ u16 port integer) | ||
| 197 | (put-u16 port integer)) | ||
| 198 | ((_ u32 port integer) | ||
| 199 | (put-u32 port integer)) | ||
| 200 | ((_ u64 port integer) | ||
| 201 | (put-u64 port integer))))) | ||
| 202 | (begin | ||
| 203 | (put type port value) | ||
| 204 | (put-integers port rest ...)))))) | ||
| 205 | |||
| 206 | (define-syntax-rule (integers->bytevector type value rest ...) | ||
| 207 | "Return the the TYPE/VALUE integers representation as a bytevector." | ||
| 208 | (let-values (((port get) (open-bytevector-output-port))) | ||
| 209 | (put-integers port type value rest ...) | ||
| 210 | (force-output port) | ||
| 211 | (get))) | ||
| 212 | |||
| 213 | |||
| 214 | (define (bytevector->bitnames bv names) | ||
| 215 | (define (bit-set? bv i) | ||
| 216 | (let ((idx (fxarithmetic-shift-right i 3)) | ||
| 217 | (bit (fxand i #b111))) | ||
| 218 | (and (< idx (bytevector-length bv)) | ||
| 219 | (fxbit-set? (bytevector-u8-ref bv idx) bit)))) | ||
| 220 | (do ((names names (cdr names)) | ||
| 221 | (i 0 (fx+ i 1)) | ||
| 222 | (bits '() | ||
| 223 | (if (bit-set? bv i) | ||
| 224 | (cons (car names) bits) | ||
| 225 | bits))) | ||
| 226 | ((null? names) (reverse bits)))) | ||
| 227 | |||
| 228 | (define (openpgp-format-fingerprint bv) | ||
| 229 | "Return a string representing BV, a bytevector, in the conventional OpenPGP | ||
| 230 | hexadecimal format for fingerprints." | ||
| 231 | (define (h i) | ||
| 232 | (string-pad (string-upcase | ||
| 233 | (number->string | ||
| 234 | (bytevector-u16-ref bv (* i 2) (endianness big)) | ||
| 235 | 16)) | ||
| 236 | 4 #\0)) | ||
| 237 | (string-append (h 0) " " (h 1) " " (h 2) " " (h 3) " " (h 4) | ||
| 238 | " " | ||
| 239 | (h 5) " " (h 6) " " (h 7) " " (h 8) " " (h 9))) | ||
| 240 | |||
| 241 | ;;; Constants | ||
| 242 | |||
| 243 | |||
| 244 | (define PACKET-SESSION-KEY 1) | ||
| 245 | (define PACKET-SIGNATURE 2) | ||
| 246 | (define PACKET-SYMMETRIC-SESSION-KEY 3) | ||
| 247 | (define PACKET-ONE-PASS-SIGNATURE 4) | ||
| 248 | (define PACKET-SECRET-KEY 5) | ||
| 249 | (define PACKET-PUBLIC-KEY 6) | ||
| 250 | (define PACKET-SECRET-SUBKEY 7) | ||
| 251 | (define PACKET-COMPRESSED-DATA 8) | ||
| 252 | (define PACKET-SYMMETRIC-ENCRYPTED-DATA 9) | ||
| 253 | (define PACKET-MARKER 10) | ||
| 254 | (define PACKET-LITERAL-DATA 11) | ||
| 255 | (define PACKET-TRUST 12) | ||
| 256 | (define PACKET-USER-ID 13) | ||
| 257 | (define PACKET-PUBLIC-SUBKEY 14) | ||
| 258 | (define PACKET-USER-ATTRIBUTE 17) | ||
| 259 | (define PACKET-SYMMETRIC-ENCRYPTED/PROTECTED-DATA 18) | ||
| 260 | (define PACKET-MDC 19) | ||
| 261 | |||
| 262 | (define PUBLIC-KEY-RSA 1) | ||
| 263 | (define PUBLIC-KEY-RSA-ENCRYPT-ONLY 2) | ||
| 264 | (define PUBLIC-KEY-RSA-SIGN-ONLY 3) | ||
| 265 | (define PUBLIC-KEY-ELGAMAL-ENCRYPT-ONLY 16) | ||
| 266 | (define PUBLIC-KEY-DSA 17) | ||
| 267 | (define PUBLIC-KEY-ECDH 18) ;RFC-6637 | ||
| 268 | (define PUBLIC-KEY-ECDSA 19) ;RFC-6639 | ||
| 269 | (define PUBLIC-KEY-ELGAMAL 20) ;encrypt + sign (legacy) | ||
| 270 | (define PUBLIC-KEY-EDDSA 22) ;"not yet assigned" says GPG | ||
| 271 | |||
| 272 | (define (public-key-algorithm id) | ||
| 273 | (cond ((= id PUBLIC-KEY-RSA) 'rsa) | ||
| 274 | ((= id PUBLIC-KEY-DSA) 'dsa) | ||
| 275 | ((= id PUBLIC-KEY-ELGAMAL-ENCRYPT-ONLY) 'elgamal) | ||
| 276 | ((= id PUBLIC-KEY-EDDSA) 'eddsa) | ||
| 277 | (else id))) | ||
| 278 | |||
| 279 | (define SYMMETRIC-KEY-PLAINTEXT 0) | ||
| 280 | (define SYMMETRIC-KEY-IDEA 1) | ||
| 281 | (define SYMMETRIC-KEY-TRIPLE-DES 2) | ||
| 282 | (define SYMMETRIC-KEY-CAST5-128 3) | ||
| 283 | (define SYMMETRIC-KEY-BLOWFISH-128 4) | ||
| 284 | (define SYMMETRIC-KEY-AES-128 7) | ||
| 285 | (define SYMMETRIC-KEY-AES-192 8) | ||
| 286 | (define SYMMETRIC-KEY-AES-256 9) | ||
| 287 | (define SYMMETRIC-KEY-TWOFISH-256 10) | ||
| 288 | (define SYMMETRIC-KEY-CAMELLIA-128 11) ;RFC-5581 | ||
| 289 | (define SYMMETRIC-KEY-CAMELLIA-192 12) | ||
| 290 | (define SYMMETRIC-KEY-CAMELLIA-256 13) | ||
| 291 | |||
| 292 | (define (symmetric-key-algorithm id) | ||
| 293 | (cond ((= id SYMMETRIC-KEY-PLAINTEXT) 'plaintext) | ||
| 294 | ((= id SYMMETRIC-KEY-IDEA) 'idea) | ||
| 295 | ((= id SYMMETRIC-KEY-TRIPLE-DES) 'tdea) | ||
| 296 | ((= id SYMMETRIC-KEY-CAST5-128) 'cast5-128) | ||
| 297 | ((= id SYMMETRIC-KEY-BLOWFISH-128) 'blowfish-128) | ||
| 298 | ((= id SYMMETRIC-KEY-AES-128) 'aes-128) | ||
| 299 | ((= id SYMMETRIC-KEY-AES-192) 'aes-192) | ||
| 300 | ((= id SYMMETRIC-KEY-AES-256) 'aes-256) | ||
| 301 | ((= id SYMMETRIC-KEY-TWOFISH-256) 'twofish-256) | ||
| 302 | (else id))) | ||
| 303 | |||
| 304 | (define HASH-MD5 1) | ||
| 305 | (define HASH-SHA-1 2) | ||
| 306 | (define HASH-RIPE-MD160 3) | ||
| 307 | (define HASH-SHA-256 8) | ||
| 308 | (define HASH-SHA-384 9) | ||
| 309 | (define HASH-SHA-512 10) | ||
| 310 | (define HASH-SHA-224 11) | ||
| 311 | |||
| 312 | (define (openpgp-hash-algorithm id) | ||
| 313 | (cond ((= id HASH-MD5) 'md5) | ||
| 314 | ((= id HASH-SHA-1) 'sha1) | ||
| 315 | ((= id HASH-RIPE-MD160) 'rmd160) | ||
| 316 | ((= id HASH-SHA-256) 'sha256) | ||
| 317 | ((= id HASH-SHA-384) 'sha384) | ||
| 318 | ((= id HASH-SHA-512) 'sha512) | ||
| 319 | ((= id HASH-SHA-224) 'sha224) | ||
| 320 | (else (error "unknown hash algorithm" id)))) | ||
| 321 | |||
| 322 | (define COMPRESSION-UNCOMPRESSED 0) | ||
| 323 | (define COMPRESSION-ZIP 1) ;deflate | ||
| 324 | |||
| 325 | (define COMPRESSION-ZLIB 2) | ||
| 326 | (define COMPRESSION-BZIP2 3) | ||
| 327 | |||
| 328 | (define (compression-algorithm id) | ||
| 329 | (cond ((= id COMPRESSION-UNCOMPRESSED) 'uncompressed) | ||
| 330 | ((= id COMPRESSION-ZIP) 'deflate) | ||
| 331 | ((= id COMPRESSION-ZLIB) 'zlib) | ||
| 332 | ((= id COMPRESSION-BZIP2) 'bzip2) | ||
| 333 | (else id))) | ||
| 334 | |||
| 335 | (define SUBPACKET-SIGNATURE-CTIME 2) | ||
| 336 | (define SUBPACKET-SIGNATURE-ETIME 3) | ||
| 337 | ;; 4 = Exportable Certification | ||
| 338 | |||
| 339 | (define SUBPACKET-TRUST-SIGNATURE 5) | ||
| 340 | ;; 6 = Regular Expression | ||
| 341 | |||
| 342 | (define SUBPACKET-REVOCABLE 7) | ||
| 343 | (define SUBPACKET-KEY-ETIME 9) | ||
| 344 | (define SUBPACKET-PREFERRED-SYMMETRIC-ALGORITHMS 11) | ||
| 345 | ;; 12 = Revocation Key | ||
| 346 | |||
| 347 | (define SUBPACKET-ISSUER 16) | ||
| 348 | ;; TODO: hashed SUBPACKET-ISSUER-FINGERPRINT-V4 | ||
| 349 | (define SUBPACKET-NOTATION-DATA 20) | ||
| 350 | (define SUBPACKET-PREFERRED-HASH-ALGORITHMS 21) | ||
| 351 | (define SUBPACKET-PREFERRED-COMPRESSION-ALGORITHMS 22) | ||
| 352 | (define SUBPACKET-KEY-SERVER-PREFERENCES 23) | ||
| 353 | (define SUBPACKET-PREFERRED-KEY-SERVER 24) | ||
| 354 | (define SUBPACKET-PRIMARY-USER-ID 25) | ||
| 355 | (define SUBPACKET-POLICY-URI 26) | ||
| 356 | (define SUBPACKET-KEY-FLAGS 27) | ||
| 357 | (define SUBPACKET-SIGNER-USER-ID 28) | ||
| 358 | (define SUBPACKET-REASON-FOR-REVOCATION 29) | ||
| 359 | (define SUBPACKET-FEATURES 30) | ||
| 360 | ;; 31 = Signature Target | ||
| 361 | |||
| 362 | (define SUBPACKET-EMBEDDED-SIGNATURE 32) | ||
| 363 | |||
| 364 | (define SIGNATURE-BINARY #x00) | ||
| 365 | (define SIGNATURE-TEXT #x01) | ||
| 366 | (define SIGNATURE-STANDALONE #x02) | ||
| 367 | (define SIGNATURE-GENERIC-CERT #x10) | ||
| 368 | (define SIGNATURE-PERSONA-CERT #x11) | ||
| 369 | (define SIGNATURE-CASUAL-CERT #x12) | ||
| 370 | (define SIGNATURE-POSITIVE-CERT #x13) | ||
| 371 | (define SIGNATURE-SUBKEY-BINDING #x18) | ||
| 372 | (define SIGNATURE-PRIMARY-KEY-BINDING #x19) | ||
| 373 | (define SIGNATURE-DIRECT #x1f) | ||
| 374 | (define SIGNATURE-KEY-REVOCATION #x20) | ||
| 375 | (define SIGNATURE-SUBKEY-REVOCATION #x28) | ||
| 376 | (define SIGNATURE-CERT-REVOCATION #x30) | ||
| 377 | (define SIGNATURE-TIMESTAMP #x40) | ||
| 378 | (define SIGNATURE-THIRD-PARTY #x50) | ||
| 379 | |||
| 380 | ;;; Parsing | ||
| 381 | |||
| 382 | ;; Look at the tag byte and see if it looks reasonable, if it does | ||
| 383 | ;; then the file is likely not armored. Does not move the port | ||
| 384 | ;; position. | ||
| 385 | |||
| 386 | (define (port-ascii-armored? p) | ||
| 387 | (let ((tag (lookahead-u8 p))) | ||
| 388 | (cond ((eof-object? tag) #f) | ||
| 389 | ((not (fxbit-set? tag 7)) #t) | ||
| 390 | (else | ||
| 391 | (let ((type (if (fxbit-set? tag 6) | ||
| 392 | (fxbit-field tag 0 6) | ||
| 393 | (fxbit-field tag 2 6)))) | ||
| 394 | (not (<= PACKET-SESSION-KEY type PACKET-MDC))))))) | ||
| 395 | |||
| 396 | (define (get-mpi/bytevector p) | ||
| 397 | (let* ((bitlen (get-u16 p)) | ||
| 398 | (bytelen (fxdiv (fx+ bitlen 7) 8))) | ||
| 399 | (get-bytevector-n p bytelen))) | ||
| 400 | |||
| 401 | (define (get-mpi p) | ||
| 402 | (bytevector->uint (get-mpi/bytevector p))) | ||
| 403 | |||
| 404 | (define (get-v4-length p) | ||
| 405 | ;; TODO: indeterminate length (only for data packets) | ||
| 406 | (let ((o1 (get-u8 p))) | ||
| 407 | (cond ((< o1 192) o1) | ||
| 408 | ((< o1 255) | ||
| 409 | (+ (fxarithmetic-shift-left (fx- o1 192) 8) | ||
| 410 | (get-u8 p) | ||
| 411 | 192)) | ||
| 412 | ((= o1 255) | ||
| 413 | (get-u32 p))))) | ||
| 414 | |||
| 415 | (define (get-packet p) | ||
| 416 | (if (port-eof? p) | ||
| 417 | (eof-object) | ||
| 418 | (get-packet* p get-data))) | ||
| 419 | |||
| 420 | (define (get-packet* p get-data) | ||
| 421 | (let ((tag (get-u8 p))) | ||
| 422 | ;; (unless (fxbit-set? tag 7) (error 'get-packet "Invalid tag" tag)) | ||
| 423 | (cond ((fxbit-set? tag 6) ;New packet format | ||
| 424 | (let ((tag (fxbit-field tag 0 6)) | ||
| 425 | (len (get-v4-length p))) | ||
| 426 | (get-data p tag len))) | ||
| 427 | (else ;Old packet format | ||
| 428 | (let ((tag (fxbit-field tag 2 6)) | ||
| 429 | (len (case (fxbit-field tag 0 2) | ||
| 430 | ((0) (get-u8 p)) | ||
| 431 | ((1) (get-u16 p)) | ||
| 432 | ((2) (get-u32 p)) | ||
| 433 | ((3) #f)))) | ||
| 434 | (get-data p tag len)))))) | ||
| 435 | |||
| 436 | (define (get-data p tag len) | ||
| 437 | (let ((pp (if len | ||
| 438 | (open-bytevector-input-port (get-bytevector-n p len)) | ||
| 439 | p))) ;indeterminate length | ||
| 440 | (cond | ||
| 441 | ((= tag PACKET-SIGNATURE) | ||
| 442 | (get-signature pp)) | ||
| 443 | ((= tag PACKET-PUBLIC-KEY) | ||
| 444 | (get-public-key pp #f)) | ||
| 445 | ((= tag PACKET-TRUST) | ||
| 446 | 'openpgp-trust) ;XXX: non-standard format? | ||
| 447 | ((= tag PACKET-USER-ID) | ||
| 448 | (get-user-id pp len)) | ||
| 449 | ((= tag PACKET-PUBLIC-SUBKEY) | ||
| 450 | (get-public-key pp #t)) | ||
| 451 | ((= tag PACKET-USER-ATTRIBUTE) | ||
| 452 | (get-user-attribute pp len)) | ||
| 453 | ((= tag PACKET-ONE-PASS-SIGNATURE) | ||
| 454 | 'one-pass-signature) ;TODO: implement | ||
| 455 | (else | ||
| 456 | (error 'get-data "Unsupported packet type" tag))))) | ||
| 457 | |||
| 458 | (define-record-type <openpgp-public-key> | ||
| 459 | (make-openpgp-public-key version subkey? time value fingerprint) | ||
| 460 | openpgp-public-key? | ||
| 461 | (version openpgp-public-key-version) | ||
| 462 | (subkey? openpgp-public-key-subkey?) | ||
| 463 | (time openpgp-public-key-time) | ||
| 464 | (value openpgp-public-key-value) | ||
| 465 | (fingerprint openpgp-public-key-fingerprint)) | ||
| 466 | |||
| 467 | ;;; Signatures | ||
| 468 | |||
| 469 | (define-record-type <openpgp-signature> | ||
| 470 | (make-openpgp-signature version type pk-algorithm hash-algorithm hashl16 | ||
| 471 | append-data hashed-subpackets unhashed-subpackets | ||
| 472 | value) | ||
| 473 | openpgp-signature? | ||
| 474 | (version openpgp-signature-version) | ||
| 475 | (type openpgp-signature-type) | ||
| 476 | (pk-algorithm openpgp-signature-public-key-algorithm) | ||
| 477 | (hash-algorithm openpgp-signature-hash-algorithm) | ||
| 478 | (hashl16 openpgp-signature-hashl16) ;left 16 bits of signed hash | ||
| 479 | (append-data openpgp-signature-append-data) ;append to data when hashing | ||
| 480 | (hashed-subpackets openpgp-signature-hashed-subpackets) | ||
| 481 | (unhashed-subpackets openpgp-signature-unhashed-subpackets) | ||
| 482 | (value openpgp-signature-value)) | ||
| 483 | |||
| 484 | (define (openpgp-signature-issuer sig) | ||
| 485 | (cond ((assq 'issuer (openpgp-signature-unhashed-subpackets sig)) => cdr) | ||
| 486 | ;; XXX: is the issuer always in the unhashed subpackets? | ||
| 487 | (else #f))) | ||
| 488 | |||
| 489 | (define (openpgp-signature-creation-time sig) | ||
| 490 | (cond ((assq 'signature-ctime (openpgp-signature-hashed-subpackets sig)) | ||
| 491 | => (lambda (x) (unixtime (cdr x)))) | ||
| 492 | ;; XXX: should be an error? | ||
| 493 | (else #f))) | ||
| 494 | |||
| 495 | (define (openpgp-signature-expiration-time sig) | ||
| 496 | (cond ((assq 'signature-etime (openpgp-signature-hashed-subpackets sig)) | ||
| 497 | => (lambda (x) | ||
| 498 | (unixtime (+ (cdr x) | ||
| 499 | (openpgp-signature-creation-time sig))))) | ||
| 500 | (else #f))) | ||
| 501 | |||
| 502 | |||
| 503 | (define (get-openpgp-detached-signature/ascii port) | ||
| 504 | "Read from PORT an ASCII-armored detached signature. Return an | ||
| 505 | <openpgp-signature> record or the end-of-file object. Raise an error if the | ||
| 506 | data read from PORT does is invalid or does not correspond to a detached | ||
| 507 | signature." | ||
| 508 | (let-values (((data type) (read-radix-64 port))) | ||
| 509 | (cond ((eof-object? data) data) | ||
| 510 | ((string=? type "PGP SIGNATURE") | ||
| 511 | (get-packet (open-bytevector-input-port data))) | ||
| 512 | (else | ||
| 513 | (error "expected PGP SIGNATURE" type))))) | ||
| 514 | |||
| 515 | (define (hash-algorithm-name algorithm) ;XXX: should be in Guile-Gcrypt | ||
| 516 | "Return the name of ALGORITHM, a 'hash-algorithm' integer, as a symbol." | ||
| 517 | (letrec-syntax ((->name (syntax-rules () | ||
| 518 | ((_) #f) | ||
| 519 | ((_ name rest ...) | ||
| 520 | (if (= algorithm (hash-algorithm name)) | ||
| 521 | 'name | ||
| 522 | (->name rest ...)))))) | ||
| 523 | (->name sha1 sha256 sha384 sha512 sha224 | ||
| 524 | sha3-224 sha3-256 sha3-384 sha3-512))) | ||
| 525 | |||
| 526 | (define (verify-openpgp-signature sig keyring dataport) | ||
| 527 | "Verify that the data read from DATAPORT matches SIG, an | ||
| 528 | <openpgp-signature>. Fetch the public key of the issuer of SIG from KEYRING, | ||
| 529 | a keyring as returned by 'get-openpgp-keyring'. Return two values: a status | ||
| 530 | symbol, such as 'bad-signature or 'missing-key, and additional info, such as | ||
| 531 | the issuer's OpenPGP public key extracted from KEYRING." | ||
| 532 | (define (check key sig) | ||
| 533 | (let*-values (((hash-algorithm) (lookup-hash-algorithm | ||
| 534 | (openpgp-signature-hash-algorithm sig))) | ||
| 535 | ((port get-hash) (open-hash-port hash-algorithm))) | ||
| 536 | (dump-port dataport port) | ||
| 537 | |||
| 538 | ;; As per RFC4880 Section 5.2.4 ("Computing Signatures"), hash some of | ||
| 539 | ;; the fields from the signature packet. | ||
| 540 | (for-each (cut put-bytevector port <>) | ||
| 541 | (openpgp-signature-append-data sig)) | ||
| 542 | (close-port port) | ||
| 543 | |||
| 544 | (let* ((signature (openpgp-signature-value sig)) | ||
| 545 | (public-key (openpgp-public-key-value key)) | ||
| 546 | (hash (get-hash)) | ||
| 547 | (key-type (key-type public-key)) | ||
| 548 | (data | ||
| 549 | ;; See "(gcrypt) Cryptographic Functions". | ||
| 550 | (sexp->canonical-sexp | ||
| 551 | (if (eq? key-type 'ecc) | ||
| 552 | `(data | ||
| 553 | (flags eddsa) | ||
| 554 | (hash-algo sha512) | ||
| 555 | (value ,hash)) | ||
| 556 | `(data | ||
| 557 | (flags ,(match key-type | ||
| 558 | ('rsa 'pkcs1) | ||
| 559 | ('dsa 'rfc6979))) | ||
| 560 | (hash ,(hash-algorithm-name hash-algorithm) | ||
| 561 | ,hash)))))) | ||
| 562 | (values (if (verify signature data public-key) | ||
| 563 | 'good-signature | ||
| 564 | 'bad-signature) | ||
| 565 | key)))) | ||
| 566 | |||
| 567 | ;; TODO: Support SIGNATURE-TEXT. | ||
| 568 | (if (= (openpgp-signature-type sig) SIGNATURE-BINARY) | ||
| 569 | (let* ((issuer (openpgp-signature-issuer sig)) | ||
| 570 | (key-data (lookup-key-by-id keyring issuer))) | ||
| 571 | ;; Find the primary key or subkey that made the signature. | ||
| 572 | (let ((key (find (lambda (k) | ||
| 573 | (and (openpgp-public-key? k) | ||
| 574 | (= (openpgp-public-key-id k) issuer))) | ||
| 575 | key-data))) | ||
| 576 | (if key | ||
| 577 | (check key sig) | ||
| 578 | (values 'missing-key issuer)))) | ||
| 579 | (values 'unsupported-signature sig))) | ||
| 580 | |||
| 581 | (define (get-signature p) | ||
| 582 | (define (->hex n) | ||
| 583 | (string-hex-pad (number->string n 16))) | ||
| 584 | |||
| 585 | (define (get-sig p pkalg) | ||
| 586 | (cond ((= pkalg PUBLIC-KEY-RSA) | ||
| 587 | (print "RSA signature") | ||
| 588 | (string->canonical-sexp | ||
| 589 | (format #f "(sig-val (rsa (s #~a#)))" | ||
| 590 | (->hex (get-mpi p))))) | ||
| 591 | ((= pkalg PUBLIC-KEY-DSA) | ||
| 592 | (print "DSA signature") | ||
| 593 | (let ((r (get-mpi p)) (s (get-mpi p))) | ||
| 594 | (string->canonical-sexp | ||
| 595 | (format #f "(sig-val (dsa (r #~a#) (s #~a#)))" | ||
| 596 | (->hex r) (->hex s))))) | ||
| 597 | ((= pkalg PUBLIC-KEY-EDDSA) | ||
| 598 | (print "EdDSA signature") | ||
| 599 | (let ((r (get-mpi/bytevector p)) | ||
| 600 | (s (get-mpi/bytevector p))) | ||
| 601 | ;; XXX: 'verify' fails down the road with GPG_ERR_INV_LENGTH if | ||
| 602 | ;; we provide a 31-byte R or S below, hence the second argument | ||
| 603 | ;; to '->hex' ensuring the MPIs are represented as two-byte | ||
| 604 | ;; multiples, with leading zeros. | ||
| 605 | (define (bytevector->hex bv) | ||
| 606 | (let ((str (bytevector->base16-string bv))) | ||
| 607 | (if (odd? (bytevector-length bv)) | ||
| 608 | (string-append "00" str) | ||
| 609 | str))) | ||
| 610 | |||
| 611 | (string->canonical-sexp | ||
| 612 | (format #f "(sig-val (eddsa (r #~a#) (s #~a#)))" | ||
| 613 | (bytevector->hex r) (bytevector->hex s))))) | ||
| 614 | (else | ||
| 615 | (list 'unsupported-algorithm | ||
| 616 | (public-key-algorithm pkalg) | ||
| 617 | (get-bytevector-all p))))) | ||
| 618 | (let ((version (get-u8 p))) | ||
| 619 | (case version | ||
| 620 | ((3) | ||
| 621 | (let-values (((hmlen type ctime keyid pkalg halg hashl16) | ||
| 622 | (get-integers p u8 u8 u32 u64 u8 u8 u16))) | ||
| 623 | (unless (= hmlen 5) | ||
| 624 | (error "invalid signature packet")) | ||
| 625 | (print "Signature type: " type " creation time: " (unixtime ctime)) | ||
| 626 | (print "Hash algorithm: " (openpgp-hash-algorithm halg)) | ||
| 627 | (let ((value (get-sig p pkalg))) | ||
| 628 | (unless (port-eof? p) | ||
| 629 | (print "Trailing data in signature: " (get-bytevector-all p))) | ||
| 630 | (make-openpgp-signature version type | ||
| 631 | (public-key-algorithm pkalg) | ||
| 632 | (openpgp-hash-algorithm halg) hashl16 | ||
| 633 | (list (integers->bytevector u8 type | ||
| 634 | u32 ctime)) | ||
| 635 | ;; Emulate hashed subpackets | ||
| 636 | (list (cons 'signature-ctime ctime)) | ||
| 637 | ;; Unhashed subpackets | ||
| 638 | (list (cons 'issuer keyid)) | ||
| 639 | value)))) | ||
| 640 | ((4) | ||
| 641 | (let*-values (((type pkalg halg) (get-integers p u8 u8 u8)) | ||
| 642 | ((hashed-subpackets) | ||
| 643 | (get-bytevector-n p (get-u16 p))) | ||
| 644 | ((unhashed-subpackets) | ||
| 645 | (get-bytevector-n p (get-u16 p))) | ||
| 646 | ((hashl16) (get-u16 p))) | ||
| 647 | (print "Signature type: " type) | ||
| 648 | (print "Hash algorithm: " (openpgp-hash-algorithm halg)) | ||
| 649 | (let ((value (get-sig p pkalg))) | ||
| 650 | (unless (port-eof? p) | ||
| 651 | (print "Trailing data in signature: " (get-bytevector-all p))) | ||
| 652 | (let* ((subpacket-len (bytevector-length hashed-subpackets)) | ||
| 653 | (append-data | ||
| 654 | (list | ||
| 655 | (integers->bytevector u8 version | ||
| 656 | u8 type | ||
| 657 | u8 pkalg | ||
| 658 | u8 halg | ||
| 659 | u16 subpacket-len) | ||
| 660 | hashed-subpackets | ||
| 661 | ;; http://www.rfc-editor.org/errata_search.php?rfc=4880 | ||
| 662 | ;; Errata ID: 2214. | ||
| 663 | (integers->bytevector u8 #x04 | ||
| 664 | u8 #xff | ||
| 665 | u32 (+ 6 subpacket-len))))) | ||
| 666 | (make-openpgp-signature version type | ||
| 667 | (public-key-algorithm pkalg) | ||
| 668 | (openpgp-hash-algorithm halg) | ||
| 669 | hashl16 | ||
| 670 | append-data | ||
| 671 | (parse-subpackets hashed-subpackets) | ||
| 672 | (parse-subpackets unhashed-subpackets) | ||
| 673 | value))))) | ||
| 674 | (else | ||
| 675 | (print "Unsupported signature version: " version) | ||
| 676 | 'unsupported-signature-version)))) | ||
| 677 | |||
| 678 | (define (parse-subpackets bv) | ||
| 679 | (define (parse tag data) | ||
| 680 | (let ((type (fxbit-field tag 0 7)) | ||
| 681 | (critical? (fxbit-set? tag 7))) | ||
| 682 | (cond | ||
| 683 | ((= type SUBPACKET-SIGNATURE-CTIME) | ||
| 684 | (cons 'signature-ctime | ||
| 685 | (bytevector-u32-ref data 0 (endianness big)))) | ||
| 686 | ((= type SUBPACKET-SIGNATURE-ETIME) | ||
| 687 | (cons 'signature-etime | ||
| 688 | (bytevector-u32-ref data 0 (endianness big)))) | ||
| 689 | ((= type SUBPACKET-TRUST-SIGNATURE) | ||
| 690 | (cons 'trust-signature | ||
| 691 | (bytevector-u8-ref data 0))) | ||
| 692 | ((= type SUBPACKET-REVOCABLE) | ||
| 693 | (cons 'revocable | ||
| 694 | (= (bytevector-u8-ref data 0) 1))) | ||
| 695 | ((= type SUBPACKET-KEY-ETIME) | ||
| 696 | (cons 'key-etime | ||
| 697 | (bytevector-u32-ref data 0 (endianness big)))) | ||
| 698 | ((= type SUBPACKET-PREFERRED-SYMMETRIC-ALGORITHMS) | ||
| 699 | (cons 'preferred-symmetric-algorithms | ||
| 700 | (map symmetric-key-algorithm (bytevector->u8-list data)))) | ||
| 701 | ((= type SUBPACKET-ISSUER) | ||
| 702 | (cons 'issuer | ||
| 703 | (bytevector-u64-ref data 0 (endianness big)))) | ||
| 704 | ((= type SUBPACKET-NOTATION-DATA) | ||
| 705 | (let ((p (open-bytevector-input-port data))) | ||
| 706 | (let-values (((f1 nlen vlen) | ||
| 707 | (get-integers p u8 _ _ _ u16 u16))) | ||
| 708 | (let* ((name (get-bytevector-n p nlen)) | ||
| 709 | (value (get-bytevector-n p vlen))) | ||
| 710 | (cons 'notation-data | ||
| 711 | (list (utf8->string name) | ||
| 712 | (if (fxbit-set? f1 7) | ||
| 713 | (utf8->string value) | ||
| 714 | value))))))) | ||
| 715 | ((= type SUBPACKET-PREFERRED-HASH-ALGORITHMS) | ||
| 716 | (cons 'preferred-hash-algorithms | ||
| 717 | (map openpgp-hash-algorithm (bytevector->u8-list data)))) | ||
| 718 | ((= type SUBPACKET-PREFERRED-COMPRESSION-ALGORITHMS) | ||
| 719 | (cons 'preferred-compression-algorithms | ||
| 720 | (map compression-algorithm (bytevector->u8-list data)))) | ||
| 721 | ((= type SUBPACKET-KEY-SERVER-PREFERENCES) | ||
| 722 | (cons 'key-server-preferences | ||
| 723 | (if (and (>= (bytevector-length data) 1) | ||
| 724 | (fxbit-set? (bytevector-u8-ref data 0) 7)) | ||
| 725 | (list 'no-modify) | ||
| 726 | (list)))) | ||
| 727 | ((= type SUBPACKET-PREFERRED-KEY-SERVER) | ||
| 728 | (cons 'preferred-key-server (utf8->string data))) | ||
| 729 | ((= type SUBPACKET-PRIMARY-USER-ID) | ||
| 730 | (cons 'primary-user-id (not (zero? (bytevector-u8-ref data 0))))) | ||
| 731 | ((= type SUBPACKET-POLICY-URI) | ||
| 732 | (cons 'policy-uri (utf8->string data))) | ||
| 733 | ((= type SUBPACKET-KEY-FLAGS) | ||
| 734 | (cons 'key-flags (bytevector->bitnames | ||
| 735 | data | ||
| 736 | '(certification sign-data | ||
| 737 | communications-encryption | ||
| 738 | storage-encryption | ||
| 739 | split-key authentication | ||
| 740 | group-key)))) | ||
| 741 | ((= type SUBPACKET-SIGNER-USER-ID) | ||
| 742 | (cons 'signer-user-id (utf8->string data))) | ||
| 743 | ((= type SUBPACKET-REASON-FOR-REVOCATION) | ||
| 744 | (let* ((p (open-bytevector-input-port data)) | ||
| 745 | (revocation-code (get-u8 p))) | ||
| 746 | (cons 'reason-for-revocation | ||
| 747 | (list revocation-code | ||
| 748 | (if (port-eof? p) | ||
| 749 | "" | ||
| 750 | (utf8->string (get-bytevector-all p))))))) | ||
| 751 | ((= type SUBPACKET-FEATURES) | ||
| 752 | (cons 'features (bytevector->bitnames | ||
| 753 | data '(modification-detection)))) | ||
| 754 | ((= type SUBPACKET-EMBEDDED-SIGNATURE) | ||
| 755 | (cons 'embedded-signature | ||
| 756 | (get-signature (open-bytevector-input-port data)))) | ||
| 757 | (else | ||
| 758 | ;; Unknown subpacket type. If it is critical, then the signature | ||
| 759 | ;; should be considered invalid. | ||
| 760 | (print "Unknown subpacket type: " type) | ||
| 761 | (if critical? | ||
| 762 | (error "unrecognized critical signature subpacket" type) | ||
| 763 | (list 'unsupported-subpacket type data)))))) | ||
| 764 | |||
| 765 | (let ((p (open-bytevector-input-port bv))) | ||
| 766 | (let lp ((subpackets '())) | ||
| 767 | ;; In case of multiple subpackets of the same type, the last | ||
| 768 | ;; one should be used. Therefore the list is not reversed | ||
| 769 | ;; here. | ||
| 770 | (if (port-eof? p) | ||
| 771 | (reverse subpackets) | ||
| 772 | (let* ((len (- (get-v4-length p) 1)) | ||
| 773 | (tag (get-u8 p)) | ||
| 774 | (sp (parse tag (get-bytevector-n p len)))) | ||
| 775 | (print "#;Subpacket " sp) | ||
| 776 | (lp (cons sp subpackets))))))) | ||
| 777 | |||
| 778 | ;;; Public keys | ||
| 779 | |||
| 780 | |||
| 781 | (define (openpgp-public-key-id k) | ||
| 782 | (let ((bv (openpgp-public-key-fingerprint k))) | ||
| 783 | (bytevector-u64-ref bv | ||
| 784 | (- (bytevector-length bv) 8) | ||
| 785 | (endianness big)))) | ||
| 786 | |||
| 787 | (define (get-public-key p subkey?) | ||
| 788 | (define (fingerprint p) | ||
| 789 | (let ((len (port-position p))) | ||
| 790 | (set-port-position! p 0) | ||
| 791 | (let-values (((sha1-port get) | ||
| 792 | (open-hash-port (hash-algorithm sha1)))) | ||
| 793 | (put-u8 sha1-port #x99) | ||
| 794 | (put-u16 sha1-port len) | ||
| 795 | (dump-port p sha1-port) | ||
| 796 | (close-port sha1-port) | ||
| 797 | (get)))) | ||
| 798 | (define (get-key p alg) | ||
| 799 | (define (->hex n) | ||
| 800 | (string-hex-pad (number->string n 16))) | ||
| 801 | |||
| 802 | (cond ((= alg PUBLIC-KEY-RSA) | ||
| 803 | (print "Public RSA key") | ||
| 804 | (let* ((n (get-mpi p)) (e (get-mpi p))) | ||
| 805 | (string->canonical-sexp | ||
| 806 | (format #f "(public-key (rsa (n #~a#) (e #~a#)))" | ||
| 807 | (->hex n) (->hex e))))) | ||
| 808 | ((= alg PUBLIC-KEY-DSA) | ||
| 809 | (print "Public DSA key") | ||
| 810 | (let* ((p* (get-mpi p)) (q (get-mpi p)) | ||
| 811 | (g (get-mpi p)) (y (get-mpi p))) | ||
| 812 | (string->canonical-sexp | ||
| 813 | (format #f "(public-key (dsa (p #~a#)(q #~a#)(g #~a#)(y #~a#)))" | ||
| 814 | (->hex p*) (->hex q) (->hex g) (->hex y))))) | ||
| 815 | #; | ||
| 816 | ((= alg PUBLIC-KEY-ELGAMAL-ENCRYPT-ONLY) ; ; ; ; | ||
| 817 | (print "Public El-Gamal Key") ; ; ; ; | ||
| 818 | (let* ((p* (get-mpi p)) (g (get-mpi p)) (y (get-mpi p))) ; ; ; ; | ||
| 819 | (make-public-elgamal-key p* g y))) | ||
| 820 | ((= alg PUBLIC-KEY-EDDSA) | ||
| 821 | ;; See | ||
| 822 | ;; <https://tools.ietf.org/html/draft-koch-eddsa-for-openpgp-04> | ||
| 823 | ;; and openpgp-oid.c in GnuPG. | ||
| 824 | (print "Public EdDSA key") | ||
| 825 | (let* ((len (get-u8 p)) | ||
| 826 | (oid (bytevector->uint (get-bytevector-n p len))) | ||
| 827 | (q (get-mpi p))) | ||
| 828 | (define curve | ||
| 829 | (match oid | ||
| 830 | (#x2b06010401da470f01 'Ed25519) | ||
| 831 | (#x2b060104019755010501 'Curve25519))) | ||
| 832 | |||
| 833 | (string->canonical-sexp | ||
| 834 | (format #f "(public-key (ecc (curve ~a)(flags ~a)(q #~a#)))" | ||
| 835 | curve | ||
| 836 | (if (eq? curve 'Curve25519) 'djb-tweak 'eddsa) | ||
| 837 | (->hex q))))) | ||
| 838 | (else | ||
| 839 | (list 'unsupported-algorithm ;FIXME: throw | ||
| 840 | (public-key-algorithm alg) | ||
| 841 | (get-bytevector-all p))))) | ||
| 842 | (let ((version (get-u8 p))) | ||
| 843 | (case version | ||
| 844 | ((4) | ||
| 845 | (let-values (((ctime alg) (get-integers p u32 u8))) | ||
| 846 | (print "Key creation time: " (unixtime ctime)) | ||
| 847 | (let ((key (get-key p alg))) | ||
| 848 | (unless (port-eof? p) | ||
| 849 | ;; Probably an error? Gonna cause trouble anyway. | ||
| 850 | (print "Trailing data in public key: " (get-bytevector-all p))) | ||
| 851 | (let ((digest (fingerprint p))) | ||
| 852 | (make-openpgp-public-key version subkey? ctime key | ||
| 853 | digest))))) | ||
| 854 | (else | ||
| 855 | (print "Unsupported public key version: " version) | ||
| 856 | 'unsupported-public-key-version)))) | ||
| 857 | |||
| 858 | (define (openpgp-public-key-primary? key) | ||
| 859 | (and (openpgp-public-key? key) | ||
| 860 | (not (openpgp-public-key-subkey? key)))) | ||
| 861 | |||
| 862 | ;;; User IDs and User attributes | ||
| 863 | |||
| 864 | |||
| 865 | (define-record-type <openpgp-user-id> | ||
| 866 | (make-openpgp-user-id value unparsed) | ||
| 867 | openpgp-user-id? | ||
| 868 | (value openpgp-user-id-value) | ||
| 869 | (unparsed openpgp-user-id-unparsed)) | ||
| 870 | |||
| 871 | (define (get-user-id p len) | ||
| 872 | (let ((unparsed (get-bytevector-n p len))) | ||
| 873 | (make-openpgp-user-id (utf8->string unparsed) unparsed))) | ||
| 874 | |||
| 875 | (define-record-type <openpgp-user-attribute> | ||
| 876 | (make-openpgp-user-attribute unparsed) | ||
| 877 | openpgp-user-attribute? | ||
| 878 | (unparsed openpgp-user-attribute-unparsed)) | ||
| 879 | |||
| 880 | (define (get-user-attribute p len) | ||
| 881 | (let ((bv (get-bytevector-n p len))) | ||
| 882 | ;; TODO: bv contains subpackets. Type 1 is JFIF. | ||
| 883 | (make-openpgp-user-attribute bv))) | ||
| 884 | |||
| 885 | |||
| 886 | ;;; Keyring management | ||
| 887 | |||
| 888 | (define-record-type <openpgp-keyring> | ||
| 889 | (openpgp-keyring table) | ||
| 890 | openpgp-keyring? | ||
| 891 | (table openpgp-keyring-table)) ;vhash mapping key id to packets | ||
| 892 | |||
| 893 | (define (lookup-key-by-id keyring id) | ||
| 894 | "Return a list of packets for the key with ID in KEYRING, or #f if ID could | ||
| 895 | not be found. ID must be the 64-bit key ID of the key, an integer." | ||
| 896 | (match (vhash-assv id (openpgp-keyring-table keyring)) | ||
| 897 | ((_ . lst) lst) | ||
| 898 | (#f '()))) | ||
| 899 | |||
| 900 | ;; Reads a keyring from the binary input port p. It must not be | ||
| 901 | ;; ASCII armored. | ||
| 902 | |||
| 903 | (define %empty-keyring | ||
| 904 | ;; The empty keyring. | ||
| 905 | (openpgp-keyring vlist-null)) | ||
| 906 | |||
| 907 | (define* (get-openpgp-keyring port | ||
| 908 | #:optional (keyring %empty-keyring) | ||
| 909 | #:key (limit -1)) | ||
| 910 | "Read from PORT an OpenPGP keyring in binary format; return a keyring based | ||
| 911 | on all the OpenPGP primary keys that were read. The returned keyring | ||
| 912 | complements KEYRING. LIMIT is the maximum number of keys to read, or -1 if | ||
| 913 | there is no limit." | ||
| 914 | (let lp ((pkt (get-packet port)) | ||
| 915 | (limit limit) | ||
| 916 | (keyring (openpgp-keyring-table keyring))) | ||
| 917 | (print "#;key " pkt) | ||
| 918 | (cond ((or (zero? limit) (eof-object? pkt)) | ||
| 919 | (openpgp-keyring keyring)) | ||
| 920 | ((openpgp-public-key-primary? pkt) | ||
| 921 | ;; Read signatures, user id's, subkeys | ||
| 922 | (let lp* ((pkt (get-packet port)) | ||
| 923 | (pkts (list pkt)) | ||
| 924 | (key-ids (list (openpgp-public-key-id pkt)))) | ||
| 925 | (print "#;keydata " pkt) | ||
| 926 | (cond ((or (eof-object? pkt) | ||
| 927 | (eq? pkt 'unsupported-public-key-version) | ||
| 928 | (openpgp-public-key-primary? pkt)) | ||
| 929 | ;; KEYRING is indexed by key-id. Key ids for both the | ||
| 930 | ;; primary key and subkeys all point to the list of | ||
| 931 | ;; packets. | ||
| 932 | (lp pkt | ||
| 933 | (- limit 1) | ||
| 934 | (fold (cute vhash-consv <> (reverse pkts) <>) | ||
| 935 | keyring key-ids))) | ||
| 936 | ((openpgp-public-key? pkt) ;subkey | ||
| 937 | (lp* (get-packet port) (cons pkt pkts) | ||
| 938 | (cons (openpgp-public-key-id pkt) key-ids))) | ||
| 939 | (else | ||
| 940 | (lp* (get-packet port) (cons pkt pkts) key-ids))))) | ||
| 941 | (else | ||
| 942 | ;; Skip until there's a primary key. Ignore errors... | ||
| 943 | (lp (get-packet port) limit keyring))))) | ||
| 944 | |||
| 945 | |||
| 946 | ;;; | ||
| 947 | ;;; Radix-64 (RFC4880). | ||
| 948 | ;;; | ||
| 949 | |||
| 950 | (define (crc24 bv) | ||
| 951 | "Compute a CRC24 as described in RFC4880, Section 6.1." | ||
| 952 | (define poly #x1864cfb) | ||
| 953 | |||
| 954 | (let loop ((crc #xb704ce) | ||
| 955 | (index 0)) | ||
| 956 | (if (= index (bytevector-length bv)) | ||
| 957 | (logand crc #xffffff) | ||
| 958 | (let ((crc (logxor (ash (bytevector-u8-ref bv index) 16) | ||
| 959 | crc))) | ||
| 960 | (let inner ((i 0) | ||
| 961 | (crc crc)) | ||
| 962 | (if (< i 8) | ||
| 963 | (let ((crc (ash crc 1))) | ||
| 964 | (inner (+ i 1) | ||
| 965 | (if (zero? (logand crc #x1000000)) | ||
| 966 | crc | ||
| 967 | (logxor crc poly)))) | ||
| 968 | (loop crc (+ index 1)))))))) | ||
| 969 | |||
| 970 | (define %begin-block-prefix "-----BEGIN ") | ||
| 971 | (define %begin-block-suffix "-----") | ||
| 972 | |||
| 973 | (define %end-block-prefix "-----END ") | ||
| 974 | (define %end-block-suffix "-----") | ||
| 975 | |||
| 976 | (define (read-radix-64 port) | ||
| 977 | "Read from PORT an ASCII-armored Radix-64 stream, decode it, and return the | ||
| 978 | result as a bytevector as well as the type, a string such as \"PGP MESSAGE\". | ||
| 979 | Return #f if PORT does not contain a valid Radix-64 stream, and the | ||
| 980 | end-of-file object if the Radix-64 sequence was truncated." | ||
| 981 | ;; This is the same as 'get-delimited-base64', except that it implements the | ||
| 982 | ;; CRC24 check. | ||
| 983 | (define (skip-headers port) | ||
| 984 | ;; Skip the Radix-64 "armor headers". | ||
| 985 | (match (read-line port) | ||
| 986 | ((? eof-object? eof) eof) | ||
| 987 | ((= string-trim-both "") "") | ||
| 988 | (_ (skip-headers port)))) | ||
| 989 | |||
| 990 | (let ((line (string-trim-right (read-line port)))) | ||
| 991 | (if (and (string-prefix? %begin-block-prefix line) | ||
| 992 | (string-suffix? %begin-block-suffix line)) | ||
| 993 | (let* ((kind (string-drop-right | ||
| 994 | (string-drop line (string-length %begin-block-prefix)) | ||
| 995 | (string-length %begin-block-suffix))) | ||
| 996 | (end (string-append %end-block-prefix kind | ||
| 997 | %end-block-suffix))) | ||
| 998 | (skip-headers port) | ||
| 999 | (let loop ((lines '())) | ||
| 1000 | (let ((line (read-line port))) | ||
| 1001 | (match line | ||
| 1002 | ((? eof-object? eof) | ||
| 1003 | (values eof kind)) | ||
| 1004 | ((= string-trim-both "") | ||
| 1005 | (loop lines)) | ||
| 1006 | ((= string-trim-both str) | ||
| 1007 | (if (string=? str end) | ||
| 1008 | (match lines | ||
| 1009 | ((crc lines ...) | ||
| 1010 | ;; The last line should be the CRC, starting with an | ||
| 1011 | ;; "=" sign. | ||
| 1012 | (let ((crc (and (string-prefix? "=" crc) | ||
| 1013 | (base64-decode (string-drop crc 1)))) | ||
| 1014 | (data (base64-decode | ||
| 1015 | (string-concatenate-reverse lines)))) | ||
| 1016 | (if (and crc (= (bytevector->uint crc) (crc24 data))) | ||
| 1017 | (values data kind) | ||
| 1018 | (values #f kind)))) | ||
| 1019 | (_ | ||
| 1020 | (values #f kind))) | ||
| 1021 | (loop (cons str lines)))))))) | ||
| 1022 | (values #f #f)))) | ||
diff --git a/tests/civodul.key b/tests/civodul.key new file mode 100644 index 00000000000..272600ac937 --- /dev/null +++ b/tests/civodul.key | |||
| @@ -0,0 +1,1345 @@ | |||
| 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- | ||
| 2 | |||
| 3 | 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 | ||
| 1343 | RjBYn+8g/BrdPTD9OUAMufM+0SDlZujhrA== | ||
| 1344 | =+/gj | ||
| 1345 | -----END PGP PUBLIC KEY BLOCK----- | ||
diff --git a/tests/dsa.key b/tests/dsa.key new file mode 100644 index 00000000000..4727975c634 --- /dev/null +++ b/tests/dsa.key | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- | ||
| 2 | |||
| 3 | mQMuBF4SQfARCACb/C7qcwKhOdaej1z8dK02iMJlw/C868VEeAuSvXHBE5OULm1+ | ||
| 4 | SlwPCgsLIhe8AIsW0F8zgWlNdOKbcmU1NdzUfo0PIRA8ASerZ3EFd7cloRjk1X3c | ||
| 5 | XbklFQ8D37thgFXYBOkkjzKwCvc+ebcQQsRSvJLhQODSRzknIQBYLoYjKh8skEwY | ||
| 6 | uK+rFs7fEHTrCwnriF7QCZnGqoScS56MrgEtHHwBDpKt8CruSekEHAfI5INMhb6R | ||
| 7 | fdVNTj7TL9gCOlYA6IPK6pfYKjghQ79IGMcGnaEPUdiEuAbc1AVQtfRi4e/IbbN6 | ||
| 8 | /CDmfSQ/fCYm9hQ5sAMzUCqDreqqYrpEYmVHAQC3uXiV7qjDe2vlfz4GNSFOqvHC | ||
| 9 | xHp9UYWE6IQFzVutMwgAgldl3Ql6zxIoiU76bXRDP+W+g67uW1Fnd6ltOVYb4rxp | ||
| 10 | wIRlQpwZeNPzFeZHZ1mJA1rvdD3mORnnnIIwW9Cr5Kn/e63PBJJcYJZZ6bnWYh5O | ||
| 11 | 1MDzyn0CYu4btP0tj7PNxKfxvIxDX3sqfkBFsGgquwa/AwWrdWXD99//PK0iNGN4 | ||
| 12 | WewwXmC2S2SmcuHL0nB4eV6uuQZOK6u3/end1/FqAMEJAW4jC7x7UvbeFs1dwiJv | ||
| 13 | psjluTpP1QDh7ySDfBOANlxOxAM6oCfvUqZ+pifNFw7t3p1eiK3wtjB8fer7bZg3 | ||
| 14 | OT4Pl4gImmCjXs0cse0+FLpUA/gzPHxYR/rUyD/nQwf8CfFRGu+bGFju3YHbZ2T0 | ||
| 15 | cHF/9c3sCdQU7nVnYleySnv1OMDSYoZ7geqgC2q0pnHeezII7hcJB8tKx3BV+J7A | ||
| 16 | WYUL31K4gybK9VkFQC8h+BzPjnzjXEHgL5GY621cPSLJzOyFhY9lKrWUD/DVGXtu | ||
| 17 | xFjissXG2h6jgf+BAqDCKFVYyu/7TQuDA/FKPhx/8Hn9LX4A3CTFswnsRtABGt6t | ||
| 18 | U4yUfQWhnDqLDYWrjvXOEHbMQuBOAU3rPpTLLyQzyKVsQZlMBR5UrSXXY1lN76yl | ||
| 19 | J0NAyeOmgvDT75QAVHPxp9lidRTQJHXU1Ah+N/fzPYamKmgheCXZE8r5cPY3Mkvp | ||
| 20 | w7QbPGx1ZG8rdGVzdC1kc2FAY2hib3VpYi5vcmc+iJYEExEIAD4WIQQohKmAQiMw | ||
| 21 | pPM92X9YeRgEe+i9LAUCXhJB8AIbAwUJA8JnAAULCQgHAgYVCgkICwIEFgIDAQIe | ||
| 22 | AQIXgAAKCRBYeRgEe+i9LOyvAP0a2DIMruGZSHeWcQaNiRWb2/UEq4ClRw67rA7f | ||
| 23 | 39sD5AD+PKeovYJkTSV+F00QKHibMhoGurxABnEUeqmetGITVSU= | ||
| 24 | =YZip | ||
| 25 | -----END PGP PUBLIC KEY BLOCK----- | ||
diff --git a/tests/ed25519.key b/tests/ed25519.key new file mode 100644 index 00000000000..f6bf906783a --- /dev/null +++ b/tests/ed25519.key | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- | ||
| 2 | |||
| 3 | mDMEXqNaoBYJKwYBBAHaRw8BAQdArviKtelb4g0I3zx9xyDS40Oz8i1/LRXqppG6 | ||
| 4 | b23Hdim0KEVkIFR3by1GaWZ0eSA8bHVkbyt0ZXN0LWVjY0BjaGJvdWliLm9yZz6I | ||
| 5 | lgQTFggAPhYhBETTHiGvcTj5tjIoCncfScv6rgctBQJeo1qgAhsDBQkDwmcABQsJ | ||
| 6 | CAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEHcfScv6rgctq4MA/1R9G0roEwrHwmTd | ||
| 7 | DHxt211eLqupwXE0Z7xY2FH6DHk9AP4owEefBU7jQprSAzBS+c6gdS3SCCKKqAh6 | ||
| 8 | ToZ4LmbKAw== | ||
| 9 | =FXMK | ||
| 10 | -----END PGP PUBLIC KEY BLOCK----- | ||
diff --git a/tests/ed25519.sec b/tests/ed25519.sec new file mode 100644 index 00000000000..068738dfabd --- /dev/null +++ b/tests/ed25519.sec | |||
| @@ -0,0 +1,10 @@ | |||
| 1 | -----BEGIN PGP PRIVATE KEY BLOCK----- | ||
| 2 | |||
| 3 | lFgEXqNaoBYJKwYBBAHaRw8BAQdArviKtelb4g0I3zx9xyDS40Oz8i1/LRXqppG6 | ||
| 4 | b23HdikAAQDGgjcUcvqR+nGYcf5UHzy9xlO/dBZX4f9QV1ILDIGt0hAYtChFZCBU | ||
| 5 | d28tRmlmdHkgPGx1ZG8rdGVzdC1lY2NAY2hib3VpYi5vcmc+iJYEExYIAD4WIQRE | ||
| 6 | 0x4hr3E4+bYyKAp3H0nL+q4HLQUCXqNaoAIbAwUJA8JnAAULCQgHAgYVCgkICwIE | ||
| 7 | FgIDAQIeAQIXgAAKCRB3H0nL+q4HLauDAP9UfRtK6BMKx8Jk3Qx8bdtdXi6rqcFx | ||
| 8 | NGe8WNhR+gx5PQD+KMBHnwVO40Ka0gMwUvnOoHUt0ggiiqgIek6GeC5mygM= | ||
| 9 | =VjjI | ||
| 10 | -----END PGP PRIVATE KEY BLOCK----- | ||
diff --git a/tests/openpgp.scm b/tests/openpgp.scm new file mode 100644 index 00000000000..8a3c7bbeb7d --- /dev/null +++ b/tests/openpgp.scm | |||
| @@ -0,0 +1,248 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | ||
| 2 | ;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org> | ||
| 3 | ;;; | ||
| 4 | ;;; This file is part of GNU Guix. | ||
| 5 | ;;; | ||
| 6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | ||
| 7 | ;;; under the terms of the GNU General Public License as published by | ||
| 8 | ;;; the Free Software Foundation; either version 3 of the License, or (at | ||
| 9 | ;;; your option) any later version. | ||
| 10 | ;;; | ||
| 11 | ;;; GNU Guix is distributed in the hope that it will be useful, but | ||
| 12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | ;;; GNU General Public License for more details. | ||
| 15 | ;;; | ||
| 16 | ;;; You should have received a copy of the GNU General Public License | ||
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | ||
| 18 | |||
| 19 | (define-module (tests-openpgp) | ||
| 20 | #:use-module (guix openpgp) | ||
| 21 | #:use-module (gcrypt hash) | ||
| 22 | #:use-module (gcrypt pk-crypto) | ||
| 23 | #:use-module (ice-9 binary-ports) | ||
| 24 | #:use-module (ice-9 match) | ||
| 25 | #:use-module (rnrs bytevectors) | ||
| 26 | #:use-module (srfi srfi-1) | ||
| 27 | #:use-module (srfi srfi-11) | ||
| 28 | #:use-module (srfi srfi-64) | ||
| 29 | #:use-module (srfi srfi-71)) | ||
| 30 | |||
| 31 | (define %radix-64-sample | ||
| 32 | ;; Example of Radix-64 encoding from Section 6.6 of RFC4880. | ||
| 33 | "\ | ||
| 34 | -----BEGIN PGP MESSAGE----- | ||
| 35 | Version: OpenPrivacy 0.99 | ||
| 36 | |||
| 37 | yDgBO22WxBHv7O8X7O/jygAEzol56iUKiXmV+XmpCtmpqQUKiQrFqclFqUDBovzS | ||
| 38 | vBSFjNSiVHsuAA== | ||
| 39 | =njUN | ||
| 40 | -----END PGP MESSAGE-----\n") | ||
| 41 | |||
| 42 | (define %radix-64-sample/crc-mismatch | ||
| 43 | ;; This time with a wrong CRC24 value. | ||
| 44 | "\ | ||
| 45 | -----BEGIN PGP MESSAGE----- | ||
| 46 | |||
| 47 | yDgBO22WxBHv7O8X7O/jygAEzol56iUKiXmV+XmpCtmpqQUKiQrFqclFqUDBovzS | ||
| 48 | vBSFjNSiVHsuAA== | ||
| 49 | =AAAA | ||
| 50 | -----END PGP MESSAGE-----\n") | ||
| 51 | |||
| 52 | (define %civodul-fingerprint | ||
| 53 | "3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5") | ||
| 54 | |||
| 55 | (define %civodul-key-id #x090B11993D9AEBB5) ;civodul.key | ||
| 56 | |||
| 57 | ;; Test keys. They were generated in a container along these lines: | ||
| 58 | ;; guix environment -CP --ad-hoc gnupg pinentry | ||
| 59 | ;; then, within the container: | ||
| 60 | ;; mkdir ~/.gnupg | ||
| 61 | ;; echo pinentry-program ~/.guix-profile/bin/pinentry-tty > ~/.gnupg/gpg-agent.conf | ||
| 62 | ;; gpg --quick-gen-key '<ludo+test-rsa@chbouib.org>' rsa | ||
| 63 | ;; or similar. | ||
| 64 | (define %rsa-key-id #xAE25DA2A70DEED59) ;rsa.key | ||
| 65 | (define %dsa-key-id #x587918047BE8BD2C) ;dsa.key | ||
| 66 | (define %ed25519-key-id #x771F49CBFAAE072D) ;ed25519.key | ||
| 67 | |||
| 68 | |||
| 69 | ;;; The following are detached signatures created commands like: | ||
| 70 | ;;; echo 'Hello!' | gpg -sba --digest-algo sha512 | ||
| 71 | ;;; They are detached (no PACKET-ONE-PASS-SIGNATURE) and uncompressed. | ||
| 72 | |||
| 73 | (define %hello-signature/rsa | ||
| 74 | ;; Signature of the ASCII string "Hello!\n". | ||
| 75 | "\ | ||
| 76 | -----BEGIN PGP SIGNATURE----- | ||
| 77 | |||
| 78 | iQEzBAABCAAdFiEEOF+Gz8hrZlpcFl5rriXaKnDe7VkFAl4SRF0ACgkQriXaKnDe | ||
| 79 | 7VlIyQf/TU5rGUK42/C1ULoWvvm25Mjwh6xxoPPkuBxvos8bE6yKr/vJZePU3aSE | ||
| 80 | mjbVFcO7DioxHMqLd49j803bUtdllJVU18ex9MkKbKjapkgEGkJsuTTzqyONprgk | ||
| 81 | 7xtZGBWuxkP1M6hJICJkA3Ys+sTdKalux/pzr5OWAe+gxytTF/vr/EyJzdmBxbJv | ||
| 82 | /fhd1SeVIXSw4c5gf2Wcvcgfy4N5CiLaUb7j4646KBTvDvmUMcDZ+vmKqC/XdQeQ | ||
| 83 | PrjArGKt40ErVd98fwvNHZnw7VQMx0A3nL3joL5g7/RckDOUb4mqKoqLsLd0wPHP | ||
| 84 | y32DiDUY9s3sy5OMzX4Y49em8vxvlg== | ||
| 85 | =ASEm | ||
| 86 | -----END PGP SIGNATURE-----") | ||
| 87 | |||
| 88 | |||
| 89 | (define %hello-signature/dsa | ||
| 90 | "\ | ||
| 91 | -----BEGIN PGP SIGNATURE----- | ||
| 92 | |||
| 93 | iHUEABEIAB0WIQQohKmAQiMwpPM92X9YeRgEe+i9LAUCXhJFpQAKCRBYeRgEe+i9 | ||
| 94 | LDAaAQC0lXPQepvZBANAUtRLMZuOwL9NQPkfhIwUXtLEBBzyFQD/So8DcybXpRBi | ||
| 95 | JKOiyAQQjMs/GJ6qMEQpRAhyyJRAock= | ||
| 96 | =iAEc | ||
| 97 | -----END PGP SIGNATURE-----") | ||
| 98 | |||
| 99 | |||
| 100 | (define %hello-signature/ed25519/sha256 ;digest-algo: sha256 | ||
| 101 | "\ | ||
| 102 | -----BEGIN PGP SIGNATURE----- | ||
| 103 | |||
| 104 | iHUEABYIAB0WIQRE0x4hr3E4+bYyKAp3H0nL+q4HLQUCXqRADAAKCRB3H0nL+q4H | ||
| 105 | LUImAP9/foaSjPFC/MSr52LNV5ROSL9haea4jPpUP+N6ViFGowEA+AE/xpXPIqsz | ||
| 106 | R6CdxMevURuqUpqQ7rHeiMmdUepeewU= | ||
| 107 | =tLXy | ||
| 108 | -----END PGP SIGNATURE-----") | ||
| 109 | |||
| 110 | (define %hello-signature/ed25519/sha512 ;digest-algo: sha512 | ||
| 111 | "\ | ||
| 112 | -----BEGIN PGP SIGNATURE----- | ||
| 113 | |||
| 114 | iHUEABYKAB0WIQRE0x4hr3E4+bYyKAp3H0nL+q4HLQUCXqRAGgAKCRB3H0nL+q4H | ||
| 115 | LTeKAP0S8LiiosJXOARlYNdhfGw9j26lHrbwJh5CORGlaqqIJAEAoMYcmtNa2b6O | ||
| 116 | inlEwB/KQM88O9RwA8xH7X5a0rodOw4= | ||
| 117 | =68r/ | ||
| 118 | -----END PGP SIGNATURE-----") | ||
| 119 | |||
| 120 | (define %hello-signature/ed25519/sha1 ;digest-algo: sha1 | ||
| 121 | "\ | ||
| 122 | -----BEGIN PGP SIGNATURE----- | ||
| 123 | |||
| 124 | iHUEABYCAB0WIQRE0x4hr3E4+bYyKAp3H0nL+q4HLQUCXqRALQAKCRB3H0nL+q4H | ||
| 125 | LdhEAQCfkdYhIVRa43oTNw9EL/TDFGQjXSHNRFVU0ktjkWbkQwEAjIXhvj2sqy79 | ||
| 126 | Pz7oopeN72xgggYUNT37ezqN3MeCqw0= | ||
| 127 | =AE4G | ||
| 128 | -----END PGP SIGNATURE-----") | ||
| 129 | |||
| 130 | |||
| 131 | (test-begin "openpgp") | ||
| 132 | |||
| 133 | (test-equal "read-radix-64" | ||
| 134 | '(#t "PGP MESSAGE") | ||
| 135 | (let-values (((data type) | ||
| 136 | (call-with-input-string %radix-64-sample read-radix-64))) | ||
| 137 | (list (bytevector? data) type))) | ||
| 138 | |||
| 139 | (test-equal "read-radix-64, CRC mismatch" | ||
| 140 | '(#f "PGP MESSAGE") | ||
| 141 | (call-with-values | ||
| 142 | (lambda () | ||
| 143 | (call-with-input-string %radix-64-sample/crc-mismatch | ||
| 144 | read-radix-64)) | ||
| 145 | list)) | ||
| 146 | |||
| 147 | (test-assert "get-openpgp-keyring" | ||
| 148 | (let* ((key (search-path %load-path "tests/civodul.key")) | ||
| 149 | (keyring (get-openpgp-keyring | ||
| 150 | (open-bytevector-input-port | ||
| 151 | (call-with-input-file key read-radix-64))))) | ||
| 152 | (match (lookup-key-by-id keyring %civodul-key-id) | ||
| 153 | (((? openpgp-public-key? primary) packets ...) | ||
| 154 | (and (= (openpgp-public-key-id primary) %civodul-key-id) | ||
| 155 | (not (openpgp-public-key-subkey? primary)) | ||
| 156 | (string=? (openpgp-format-fingerprint | ||
| 157 | (openpgp-public-key-fingerprint primary)) | ||
| 158 | %civodul-fingerprint) | ||
| 159 | (string=? (openpgp-user-id-value (find openpgp-user-id? packets)) | ||
| 160 | "Ludovic Courtès <ludo@gnu.org>")))))) | ||
| 161 | |||
| 162 | (test-equal "get-openpgp-detached-signature/ascii" | ||
| 163 | (list `(,%dsa-key-id dsa sha256) | ||
| 164 | `(,%rsa-key-id rsa sha256) | ||
| 165 | `(,%ed25519-key-id eddsa sha256) | ||
| 166 | `(,%ed25519-key-id eddsa sha512) | ||
| 167 | `(,%ed25519-key-id eddsa sha1)) | ||
| 168 | (map (lambda (str) | ||
| 169 | (let ((signature (get-openpgp-detached-signature/ascii | ||
| 170 | (open-input-string str)))) | ||
| 171 | (list (openpgp-signature-issuer signature) | ||
| 172 | (openpgp-signature-public-key-algorithm signature) | ||
| 173 | (openpgp-signature-hash-algorithm signature)))) | ||
| 174 | (list %hello-signature/dsa | ||
| 175 | %hello-signature/rsa | ||
| 176 | %hello-signature/ed25519/sha256 | ||
| 177 | %hello-signature/ed25519/sha512 | ||
| 178 | %hello-signature/ed25519/sha1))) | ||
| 179 | |||
| 180 | (test-equal "verify-openpgp-signature, missing key" | ||
| 181 | `(missing-key ,%rsa-key-id) | ||
| 182 | (let* ((keyring (get-openpgp-keyring (%make-void-port "r"))) | ||
| 183 | (signature (get-openpgp-packet | ||
| 184 | (open-bytevector-input-port | ||
| 185 | (call-with-input-string %hello-signature/rsa | ||
| 186 | read-radix-64))))) | ||
| 187 | (let-values (((status key) | ||
| 188 | (verify-openpgp-signature signature keyring | ||
| 189 | (open-input-string "Hello!\n")))) | ||
| 190 | (list status key)))) | ||
| 191 | |||
| 192 | (test-equal "verify-openpgp-signature, good signatures" | ||
| 193 | `((good-signature ,%rsa-key-id) | ||
| 194 | (good-signature ,%dsa-key-id) | ||
| 195 | (good-signature ,%ed25519-key-id) | ||
| 196 | (good-signature ,%ed25519-key-id) | ||
| 197 | (good-signature ,%ed25519-key-id)) | ||
| 198 | (map (lambda (key signature) | ||
| 199 | (let* ((key (search-path %load-path key)) | ||
| 200 | (keyring (get-openpgp-keyring | ||
| 201 | (open-bytevector-input-port | ||
| 202 | (call-with-input-file key read-radix-64)))) | ||
| 203 | (signature (get-openpgp-packet | ||
| 204 | (open-bytevector-input-port | ||
| 205 | (call-with-input-string signature | ||
| 206 | read-radix-64))))) | ||
| 207 | (let-values (((status key) | ||
| 208 | (verify-openpgp-signature signature keyring | ||
| 209 | (open-input-string "Hello!\n")))) | ||
| 210 | (list status (openpgp-public-key-id key))))) | ||
| 211 | (list "tests/rsa.key" "tests/dsa.key" | ||
| 212 | "tests/ed25519.key" "tests/ed25519.key" "tests/ed25519.key") | ||
| 213 | (list %hello-signature/rsa %hello-signature/dsa | ||
| 214 | %hello-signature/ed25519/sha256 | ||
| 215 | %hello-signature/ed25519/sha512 | ||
| 216 | %hello-signature/ed25519/sha1))) | ||
| 217 | |||
| 218 | (test-equal "verify-openpgp-signature, bad signature" | ||
| 219 | `((bad-signature ,%rsa-key-id) | ||
| 220 | (bad-signature ,%dsa-key-id) | ||
| 221 | (bad-signature ,%ed25519-key-id) | ||
| 222 | (bad-signature ,%ed25519-key-id) | ||
| 223 | (bad-signature ,%ed25519-key-id)) | ||
| 224 | (let ((keyring (fold (lambda (key keyring) | ||
| 225 | (let ((key (search-path %load-path key))) | ||
| 226 | (get-openpgp-keyring | ||
| 227 | (open-bytevector-input-port | ||
| 228 | (call-with-input-file key read-radix-64)) | ||
| 229 | keyring))) | ||
| 230 | %empty-keyring | ||
| 231 | '("tests/rsa.key" "tests/dsa.key" | ||
| 232 | "tests/ed25519.key" "tests/ed25519.key" | ||
| 233 | "tests/ed25519.key")))) | ||
| 234 | (map (lambda (signature) | ||
| 235 | (let ((signature (get-openpgp-packet | ||
| 236 | (open-bytevector-input-port | ||
| 237 | (call-with-input-string signature | ||
| 238 | read-radix-64))))) | ||
| 239 | (let-values (((status key) | ||
| 240 | (verify-openpgp-signature signature keyring | ||
| 241 | (open-input-string "What?!")))) | ||
| 242 | (list status (openpgp-public-key-id key))))) | ||
| 243 | (list %hello-signature/rsa %hello-signature/dsa | ||
| 244 | %hello-signature/ed25519/sha256 | ||
| 245 | %hello-signature/ed25519/sha512 | ||
| 246 | %hello-signature/ed25519/sha1)))) | ||
| 247 | |||
| 248 | (test-end "openpgp") | ||
diff --git a/tests/rsa.key b/tests/rsa.key new file mode 100644 index 00000000000..0ef9145ef0d --- /dev/null +++ b/tests/rsa.key | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- | ||
| 2 | |||
| 3 | mQENBF4SRCYBCAC6eVyonmey9Lsa1QpWIcumkExZWmAsTNhNNrdhasU4rC0DGRnw | ||
| 4 | lJtey4h/5NRcGmur4cwwnHUyh9RhQOZgc4MkWfUECfgY98dhjq6+wSavSMwYJyKM | ||
| 5 | 7yGuJgKQBBhdkfjYONP4eHbucifGNhsNRSURUREVCarOYa1AhmH4cmTPe7cUA8mH | ||
| 6 | EfQ2SOsmAUBNjn/Ba2Us8ydiZWGpJXYdzsXQ3HZl1vV2UtPEepPjAkJZa/7hm06z | ||
| 7 | 9WrlOUxoro/R2R7COMWpzuhmY1Ak2VB4H6OMqPAEOk+/H5Pda1yCI9oRROawC24h | ||
| 8 | 4yZYTpcRKV0EQ4cd4Z/DKA4gJdjufyRrmk0fABEBAAG0GzxsdWRvK3Rlc3QtcnNh | ||
| 9 | QGNoYm91aWIub3JnPokBVAQTAQgAPhYhBDhfhs/Ia2ZaXBZea64l2ipw3u1ZBQJe | ||
| 10 | EkQmAhsDBQkDwmcABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEK4l2ipw3u1Z | ||
| 11 | c70IAI+eBLJzXGXNlugNE5rl5YplrLQem9otL7OKIpR+ye3Wg/DRZvN9x+lvUftq | ||
| 12 | rG0+wqxo/WQTy6ZLDUI83OY13zLXDKjRgPdqPYBAYxCY8CMayjDUv8axZVEfC7IX | ||
| 13 | IYgqzZg0E0dfF3m9S+6WUfOYCS5qR2go7TxbrnDyhDiswd5r3TRX5U+asHm0iXTy | ||
| 14 | Pmb0WY301mm1UPToOHSpweMuCw/n5as15o9CWeUJa/I0J6puM66ZRqGt8+7BSCu6 | ||
| 15 | ata0BYLBCUD8aqhgNQpcMAkTRUSr8LNgfgdxr2Ozr+FF39NXGfLihL18AQEvh3SI | ||
| 16 | K/5YAnXV2oMRhOQttDJROOXByoY= | ||
| 17 | =N6XF | ||
| 18 | -----END PGP PUBLIC KEY BLOCK----- | ||
