diff options
| author | Joshua Frommholz <[email protected]> | 2025-09-17 12:46:36 +0000 |
|---|---|---|
| committer | Werner Koch <[email protected]> | 2025-09-23 09:06:00 +0000 |
| commit | 60f5b901178b476447d8a2ece0945bd3696e5ec3 (patch) | |
| tree | f10dc4da6ea7c9079224c81428f5646323c8fc38 | |
| parent | tests: Add first test for --add-recipients (diff) | |
| download | gnupg-60f5b901178b476447d8a2ece0945bd3696e5ec3.tar.gz gnupg-60f5b901178b476447d8a2ece0945bd3696e5ec3.zip | |
tests: Add checks for change-recipients
* tests/openpgp/add-recipient.scm: Added checks for change-recipients
| -rw-r--r-- | tests/openpgp/add-recipient.scm | 59 |
1 files changed, 51 insertions, 8 deletions
diff --git a/tests/openpgp/add-recipient.scm b/tests/openpgp/add-recipient.scm index bf10dded2..7e6e68831 100644 --- a/tests/openpgp/add-recipient.scm +++ b/tests/openpgp/add-recipient.scm @@ -20,22 +20,65 @@ (load (in-srcdir "tests" "openpgp" "defs.scm")) (setup-legacy-environment) +;; Used keys +(define privkey1 "private-keys-v1.d/7E201E28B6FEB2927B321F443205F4724EBE637E.key") +(define privkey2 "private-keys-v1.d/8B5ABF3EF9EB8D96B91A0B8C2C4401C91C834C34.key") + +;; Create encrypted copy of keys for key reimport +(call-check `(,@GPG --enarmor ,privkey1)) +(call-check `(,@GPG --enarmor ,privkey2)) + +(for-each-p + "Checking add-recipient 0/2" + (lambda (source) + (tr:do + (tr:open source) + (tr:gpg "" `( --encrypt --recipient ,usrname1)) + (tr:gpg "" `( --recipient ,usrname2 --add-recipient)) + (tr:write-to "reference") + ;; Make usr1's priv unavailable + (tr:unlink privkey1) + (tr:spawn "" `(,@GPG --output **out** --decrypt "reference")) + (tr:assert-identity source) + ;; Reset enviroment + (tr:spawn "" `(,@GPG -o ,privkey1 --dearmor ,(string-append privkey1 ".asc"))) ;;usrname1 + ) + ) + (append all-files) +) (for-each-p - "Checking encryption" + "Checking change-recipient 1/2" (lambda (source) (tr:do + ;; Encrypt to usr1 (tr:open source) - (tr:gpg "" `(--yes --encrypt --recipient ,usrname1)) - (tr:gpg "" `(--yes --recipient ,usrname2 --add-recipient)) + (tr:gpg "" `( --encrypt --recipient ,usrname1)) + + ;; Change recipient to usr2 + (tr:gpg "" `( --recipient ,usrname2 --change-recipient)) (tr:write-to "reference") - ;; Make username1's priv unavailable - (tr:spawn "" `(,@GPG --batch --yes --enarmor "private-keys-v1.d/7E201E28B6FEB2927B321F443205F4724EBE637E.key")) ;;usrname1 - (tr:unlink "private-keys-v1.d/7E201E28B6FEB2927B321F443205F4724EBE637E.key") - (tr:spawn "" `(,@GPG --output **out** --yes --decrypt "reference")) + + ;; Setup keys for check 1 + (tr:unlink privkey2) ;;Remove key usr2 + + ;; Check if usr1 can still decrypt if yes fail + (tr:call-with-content + (lambda (c) + (assert(failed? (call-check `(,@GPG --output **out** --decrypt "reference")))) + ) + ) + ;; Setup keys for check 2 + (tr:spawn "" `(,@GPG -o ,privkey2 --dearmor ,(string-append privkey2 ".asc"))) ;;Add key usr2 + (tr:unlink privkey1) ;;Remove key usr1 + + ;; Check if usr2 can decrypt if no fail + (tr:spawn "" `(,@GPG --output **out** --decrypt "reference")) (tr:assert-identity source) + ;; Reset enviroment - (tr:spawn "" `(,@GPG --batch --yes -o "private-keys-v1.d/7E201E28B6FEB2927B321F443205F4724EBE637E.key" --dearmor "private-keys-v1.d/7E201E28B6FEB2927B321F443205F4724EBE637E.key.asc")) ;;usrname1 + (tr:spawn "" `(,@GPG -o ,privkey1 --dearmor ,(string-append privkey1 ".asc"))) ;;Add key usr1 ) ) (append all-files) ) +(info "Checks complete 2/2") |
