michael@0: Load aolkeypk11.dll michael@0: C_Initialize NULL michael@0: C_GetSlotList false NULL slotCount michael@0: NewArray slotList CK_ULONG slotCount michael@0: C_GetSlotList false slotList slotCount michael@0: #change the following to the appropriate slot id michael@0: #set slotID slotList[0] michael@0: set slotID 1 michael@0: C_GetSlotInfo slotID slotInfo michael@0: C_GetTokenInfo slotID tokenInfo michael@0: C_OpenSession slotID CK_SESSION_SERIAL session michael@0: # michael@0: #uncomment the following line and include the correct password michael@0: #for authenticated tokens michael@0: #C_Login session CKU_USER 0000 4 michael@0: # michael@0: # build the search template michael@0: # michael@0: #NewTemplate search CKA_CLASS michael@0: #SetTemplate search 0 CKO_CERTIFICATE michael@0: #NewArray certID CK_ULONG 1 michael@0: #C_FindObjectsInit session search 1 michael@0: #C_FindObjects session certID 1 count michael@0: #C_FindObjectsFinal session michael@0: # michael@0: # now read the cert out michael@0: # michael@0: #NewTemplate derCert CKA_VALUE michael@0: #C_GetAttributeValue session certID derCert 1 michael@0: #BuildTemplate derCert michael@0: #C_GetAttributeValue session certID derCert 1 michael@0: # michael@0: # Do a signature michael@0: # michael@0: NewTemplate search CKA_CLASS michael@0: SetTemplate search 0 CKO_PRIVATE_KEY michael@0: NewArray privateKey CK_ULONG 1 michael@0: C_FindObjectsInit session search 1 michael@0: C_FindObjects session privateKey 1 count michael@0: C_FindObjectsFinal session michael@0: # sign michael@0: NewMechanism rsaParams CKM_RSA_PKCS michael@0: NewArray sign data 128 michael@0: NewArray sdata data 20 michael@0: C_SignInit session rsaParams privateKey michael@0: C_Sign session sdata sizeof(sdata) sign sizeof(sign) michael@0: #C_Logout session michael@0: