diff --git a/tests/openpgp/Makefile.am b/tests/openpgp/Makefile.am index 58e1c2a7d..c1e158eeb 100644 --- a/tests/openpgp/Makefile.am +++ b/tests/openpgp/Makefile.am @@ -47,6 +47,7 @@ XTESTS = \ enarmor.scm \ mds.scm \ decrypt.scm \ + decrypt-sym.scm \ decrypt-multifile.scm \ decrypt-dsa.scm \ decrypt-session-key.scm \ @@ -240,6 +241,10 @@ sample_keys = samplekeys/README \ sample_msgs = samplemsgs/clearsig-1-key-1.asc \ samplemsgs/clearsig-2-keys-1.asc \ samplemsgs/clearsig-2-keys-2.asc \ + samplemsgs/enc-sym-cfb-1.asc \ + samplemsgs/enc-sym-cfb-1.asc \ + samplemsgs/enc-sym-ocb-1.asc \ + samplemsgs/enc-sym-ocb-1.asc \ samplemsgs/enc-1-key-1.asc \ samplemsgs/enc-1-key-2.asc \ samplemsgs/enc-2-keys-1.asc \ diff --git a/tests/openpgp/decrypt-sym.scm b/tests/openpgp/decrypt-sym.scm new file mode 100644 index 000000000..7af88ea15 --- /dev/null +++ b/tests/openpgp/decrypt-sym.scm @@ -0,0 +1,38 @@ +#!/usr/bin/env gpgscm + +;; Copyright (C) 2022 g10 Code GmbH +;; +;; This file is part of GnuPG. +;; +;; GnuPG is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 3 of the License, or +;; (at your option) any later version. +;; +;; GnuPG is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program; if not, see . + +(load (in-srcdir "tests" "openpgp" "defs.scm")) +(setup-legacy-environment) + +(define passphrase "password") +(define plaintext "Hello, world!\n") + + +(for-each-p + "Checking decryption of symmetric encrypted files" + (lambda (name) + (tr:do + (tr:open (in-srcdir "tests" "openpgp" "samplemsgs" + (string-append name ".asc"))) + (tr:gpg passphrase '(--passphrase-fd "0" --yes --decrypt)) + (tr:assert-same plaintext))) + '("enc-sym-cfb-1" + "enc-sym-cfb-2" + "enc-sym-ocb-1" + "enc-sym-ocb-2")) diff --git a/tests/openpgp/samplemsgs/enc-sym-cfb-1.asc b/tests/openpgp/samplemsgs/enc-sym-cfb-1.asc new file mode 100644 index 000000000..24415c94c --- /dev/null +++ b/tests/openpgp/samplemsgs/enc-sym-cfb-1.asc @@ -0,0 +1,9 @@ +Symmetric encrypted message of "Hello, world!\n" using +the passphrase "password" and cipher AES128.CFB. + +-----BEGIN PGP MESSAGE----- + +jA0EBwMCt0tGQ7H0b2Xt0j8BHVEh+mzI3SyApdQmObZuDtAKNk/dRbERyF7haRCn +cw3N5t3hbOZ/fWlN/BRAaKplninV//QEo8lqheFFpmI= +=LxrG +-----END PGP MESSAGE----- diff --git a/tests/openpgp/samplemsgs/enc-sym-cfb-2.asc b/tests/openpgp/samplemsgs/enc-sym-cfb-2.asc new file mode 100644 index 000000000..391b31d1e --- /dev/null +++ b/tests/openpgp/samplemsgs/enc-sym-cfb-2.asc @@ -0,0 +1,9 @@ +Symmetric encrypted message of "Hello, world!\n" using +the passphrase "password" and cipher AES256.CFB. + +-----BEGIN PGP MESSAGE----- + +jA0ECQMCN4BmCgZpVHDt0j8B1MRJ3ezrbVqU3Xofj5ykOmb7dgYytxzk6QHqzdNO +lorumncKV+xjFkte8uKqaGJoPhoKb2s9uJWDgugLMDM= +=gy0I +-----END PGP MESSAGE----- diff --git a/tests/openpgp/samplemsgs/enc-sym-ocb-1.asc b/tests/openpgp/samplemsgs/enc-sym-ocb-1.asc new file mode 100644 index 000000000..783cc9d22 --- /dev/null +++ b/tests/openpgp/samplemsgs/enc-sym-ocb-1.asc @@ -0,0 +1,11 @@ +Symmetric encrypted message of "Hello, world!\n" using +the passphrase "password" and cipher AES128.OCB. +This is the sample message from the rfc4880bis specs. + +-----BEGIN PGP MESSAGE----- + +wz0FBwIDCJ8LfaPl6mR3kJnjJuVACpCTbO+06OugjGdzcW0fJxRUCjj8rFKZSdrF +KdPeMeFbSutynjMAM9vt1EkBBwIOXtK8HkcKvo8dZEx6bIpWew93ARlmEaFUupwl +dM0FYoSo72gDXGI9k8xwikMhG7bq8rJ/fBjVcbzYOyCt06CLc68VuaCY +=xyh5 +-----END PGP MESSAGE----- diff --git a/tests/openpgp/samplemsgs/enc-sym-ocb-2.asc b/tests/openpgp/samplemsgs/enc-sym-ocb-2.asc new file mode 100644 index 000000000..a1738e80b --- /dev/null +++ b/tests/openpgp/samplemsgs/enc-sym-ocb-2.asc @@ -0,0 +1,11 @@ +Symmetric encrypted message of "Hello, world!\n" using +the passphrase "password" and cipher AES256.OCB. + +-----BEGIN PGP MESSAGE----- + +jE0FCQIDAvYE/YfWbrWF7T3TKFmFzU/o5JSmot/OwIoDZc4sABYLMuTjVeCXUaRp +unDEDnkCz0tsov+7ljb/tu2NUDGnybSsupE+E4bMf9RJAQkCEMhe3HeHBrv1jHsS +gbmxjSQ/r1whc40/vh6ACbp/Yu2Te1Gf/mPxS9mgLDbIeah3G9/kXlheO4X2Hhuy +iOCOZdpPiAp1QA== +=U8eG +-----END PGP MESSAGE-----