mirror of
https://gitlab.kit.edu/kit/scc/sys/mail/exim-encrypt-dlfunc.git
synced 2025-12-06 09:33:56 +01:00
Wrote decrypt tool for sodium_crypto_box_seal plus matching tests.
Lots of code cleanups.
This commit is contained in:
46
src/test_libexim-encrypt-dlfunc-decrypt-sealedbox.sh
Executable file
46
src/test_libexim-encrypt-dlfunc-decrypt-sealedbox.sh
Executable file
@ -0,0 +1,46 @@
|
||||
#!/bin/bash
|
||||
# shellcheck disable=SC2034
|
||||
# this script implements the TAP protocol (https://testanything.org)
|
||||
echo 1..3
|
||||
|
||||
TEST_PUBLICKEY='z7+GlUWgoiXJ4VK6cdLikCF7M6Mj9i4eXNE6Jh1m9yw='
|
||||
TEST_SECRETKEY='h5C/V2nzhILRmJ6UZrNK/6G8Xc4KWzLq/Qr8Xj42jus='
|
||||
TEST_CLEARTEXT='There is nothing in the middle of the road but a yellow stripe and dead armadillos. ~ Jim Hightower'
|
||||
TEST_CIPHERTEXT='+UgXgarCuX3dUobgt8rRnjnxPNWHpsw98GjLZy8+2m5e/v9K/acMq+0UsFW7lwAZIRqj1F55n78y73Y6XCBEVSt8G6nntV8WuDYlr1BHcBIXNr5toUbE+CxtLoGqfD3c3nw1NkJDO1NYGzK/cG43TEEBLrQJCRLRBXOZmxG6ugFo4FtYl297/B1xNtkd9IR4TY5C'
|
||||
CIPHERTEXT_FILE="$(mktemp)"
|
||||
TEST_PUBLICKEY_FILE="$(mktemp)"
|
||||
TEST_SECRETKEY_FILE="$(mktemp)"
|
||||
echo -n "${TEST_CIPHERTEXT}" > "${CIPHERTEXT_FILE}"
|
||||
echo -n "${TEST_PUBLICKEY}" | base64 -d > "${TEST_PUBLICKEY_FILE}"
|
||||
echo -n "${TEST_SECRETKEY}" | base64 -d > "${TEST_SECRETKEY_FILE}"
|
||||
|
||||
cleanup() {
|
||||
rm -rf "${CIPHERTEXT_FILE}" "${TEST_PUBLICKEY_FILE}" "${TEST_SECRETKEY_FILE}"
|
||||
}
|
||||
trap cleanup EXIT INT TERM
|
||||
|
||||
export LIBEXIM_PUBLICKEY="${TEST_PUBLICKEY}"
|
||||
export LIBEXIM_SECRETKEY="${TEST_SECRETKEY}"
|
||||
|
||||
DECRYPTED="$(src/libexim-encrypt-dlfunc-decrypt-sealedbox "${TEST_CIPHERTEXT}")"
|
||||
if [ "${DECRYPTED}" == "${TEST_CLEARTEXT}" ] ; then
|
||||
echo "ok 1 - decrypt commandline argument with keys from environment successful"
|
||||
else
|
||||
echo "not ok 1 - decrypt commandline argument with keys from environment unsuccessful"
|
||||
fi
|
||||
|
||||
export -n LIBEXIM_PUBLICKEY LIBEXIM_SECRETKEY
|
||||
|
||||
DECRYPTED="$(src/libexim-encrypt-dlfunc-decrypt-sealedbox --secret-key "${TEST_SECRETKEY}" --public-key "${TEST_PUBLICKEY}" --infile "${CIPHERTEXT_FILE}")"
|
||||
if [ "${DECRYPTED}" == "${TEST_CLEARTEXT}" ] ; then
|
||||
echo "ok 2 - decrypt file contents with keys from commandline"
|
||||
else
|
||||
echo "not ok 2 - decrypt file contents with keys from commandline"
|
||||
fi
|
||||
|
||||
DECRYPTED="$(src/libexim-encrypt-dlfunc-decrypt-sealedbox --secret-key-file "${TEST_SECRETKEY_FILE}" --public-key-file "${TEST_PUBLICKEY_FILE}" --infile - < "${CIPHERTEXT_FILE}")"
|
||||
if [ "${DECRYPTED}" == "${TEST_CLEARTEXT}" ] ; then
|
||||
echo "ok 3 - decrypt stdin contents with keys from files"
|
||||
else
|
||||
echo "not ok 3 - decrypt stdin contents with keys from files"
|
||||
fi
|
||||
Reference in New Issue
Block a user