diff options
Diffstat (limited to 'tests/do-sign.sh')
-rwxr-xr-x | tests/do-sign.sh | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/do-sign.sh b/tests/do-sign.sh new file mode 100755 index 0000000..9552a5a --- /dev/null +++ b/tests/do-sign.sh @@ -0,0 +1,22 @@ +#! /bin/sh + +set -eu + +SIGFILE="$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 + +if [ -n "$SERVER_PROVIDER" ]; then + p11-kit server --kill > /dev/null +fi |