diff options
Diffstat (limited to 'src/tests/do-verify.sh')
-rwxr-xr-x | src/tests/do-verify.sh | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/src/tests/do-verify.sh b/src/tests/do-verify.sh index a67a982..a18a762 100755 --- a/src/tests/do-verify.sh +++ b/src/tests/do-verify.sh @@ -2,12 +2,22 @@ set -eu -OPENSSL_CONF="$1"; shift -P11_PROVIDER="$1"; shift SIGFILE="$1"; shift -TEXT="$1"; shift +P11_PROVIDER="$1"; shift +OPENSSL_CONF="$1"; shift +SERVER_PROVIDER= +[ $# -ge 1 ] && { SERVER_PROVIDER="$1"; shift; } + + +if [ -n "$SERVER_PROVIDER" ]; then + P11_KIT_ENV=$(p11-kit server $SERVER_PROVIDER) + eval "$P11_KIT_ENV" +fi + +openssl dgst -sha256 -engine pkcs11 -keyform ENGINE \ + -prverify "$(p11tool --login --provider=$P11_PROVIDER --list-token-urls)" \ + -signature $SIGFILE | egrep "^Verified OK$" -tokenurl="$(p11tool --login --provider=$P11_PROVIDER --list-token-urls)" -echo $TEXT | \ - openssl dgst -sha256 -engine pkcs11 -keyform ENGINE \ - -prverify "$tokenurl" -signature $SIGFILE | egrep "^Verified OK$" +if [ -n "$SERVER_PROVIDER" ]; then + p11-kit server --kill > /dev/null +fi |