From a42044829cc8960d0206ba4ecdbfd4193af694b4 Mon Sep 17 00:00:00 2001 From: okir Date: Mon, 13 Oct 2003 16:13:38 +0000 Subject: [PATCH] - updated/added tests git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1509 c6295689-39f2-0310-b995-f0e70906c6a9 --- src/tests/regression/functions | 26 ++++++++++++++++++++++++++ src/tests/regression/init0001 | 2 +- src/tests/regression/init0002 | 4 ++-- src/tests/regression/init0005 | 2 +- src/tests/regression/init0007 | 4 ++-- src/tests/regression/init0008 | 2 +- src/tests/regression/init0012 | 13 +++++++++++++ src/tests/regression/pin0001 | 13 +++++++++++++ src/tests/regression/pin0002 | 13 +++++++++++++ src/tests/regression/run-all | 5 +++-- 10 files changed, 75 insertions(+), 9 deletions(-) create mode 100755 src/tests/regression/init0012 create mode 100755 src/tests/regression/pin0001 create mode 100755 src/tests/regression/pin0002 diff --git a/src/tests/regression/functions b/src/tests/regression/functions index 16060a2a..9f0a7470 100755 --- a/src/tests/regression/functions +++ b/src/tests/regression/functions @@ -13,6 +13,7 @@ if [ -z "$__p15init__" ]; then p15crypt=$p15base/tools/pkcs15-crypt p15tool=$p15base/tools/pkcs15-tool p15init=$p15base/tools/pkcs15-init + p15dump=$p15base/tests/p15dump p11tool=$p15base/tools/pkcs11-tool p15log=$p15temp/test.log @@ -50,6 +51,7 @@ if [ -z "$__p15init__" ]; then p15crypt="$p15crypt --reader $P15_READER" p15tool="$p15tool --reader $P15_READER" p15init="$p15init --reader $P15_READER" + p15dump="$p15dump --reader $P15_READER" osctool="$osctool --reader $P15_READER" fi @@ -244,6 +246,28 @@ function p15_set_pin { } +function p15_change_pin { + + msg "Changing user PIN ($*)" + run_display_output $p15tool \ + --change-pin \ + --pin 0000 \ + --new-pin 2222 \ + "$@" + success +} + +function p15_unblock_pin { + + msg "Changing user PIN ($*)" + run_display_output $p15tool \ + --unblock-pin \ + --puk 111111 \ + --new-pin 2222 \ + "$@" + success +} + function p15_gen_key { type=$1 @@ -295,6 +319,8 @@ function p15_crypt { function p15_validate { + msg "Card contents according to p15dump" + run_display_output $p15dump < /dev/null msg "Validating card using pkcs11-tool" run_display_output $p11tool -t --pin 0000 \ --slot-label "OpenSC Test Card" $* < /dev/null diff --git a/src/tests/regression/init0001 b/src/tests/regression/init0001 index 8eb5505f..504c8d98 100755 --- a/src/tests/regression/init0001 +++ b/src/tests/regression/init0001 @@ -8,7 +8,7 @@ p15_init --no-so-pin p15_set_pin -a 01 -p15_gen_key rsa/1024 -a 01 --key-usage sign,decrypt +p15_gen_key rsa/1024 -a 01 --split-key --key-usage sign,decrypt p15_validate p15_erase --secret @01=0000 diff --git a/src/tests/regression/init0002 b/src/tests/regression/init0002 index be993e0b..34c40ffb 100755 --- a/src/tests/regression/init0002 +++ b/src/tests/regression/init0002 @@ -6,11 +6,11 @@ . functions -skip_if_card Cryptoflex Cyberflex Multiflex +# skip_if_card Cryptoflex Cyberflex Multiflex p15_init --so-pin 999999 --so-puk 88888888 p15_set_pin -a 27 --so-pin 999999 -p15_gen_key rsa/1024 -a 27 --so-pin 999999 --key-usage sign,decrypt +p15_gen_key rsa/1024 -a 27 --so-pin 999999 --split-key --key-usage sign,decrypt p15_validate p15_erase --secret @27=0000 diff --git a/src/tests/regression/init0005 b/src/tests/regression/init0005 index 21d12b27..dc711a87 100755 --- a/src/tests/regression/init0005 +++ b/src/tests/regression/init0005 @@ -8,7 +8,7 @@ p15_init --no-so-pin p15_set_pin -a 01 -p15_gen_key rsa/512 -a 01 --key-usage sign,decrypt +p15_gen_key rsa/512 -a 01 --split-key --key-usage sign,decrypt p15_validate p15_erase --secret @01=0000 diff --git a/src/tests/regression/init0007 b/src/tests/regression/init0007 index a771515a..24592247 100755 --- a/src/tests/regression/init0007 +++ b/src/tests/regression/init0007 @@ -9,8 +9,8 @@ p15_init --no-so-pin p15_set_pin -a 01 p15_set_pin -a 02 --label "User Signature PIN" -p15_gen_key rsa/512 -a 01 --key-usage sign,decrypt -p15_gen_key rsa/512 -a 02 --key-usage nonRepudiation \ +p15_gen_key rsa/512 -a 01 --split-key --key-usage sign,decrypt +p15_gen_key rsa/512 -a 02 --split-key --key-usage nonRepudiation \ --id feeb \ --label "Non-Repudiation Key" p15_validate diff --git a/src/tests/regression/init0008 b/src/tests/regression/init0008 index 3231f207..efeb7643 100755 --- a/src/tests/regression/init0008 +++ b/src/tests/regression/init0008 @@ -8,7 +8,7 @@ p15_init --no-so-pin p15_set_pin -a 01 -p15_store_key test.p12 --format pkcs12 --passphrase "password" -a 01 +p15_store_key test.p12 --format pkcs12 --passphrase "password" -a 01 --split-key p15_validate p15_erase --secret @01=0000 diff --git a/src/tests/regression/init0012 b/src/tests/regression/init0012 new file mode 100755 index 00000000..9739b8ea --- /dev/null +++ b/src/tests/regression/init0012 @@ -0,0 +1,13 @@ +#!/bin/bash +# +# Test pkcs15-init +# +# Run this from the regression test directory. + +. functions + +p15_init --profile pkcs15+onepin --so-pin 999999 --so-puk 111111 +p15_gen_key rsa/1024 -a FF --split-key --key-usage sign,decrypt --pin 999999 +p15_validate --pin 999999 +p15_erase + diff --git a/src/tests/regression/pin0001 b/src/tests/regression/pin0001 new file mode 100755 index 00000000..e40e3d8b --- /dev/null +++ b/src/tests/regression/pin0001 @@ -0,0 +1,13 @@ +#!/bin/bash +# +# Test pkcs15-init +# +# Run this from the regression test directory. + +. functions + +p15_init --no-so-pin +p15_set_pin -a 01 +p15_change_pin -a 01 +p15_erase --secret @01=2222 + diff --git a/src/tests/regression/pin0002 b/src/tests/regression/pin0002 new file mode 100755 index 00000000..551ef443 --- /dev/null +++ b/src/tests/regression/pin0002 @@ -0,0 +1,13 @@ +#!/bin/bash +# +# Test pkcs15-init +# +# Run this from the regression test directory. + +. functions + +p15_init --no-so-pin +p15_set_pin -a 01 +p15_unblock_pin -a 01 +p15_erase --secret @01=2222 + diff --git a/src/tests/regression/run-all b/src/tests/regression/run-all index 4b6da9a3..2bdb82d1 100755 --- a/src/tests/regression/run-all +++ b/src/tests/regression/run-all @@ -19,18 +19,19 @@ while [ $# -gt 0 ]; do done if [ -z "$scripts" ]; then - scripts=`ls init* crypt*` + scripts=`ls init* crypt* pin*` fi for script in $scripts; do echo -n "${script}... " + mkdir -p test-data if ./$script $options >out/$script 2>&1; then echo "success" else mkdir -p failed failed="failed/$script" - rm -rf $failed mv test-data $failed + cp out/$script $failed/test.log echo "fail (test data moved to $failed)" if $abort_if_fail; then echo Aborting.