blob: de7ecf2bdd5cb8153081defe47f94e775ae3fd41 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# file : tests/agent-pkcs11.testscript
# copyright : Copyright (c) 2014-2018 Code Synthesis Ltd
# license : MIT; see accompanying LICENSE file
: args
:
{
: none
:
$* 2>'error: private key URL argument expected' != 0
: invalid-url
:
$* 'http://key' 2>'error: invalid PKCS#11 URL: invalid scheme' != 0
}
: existent-module
:
{
url = 'pkcs11:?pin-value=123123'
: failure
:
$* --simulate failure "$url" 2>>EOE != 0
error: no matching private key found
EOE
: success
:
{
$* --simulate success "$url" | set script;
sed -n -e 's/^OPENSSL_AGENT_PKCS11_PID=(.+);.+;$/\1/p' <"$script" | \
set pid;
echo "$script" >>~"%EOO%";
%OPENSSL_AGENT_PKCS11_SOCK=.+; export OPENSSL_AGENT_PKCS11_SOCK;%
OPENSSL_AGENT_PKCS11_PID=$pid; export OPENSSL_AGENT_PKCS11_PID;
echo Agent pid $pid
EOO
kill -0 "$pid"; # Make sure the agent is running.
kill "$pid"; # Signal the agent to terminate.
sleep 2; # Wait a bit while the agent is terminating.
kill -0 "$pid" 2>! != 0 # Make sure the agent is not running.
}
}
: non-existent-module
:
{
url = 'pkcs11:?pin-value=123123&module-name=non-existing-pkcs11-module'
: failure
:
$* --simulate failure "$url" 2>>EOE != 0
error: no matching private key found
EOE
: success
:
{
$* --simulate success "$url" | set script;
sed -n -e 's/^OPENSSL_AGENT_PKCS11_PID=(.+);.+;$/\1/p' <"$script" | \
set pid;
kill -0 "$pid"; # Make sure the agent is running.
kill "$pid" # Signal the agent to terminate.
}
}
|