~ubuntu-branches/ubuntu/feisty/firefox/feisty-updates

« back to all changes in this revision

Viewing changes to security/nss-fips/cmd/pk11util/scripts/dosign

  • Committer: Bazaar Package Importer
  • Author(s): Alexander Sack, Alexander Sack
  • Date: 2008-06-23 15:08:12 UTC
  • mfrom: (1.1.24 upstream)
  • Revision ID: james.westby@ubuntu.com-20080623150812-sxdwhn3dz9pmapvf
Tags: 2.0.0.15+0nobinonly-0ubuntu0.7.4
[ Alexander Sack ]
* New security/stability upstream release (v2.0.0.15)
  - see USN-619-1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Load nsscapi.dll
 
2
C_Initialize NULL
 
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
 
7
set slotID 1
 
8
#set slotID slotList[0]
 
9
C_GetSlotInfo slotID slotInfo
 
10
C_GetTokenInfo slotID tokenInfo
 
11
C_OpenSession slotID CKF_SERIAL_SESSION session
 
12
#
 
13
#uncomment the following line and include the correct password
 
14
#C_Login session CKU_USER 0000 4 
 
15
#
 
16
# build the search template
 
17
#
 
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
 
24
#
 
25
# now read the cert out
 
26
#
 
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)
 
32
#print certName[0]
 
33
Set countm1 count
 
34
Decrement countm1 1
 
35
LoopRun pLabel1 i 0 countm1 1
 
36
Set i 1
 
37
run pLabel1
 
38
NewTemplate id CKA_CLASS,CKA_ID
 
39
C_GetAttributeValue session certID[i] id sizeA(id)
 
40
BuildTemplate 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
 
47
 
 
48
NewMechanism rsaParams CKM_RSA_PKCS
 
49
NewArray sign data 256
 
50
NewArray sdata data 36
 
51
C_SignInit session rsaParams keyID[0]
 
52
print sdata
 
53
C_Sign session sdata sizeof(sdata) sign sizeof(sign)
 
54
save signature sign
 
55
save hash sdata
 
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)
 
60
print privValue[0]
 
61
print privValue[1]
 
62
 
 
63
# save the public key
 
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)
 
73
print pubkeyValue[0]
 
74
print pubkeyValue[1]
 
75
 
 
76
 
 
77
C_Finalize null
 
78
unload
 
79
 
 
80
#
 
81
# Now do the same for using softoken
 
82
#
 
83
load softokn3.dll
 
84
NewInitArg init CKF_OS_LOCKING_OK configdir=./db
 
85
C_Initialize init
 
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
 
101
#
 
102
# now read the cert out
 
103
#
 
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)
 
109
#print certName[0]
 
110
#Set countm1 count
 
111
#Decrement countm1 1
 
112
#LoopRun pLabel1 i 0 countm1 1
 
113
Set i 0
 
114
run pLabel1
 
115
NewTemplate id CKA_CLASS,CKA_ID
 
116
C_GetAttributeValue session certID[i] id sizeA(id)
 
117
BuildTemplate 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
 
124
 
 
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)
 
130
save signature2 sign
 
131
save hash2 sdata
 
132
 
 
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
 
138
 
 
139
#
 
140
# OK now we use raw unwrap and see what we have...
 
141
#
 
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)
 
146
save verify2 vdata
 
147
restore signature sign
 
148
C_VerifyRecoverInit session rawRsaParams pubkeyID[0]
 
149
C_VerifyRecover session sign sizeof(sign) vdata sizeof(vdata)
 
150
save verify vdata
 
151
 
 
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)
 
156
print pubkeyValue[0]
 
157
print pubkeyValue[1]
 
158
 
 
159
 
 
160
C_Finalize null
 
161
 
 
162
unload