summaryrefslogtreecommitdiff
path: root/doc/pkcs11-coverage.txt
blob: c58f687aad46bac9c22a766c32aa0d38cb2bd7de (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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107


PKCS#11 COVERAGE

This is the test coverage of the p11-tests tool of the PKCS#11 interface.
We're anxious to complete this, if you have patches please do contribute.


C_CloseAllSessions
- Invalid slot id
- Normal call
- Check open session was closed
- Call when no sessions open

C_CloseSession
- Invalid session
- Normal call
- Check open session was closed
- Close twice

C_Finalize
- With invalid argument
- Normal call
- Double finalize in a row

C_GetFunctionList
- See if returns same data as library entry point

C_GetInfo
- NULL argument
- Normal call
- Space padded strings in CK_INFO
- No flags set

C_GetMechanismInfo
- Invalid mechanism
- Null arguments
- Invalid slot id
- Normal call

C_GetMechanismList
- Null arguments
- Without buffer
- Zero count but buffer present
- Low count but buffer present

C_GetSessionInfo
- Invalid session
- NULL arguments
- Valid call
- Valid slot id
- Valid state for session
- Valid flags for session

C_GetSlotInfo
- NULL argument
- Normal call
- Space padded CK_SLOT_INFO fields
- CK_SLOT_INFO flags are from valid set
- Track CKF_TOKEN_PRESENT flag and compare to C_GetSlotList(TRUE)

C_GetSlotList
- NULL arguments
- Retrieving the count
- Passing buffer space along with zero count.
- Passing buffer space along with low count.
- Passing too much buffer space.

C_GetTokenInfo
- Null arguments
- Normal call
- Space padded CK_TOKEN_INFO fields
- CK_TOKEN_INFO flags are from valid set
- Validate token time when CKF_CLOCK_ON_TOKEN
- Calling on slot without token

C_InitPIN
- Not Implemented

C_InitToken
- Not Implemented

C_Initialize
- Normal call
- Locking: no threads
- Locking: os locking
- Locking: app locking
- Locking: either locking
- Calls without initializing
- NULL argument
- Multiple initialize with C_Finalize between
- Double initialize in a row

C_OpenSession
- Invalid slot
- Null arguments
- No flags
- Without serial flag
- Valid flags
- Read write session

C_SetPIN
- Not Implemented

C_WaitForSlotEvent
- Not Implemented