summaryrefslogtreecommitdiff
path: root/src/tests/do-sign.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/do-sign.sh')
-rwxr-xr-xsrc/tests/do-sign.sh23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/tests/do-sign.sh b/src/tests/do-sign.sh
index 3e78560..9552a5a 100755
--- a/src/tests/do-sign.sh
+++ b/src/tests/do-sign.sh
@@ -2,12 +2,21 @@
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 \
+ -sign "$(p11tool --login --provider=$P11_PROVIDER --list-token-urls)" \
+ -out $SIGFILE
-tokenurl="$(p11tool --login --provider=$P11_PROVIDER --list-token-urls)"
-echo $TEXT | \
- openssl dgst -sha256 -engine pkcs11 -keyform ENGINE -sign "$tokenurl" \
- -out $SIGFILE
+if [ -n "$SERVER_PROVIDER" ]; then
+ p11-kit server --kill > /dev/null
+fi