3
C_GetSlotList false NULL slotCount
4
NewArray slotList CK_ULONG slotCount
5
C_GetSlotList false slotList slotCount
6
#change the following to the appropriate slot id
8
#set slotID slotList[0]
9
C_GetSlotInfo slotID slotInfo
10
C_GetTokenInfo slotID tokenInfo
11
C_OpenSession slotID CKF_SERIAL_SESSION session
13
#uncomment the following line and include the correct password
14
#C_Login session CKU_USER 0000 4
16
# build the search template
18
NewTemplate search CKA_CLASS
19
SetTemplate search 0 CKO_CERTIFICATE
20
NewArray certID CK_ULONG 10
21
C_FindObjectsInit session search 1
22
C_FindObjects session certID sizeA(certID) count
23
C_FindObjectsFinal session
25
# now read the cert out
27
#NewTemplate derCert CKA_VALUE
28
#NewTemplate certName CKA_LABEL,CKA_VALUE
29
#C_GetAttributeValue session certID[0] certName sizeA(certName)
30
#BuildTemplate certName
31
#C_GetAttributeValue session certID[0] certName sizeA(certName)
35
LoopRun pLabel1 i 0 countm1 1
38
NewTemplate id CKA_CLASS,CKA_ID
39
C_GetAttributeValue session certID[i] id sizeA(id)
41
C_GetAttributeValue session certID[i] id sizeA(id)
42
SetTemplate id 0 CKO_PRIVATE_KEY
43
NewArray keyID CK_ULONG 10
44
C_FindObjectsInit session id sizeA(id)
45
C_FindObjects session keyID sizeA(keyID) count
46
C_FindObjectsFinal session
48
NewMechanism rsaParams CKM_RSA_PKCS
49
NewArray sign data 256
50
NewArray sdata data 36
51
C_SignInit session rsaParams keyID[0]
53
C_Sign session sdata sizeof(sdata) sign sizeof(sign)
56
NewTemplate privValue CKA_MODULUS,CKA_PUBLIC_EXPONENT
57
C_GetAttributeValue session keyID[0] privValue sizeA(privValue)
58
BuildTemplate privValue
59
C_GetAttributeValue session keyID[0] privValue sizeA(privValue)
64
SetTemplate id 0 CKO_PUBLIC_KEY
65
NewArray pubkeyID CK_ULONG 10
66
C_FindObjectsInit session id sizeA(id)
67
C_FindObjects session pubkeyID sizeA(pubkeyID) count
68
C_FindObjectsFinal session
69
NewTemplate pubkeyValue CKA_MODULUS,CKA_PUBLIC_EXPONENT
70
C_GetAttributeValue session pubkeyID[0] pubkeyValue sizeA(pubkeyValue)
71
BuildTemplate pubkeyValue
72
C_GetAttributeValue session pubkeyID[0] pubkeyValue sizeA(pubkeyValue)
81
# Now do the same for using softoken
84
NewInitArg init CKF_OS_LOCKING_OK configdir=./db
86
C_GetSlotList false NULL slotCount
87
NewArray slotList CK_ULONG slotCount
88
C_GetSlotList false slotList slotCount
89
#change the following to the appropriate slot id
90
set slotID slotList[1]
91
#set slotID slotList[0]
92
C_GetSlotInfo slotID slotInfo
93
C_GetTokenInfo slotID tokenInfo
94
C_OpenSession slotID CKF_SERIAL_SESSION session
95
NewTemplate search CKA_CLASS
96
SetTemplate search 0 CKO_CERTIFICATE
97
NewArray certID CK_ULONG 10
98
C_FindObjectsInit session search 1
99
C_FindObjects session certID sizeA(certID) count
100
C_FindObjectsFinal session
102
# now read the cert out
104
#NewTemplate derCert CKA_VALUE
105
#NewTemplate certName CKA_LABEL,CKA_VALUE
106
#C_GetAttributeValue session certID[0] certName sizeA(certName)
107
#BuildTemplate certName
108
#C_GetAttributeValue session certID[0] certName sizeA(certName)
112
#LoopRun pLabel1 i 0 countm1 1
115
NewTemplate id CKA_CLASS,CKA_ID
116
C_GetAttributeValue session certID[i] id sizeA(id)
118
C_GetAttributeValue session certID[i] id sizeA(id)
119
SetTemplate id 0 CKO_PRIVATE_KEY
120
NewArray keyID CK_ULONG 10
121
C_FindObjectsInit session id sizeA(id)
122
C_FindObjects session keyID sizeA(keyID) count
123
C_FindObjectsFinal session
125
NewMechanism rsaParams CKM_RSA_PKCS
126
NewArray sign data 256
127
NewArray sdata data 36
128
C_SignInit session rsaParams keyID[0]
129
C_Sign session sdata sizeof(sdata) sign sizeof(sign)
133
SetTemplate id 0 CKO_PUBLIC_KEY
134
NewArray pubkeyID CK_ULONG 10
135
C_FindObjectsInit session id sizeA(id)
136
C_FindObjects session pubkeyID sizeA(pubkeyID) count
137
C_FindObjectsFinal session
140
# OK now we use raw unwrap and see what we have...
142
NewMechanism rawRsaParams CKM_RSA_X_509
143
NewArray vdata data 256
144
C_VerifyRecoverInit session rawRsaParams pubkeyID[0]
145
C_VerifyRecover session sign sizeof(sign) vdata sizeof(vdata)
147
restore signature sign
148
C_VerifyRecoverInit session rawRsaParams pubkeyID[0]
149
C_VerifyRecover session sign sizeof(sign) vdata sizeof(vdata)
152
NewTemplate pubkeyValue CKA_MODULUS,CKA_PUBLIC_EXPONENT
153
C_GetAttributeValue session pubkeyID[0] pubkeyValue sizeA(pubkeyValue)
154
BuildTemplate pubkeyValue
155
C_GetAttributeValue session pubkeyID[0] pubkeyValue sizeA(pubkeyValue)