tests: Add symmetric decryption tests.

* tests/openpgp/decrypt-sym.scm: New.
* tests/openpgp/samplemsgs/enc-sym-cfb-1.asc: New.
* tests/openpgp/samplemsgs/enc-sym-cfb-2.asc: New.
* tests/openpgp/samplemsgs/enc-sym-ocb-1.asc: New.
* tests/openpgp/samplemsgs/enc-sym-ocb-2.asc: New.
--

It's time to have some OCB tests in our suite so that we don't forget
to run the tests from our RNP interop tests.  Also adds new tests for
CFB messages.
This commit is contained in:
Werner Koch 2022-11-02 17:07:59 +01:00
parent 9b24d8ab50
commit e284f62b1c
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
6 changed files with 83 additions and 0 deletions

View File

@ -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 \

View File

@ -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 <http://www.gnu.org/licenses/>.
(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"))

View File

@ -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-----

View File

@ -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-----

View File

@ -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-----

View File

@ -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-----