Some changes for the spy: (1) renamed opens-spy to pkcs11-spy, (2) exported all pkcs11 functions, (3) start the log with the name of the module-to-be-loaded, (4) first look in the opensc.conf file for the module and log names

git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1471 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
sth 2003-09-28 19:22:30 +00:00
parent 671adbeb55
commit b5984fccd6
4 changed files with 188 additions and 107 deletions

View File

@ -202,3 +202,26 @@ app opensc-pkcs11 {
soft_keygen_allowed = true;
}
}
# Parameters for the OpenSC PKCS11-Spy module, that logs all the
# communcation between a pkcs11 module and it's calling application:
# app <--> pkcs11-spy <--> pkcs11 module
app pkcs11-spy {
init {
# Where to log to.
#
# By default, the value of the PKCS11SPY_OUTPUT environment
# variable is used. And if that one isn't defined: stderr
# is used.
#
#output = /tmp/pkcs11-spy.log;
# Which PKCS11 module to load.
#
# By default, the value of the PKCS11SPY environment
# variable is used. And if that one isn't defined,
# opensc-pkcs11.so is used.
#
#module = opensc-pkcs11.so;
}
}

View File

@ -17,7 +17,7 @@ SRC = pkcs11-global.c pkcs11-session.c pkcs11-object.c misc.c slot.c \
framework-pkcs15init.c debug.c
INC = sc-pkcs11.h
lib_LTLIBRARIES = opensc-pkcs11.la libpkcs11.la opensc-spy.la
lib_LTLIBRARIES = opensc-pkcs11.la libpkcs11.la pkcs11-spy.la
opensc_pkcs11_la_SOURCES = $(SRC) $(INC)
opensc_pkcs11_la_LDFLAGS = -module -avoid-version
@ -28,9 +28,9 @@ libpkcs11_la_SOURCES = libpkcs11.c
libpkcs11_la_LDFLAGS = -version-info @OPENSC_LT_CURRENT@:@OPENSC_LT_REVISION@:@OPENSC_LT_AGE@
libpkcs11_la_LIBADD = ../scdl/libscdl.la @LIBDL@
opensc_spy_la_SOURCES = pkcs11-spy.c pkcs11-display.c pkcs11-display.h
opensc_spy_la_LDFLAGS = -module -avoid-version
opensc_spy_la_LIBADD = @LIBCRYPTO@ libpkcs11.la
pkcs11_spy_la_SOURCES = pkcs11-spy.c pkcs11-display.c pkcs11-display.h
pkcs11_spy_la_LDFLAGS = -module -avoid-version
pkcs11_spy_la_LIBADD = @LIBCRYPTO@ libpkcs11.la
include_HEADERS = pkcs11.h
@ -47,6 +47,6 @@ install-exec-local: install-libLTLIBRARIES
if HAVE_BUNDLES
-${top_srcdir}/macos/libtool-bundle $(DESTDIR)$(libdir)/opensc-pkcs11.so \
$(DESTDIR)$(bundledir)/
-${top_srcdir}/macos/libtool-bundle $(DESTDIR)$(libdir)/opensc-spy.so \
-${top_srcdir}/macos/libtool-bundle $(DESTDIR)$(libdir)/pkcs11-spy.so \
$(DESTDIR)$(bundledir)/
endif

View File

@ -8,7 +8,7 @@ HEADERSDIR2 = $(TOPDIR)\src\include\opensc\rsaref
TARGET = opensc-pkcs11.dll
TARGET2 = libpkcs11.lib
TARGET3 = opensc-spy.dll
TARGET3 = pkcs11-spy.dll
OBJECTS = pkcs11-global.obj pkcs11-session.obj pkcs11-object.obj misc.obj slot.obj \
secretkey.obj framework-pkcs15.obj framework-pkcs15init.obj mechanism.obj \
@ -21,10 +21,10 @@ all: install-headers install-headers-dir $(TARGET) $(TARGET2) $(TARGET3)
!INCLUDE $(TOPDIR)\win32\Make.rules.mak
$(TARGET): $(OBJECTS)
link $(LINKFLAGS) /dll /out:$(TARGET) $(OBJECTS) ..\libopensc\opensc.lib ..\scconf\scconf.lib ..\scrandom\scrandom.lib ..\pkcs15init\pkcs15init.lib winscard.lib libeay32.lib gdi32.lib
link $(LINKFLAGS) /dll /out:$(TARGET) $(OBJECTS) ..\libopensc\opensc.lib ..\scconf\scconf.lib ..\scrandom\scrandom.lib ..\pkcs15init\pkcs15init.lib winscard.lib libeay32.lib gdi32.lib libeay32.lib gdi32.lib
$(TARGET2): $(OBJECTS2)
lib /nologo /machine:ix86 /out:$(TARGET2) $(OBJECTS2) ..\scdl\scdl.lib
lib /nologo /machine:ix86 /out:$(TARGET2) $(OBJECTS2) ..\scdl\scdl.lib libeay32.lib gdi32.lib
$(TARGET3): $(OBJECTS3)
link $(LINKFLAGS) /dll /out:$(TARGET3) $(OBJECTS3) ..\scdl\scdl.lib libeay32.lib gdi32.lib
link $(LINKFLAGS) /dll /out:$(TARGET3) $(OBJECTS3) ..\scdl\scdl.lib libeay32.lib gdi32.lib libeay32.lib gdi32.lib

View File

@ -22,14 +22,15 @@
#include <stdlib.h>
#include <stdio.h>
#include "pkcs11-display.h"
#include "opensc/opensc.h"
#include "opensc/scconf.h"
#define __PASTE(x,y) x##y
/* Declare all spy_* Cryptoki function */
#define CK_NEED_ARG_LIST 1
#define CK_PKCS11_FUNCTION_INFO(name) \
CK_RV __PASTE(spy_,name)
#define CK_PKCS11_FUNCTION_INFO(name) CK_RV name
#include "rsaref/pkcs11f.h"
@ -45,12 +46,37 @@ FILE *spy_output = NULL;
#undef CK_NEED_ARG_LIST
#undef CK_PKCS11_FUNCTION_INFO
#define CK_PKCS11_FUNCTION_INFO(name) \
pkcs11_spy->name = &__PASTE(spy_,name);
pkcs11_spy->name = name;
CK_RV C_GetFunctionList
(CK_FUNCTION_LIST_PTR_PTR ppFunctionList)
/* Returns false if the pkcs11-spy block in the conf file was found */
int get_conf(struct sc_context **ctx, scconf_block **conf_block)
{
char *mspec = NULL, *file = NULL;
int r, i;
scconf_block **blocks;
r = sc_establish_context(ctx, "pkcs11-spy");
if (r != 0)
return 1;
for (i = 0; (*ctx)->conf_blocks[i] != NULL; i++) {
blocks = scconf_find_blocks((*ctx)->conf, (*ctx)->conf_blocks[i],
"init", NULL);
*conf_block = blocks[0];
free(blocks);
if (*conf_block != NULL)
break;
}
return (*conf_block == NULL);
}
/* Inits the spy. If successfull, po != NULL */
CK_RV init_spy()
{
const char *mspec = NULL, *file = NULL;
struct sc_context *ctx = NULL;
scconf_block *conf_block = NULL;
int rv = CKR_OK, no_conf_block_found = 0;
/* Allocates and initializes the pkcs11_spy structure */
pkcs11_spy =
@ -58,25 +84,45 @@ CK_RV C_GetFunctionList
if (pkcs11_spy) {
#include "rsaref/pkcs11f.h"
} else {
goto error;
}
file = getenv("PKCS11SPY_OUTPUT");
if (file) {
spy_output = fopen(file, "a");
} else {
spy_output = stderr;
return CKR_HOST_MEMORY;
}
mspec = getenv("PKCS11SPY");
modhandle = C_LoadModule(mspec, &po);
if (modhandle && po) {
*ppFunctionList = pkcs11_spy;
return CKR_OK;
file = getenv("PKCS11SPY_OUTPUT");
if (file == NULL && !no_conf_block_found) {
if (conf_block == NULL)
no_conf_block_found = get_conf(&ctx, &conf_block);
if (conf_block != NULL)
file = scconf_get_str(conf_block, "output", NULL);
}
error:
return CKR_HOST_MEMORY;
if (file) {
spy_output = fopen(file, "a");
}
if (!spy_output) {
spy_output = stderr;
}
fprintf(spy_output, "\n\n*************** OpenSC PKCS#11 spy *****************\n");
mspec = getenv("PKCS11SPY");
if (mspec == NULL && !no_conf_block_found) {
if (conf_block == NULL)
no_conf_block_found = get_conf(&ctx, &conf_block);
if (conf_block != NULL)
mspec = scconf_get_str(conf_block, "module", NULL);
}
modhandle = C_LoadModule(mspec, &po);
if (modhandle && po) {
fprintf(spy_output, "Loaded: \"%s\"\n", mspec == NULL ? "default module" : mspec);
}
else {
po = NULL;
free(pkcs11_spy);
rv = CKR_GENERAL_ERROR;
}
if (ctx != NULL)
sc_release_context(ctx);
return rv;
}
void enter(char *function)
@ -145,15 +191,36 @@ void spy_attribute_list_out(char *name, CK_ATTRIBUTE_PTR pTemplate,
print_attribute_list(spy_output, pTemplate, ulCount);
}
CK_RV spy_C_Initialize(CK_VOID_PTR pInitArgs)
CK_RV C_GetFunctionList
(CK_FUNCTION_LIST_PTR_PTR ppFunctionList)
{
if (po == NULL) {
CK_RV rv = init_spy();
if (rv != CKR_OK)
return rv;
}
enter("C_GetFunctionList");
*ppFunctionList = pkcs11_spy;
return retne(CKR_OK);
}
CK_RV C_Initialize(CK_VOID_PTR pInitArgs)
{
CK_RV rv;
if (po == NULL) {
rv = init_spy();
if (rv != CKR_OK)
return rv;
}
enter("C_Initialize");
rv = po->C_Initialize(pInitArgs);
return retne(rv);
}
CK_RV spy_C_Finalize(CK_VOID_PTR pReserved)
CK_RV C_Finalize(CK_VOID_PTR pReserved)
{
CK_RV rv;
enter("C_Finalize");
@ -164,7 +231,7 @@ CK_RV spy_C_Finalize(CK_VOID_PTR pReserved)
return retne(rv);
}
CK_RV spy_C_GetInfo(CK_INFO_PTR pInfo)
CK_RV C_GetInfo(CK_INFO_PTR pInfo)
{
CK_RV rv;
enter("C_GetInfo");
@ -175,16 +242,7 @@ CK_RV spy_C_GetInfo(CK_INFO_PTR pInfo)
return retne(rv);
}
CK_RV spy_C_GetFunctionList(CK_FUNCTION_LIST_PTR_PTR ppFunctionList)
{
CK_RV rv;
enter("C_GetFunctionList");
rv = po->C_GetFunctionList(ppFunctionList);
return retne(rv);
}
CK_RV spy_C_GetSlotList(CK_BBOOL tokenPresent,
CK_RV C_GetSlotList(CK_BBOOL tokenPresent,
CK_SLOT_ID_PTR pSlotList,
CK_ULONG_PTR pulCount)
{
@ -200,7 +258,7 @@ CK_RV spy_C_GetSlotList(CK_BBOOL tokenPresent,
return retne(rv);
}
CK_RV spy_C_GetSlotInfo(CK_SLOT_ID slotID,
CK_RV C_GetSlotInfo(CK_SLOT_ID slotID,
CK_SLOT_INFO_PTR pInfo)
{
CK_RV rv;
@ -214,7 +272,7 @@ CK_RV spy_C_GetSlotInfo(CK_SLOT_ID slotID,
return retne(rv);
}
CK_RV spy_C_GetTokenInfo(CK_SLOT_ID slotID,
CK_RV C_GetTokenInfo(CK_SLOT_ID slotID,
CK_TOKEN_INFO_PTR pInfo)
{
CK_RV rv;
@ -228,7 +286,7 @@ CK_RV spy_C_GetTokenInfo(CK_SLOT_ID slotID,
return retne(rv);
}
CK_RV spy_C_GetMechanismList(CK_SLOT_ID slotID,
CK_RV C_GetMechanismList(CK_SLOT_ID slotID,
CK_MECHANISM_TYPE_PTR pMechanismList,
CK_ULONG_PTR pulCount)
{
@ -243,7 +301,7 @@ CK_RV spy_C_GetMechanismList(CK_SLOT_ID slotID,
return retne(rv);
}
CK_RV spy_C_GetMechanismInfo(CK_SLOT_ID slotID,
CK_RV C_GetMechanismInfo(CK_SLOT_ID slotID,
CK_MECHANISM_TYPE type,
CK_MECHANISM_INFO_PTR pInfo)
{
@ -264,7 +322,7 @@ CK_RV spy_C_GetMechanismInfo(CK_SLOT_ID slotID,
return retne(rv);
}
CK_RV spy_C_InitToken (CK_SLOT_ID slotID,
CK_RV C_InitToken (CK_SLOT_ID slotID,
CK_UTF8CHAR_PTR pPin,
CK_ULONG ulPinLen,
CK_UTF8CHAR_PTR pLabel)
@ -278,7 +336,7 @@ CK_RV spy_C_InitToken (CK_SLOT_ID slotID,
return retne(rv);
}
CK_RV spy_C_InitPIN(CK_SESSION_HANDLE hSession,
CK_RV C_InitPIN(CK_SESSION_HANDLE hSession,
CK_UTF8CHAR_PTR pPin,
CK_ULONG ulPinLen)
{
@ -290,7 +348,7 @@ CK_RV spy_C_InitPIN(CK_SESSION_HANDLE hSession,
return retne(rv);
}
CK_RV spy_C_SetPIN(CK_SESSION_HANDLE hSession,
CK_RV C_SetPIN(CK_SESSION_HANDLE hSession,
CK_UTF8CHAR_PTR pOldPin,
CK_ULONG ulOldLen,
CK_UTF8CHAR_PTR pNewPin,
@ -306,7 +364,7 @@ CK_RV spy_C_SetPIN(CK_SESSION_HANDLE hSession,
return retne(rv);
}
CK_RV spy_C_OpenSession(CK_SLOT_ID slotID,
CK_RV C_OpenSession(CK_SLOT_ID slotID,
CK_FLAGS flags,
CK_VOID_PTR pApplication,
CK_NOTIFY Notify,
@ -325,7 +383,7 @@ CK_RV spy_C_OpenSession(CK_SLOT_ID slotID,
}
CK_RV spy_C_CloseSession(CK_SESSION_HANDLE hSession)
CK_RV C_CloseSession(CK_SESSION_HANDLE hSession)
{
CK_RV rv;
enter("C_CloseSession");
@ -335,7 +393,7 @@ CK_RV spy_C_CloseSession(CK_SESSION_HANDLE hSession)
}
CK_RV spy_C_CloseAllSessions(CK_SLOT_ID slotID)
CK_RV C_CloseAllSessions(CK_SLOT_ID slotID)
{
CK_RV rv;
enter("C_CloseAllSessions");
@ -345,7 +403,7 @@ CK_RV spy_C_CloseAllSessions(CK_SLOT_ID slotID)
}
CK_RV spy_C_GetSessionInfo(CK_SESSION_HANDLE hSession,
CK_RV C_GetSessionInfo(CK_SESSION_HANDLE hSession,
CK_SESSION_INFO_PTR pInfo)
{
CK_RV rv;
@ -360,7 +418,7 @@ CK_RV spy_C_GetSessionInfo(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_GetOperationState(CK_SESSION_HANDLE hSession,
CK_RV C_GetOperationState(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pOperationState,
CK_ULONG_PTR pulOperationStateLen)
{
@ -377,7 +435,7 @@ CK_RV spy_C_GetOperationState(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_SetOperationState(CK_SESSION_HANDLE hSession,
CK_RV C_SetOperationState(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pOperationState,
CK_ULONG ulOperationStateLen,
CK_OBJECT_HANDLE hEncryptionKey,
@ -398,7 +456,7 @@ CK_RV spy_C_SetOperationState(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_Login(CK_SESSION_HANDLE hSession,
CK_RV C_Login(CK_SESSION_HANDLE hSession,
CK_USER_TYPE userType,
CK_UTF8CHAR_PTR pPin,
CK_ULONG ulPinLen)
@ -413,7 +471,7 @@ CK_RV spy_C_Login(CK_SESSION_HANDLE hSession,
return retne(rv);
}
CK_RV spy_C_Logout(CK_SESSION_HANDLE hSession)
CK_RV C_Logout(CK_SESSION_HANDLE hSession)
{
CK_RV rv;
enter("C_Logout");
@ -422,7 +480,7 @@ CK_RV spy_C_Logout(CK_SESSION_HANDLE hSession)
return retne(rv);
}
CK_RV spy_C_CreateObject(CK_SESSION_HANDLE hSession,
CK_RV C_CreateObject(CK_SESSION_HANDLE hSession,
CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulCount,
CK_OBJECT_HANDLE_PTR phObject)
@ -438,7 +496,7 @@ CK_RV spy_C_CreateObject(CK_SESSION_HANDLE hSession,
return retne(rv);
}
CK_RV spy_C_CopyObject(CK_SESSION_HANDLE hSession,
CK_RV C_CopyObject(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject,
CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulCount,
@ -457,7 +515,7 @@ CK_RV spy_C_CopyObject(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_DestroyObject(CK_SESSION_HANDLE hSession,
CK_RV C_DestroyObject(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject)
{
CK_RV rv;
@ -469,7 +527,7 @@ CK_RV spy_C_DestroyObject(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_GetObjectSize(CK_SESSION_HANDLE hSession,
CK_RV C_GetObjectSize(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject,
CK_ULONG_PTR pulSize)
{
@ -485,7 +543,7 @@ CK_RV spy_C_GetObjectSize(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_GetAttributeValue(CK_SESSION_HANDLE hSession,
CK_RV C_GetAttributeValue(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject,
CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulCount)
@ -502,7 +560,7 @@ CK_RV spy_C_GetAttributeValue(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_SetAttributeValue(CK_SESSION_HANDLE hSession,
CK_RV C_SetAttributeValue(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject,
CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulCount)
@ -517,7 +575,7 @@ CK_RV spy_C_SetAttributeValue(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_FindObjectsInit(CK_SESSION_HANDLE hSession,
CK_RV C_FindObjectsInit(CK_SESSION_HANDLE hSession,
CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulCount)
{
@ -530,7 +588,7 @@ CK_RV spy_C_FindObjectsInit(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_FindObjects(CK_SESSION_HANDLE hSession,
CK_RV C_FindObjects(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE_PTR phObject,
CK_ULONG ulMaxObjectCount,
CK_ULONG_PTR pulObjectCount)
@ -552,7 +610,7 @@ CK_RV spy_C_FindObjects(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_FindObjectsFinal(CK_SESSION_HANDLE hSession)
CK_RV C_FindObjectsFinal(CK_SESSION_HANDLE hSession)
{
CK_RV rv;
enter("C_FindObjectsFinal");
@ -561,7 +619,7 @@ CK_RV spy_C_FindObjectsFinal(CK_SESSION_HANDLE hSession)
return retne(rv);
}
CK_RV spy_C_EncryptInit(CK_SESSION_HANDLE hSession,
CK_RV C_EncryptInit(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hKey)
{
@ -576,7 +634,7 @@ CK_RV spy_C_EncryptInit(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_Encrypt(CK_SESSION_HANDLE hSession,
CK_RV C_Encrypt(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pData,
CK_ULONG ulDataLen,
CK_BYTE_PTR pEncryptedData,
@ -596,7 +654,7 @@ CK_RV spy_C_Encrypt(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_EncryptUpdate(CK_SESSION_HANDLE hSession,
CK_RV C_EncryptUpdate(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pPart,
CK_ULONG ulPartLen,
CK_BYTE_PTR pEncryptedPart,
@ -615,7 +673,7 @@ CK_RV spy_C_EncryptUpdate(CK_SESSION_HANDLE hSession,
return retne(rv);
}
CK_RV spy_C_EncryptFinal(CK_SESSION_HANDLE hSession,
CK_RV C_EncryptFinal(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pLastEncryptedPart,
CK_ULONG_PTR pulLastEncryptedPartLen)
{
@ -632,7 +690,7 @@ CK_RV spy_C_EncryptFinal(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_DecryptInit(CK_SESSION_HANDLE hSession,
CK_RV C_DecryptInit(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hKey)
{
@ -647,7 +705,7 @@ CK_RV spy_C_DecryptInit(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_Decrypt(CK_SESSION_HANDLE hSession,
CK_RV C_Decrypt(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pEncryptedData,
CK_ULONG ulEncryptedDataLen,
CK_BYTE_PTR pData,
@ -667,7 +725,7 @@ CK_RV spy_C_Decrypt(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_DecryptUpdate(CK_SESSION_HANDLE hSession,
CK_RV C_DecryptUpdate(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pEncryptedPart,
CK_ULONG ulEncryptedPartLen,
CK_BYTE_PTR pPart,
@ -687,7 +745,7 @@ CK_RV spy_C_DecryptUpdate(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_DecryptFinal(CK_SESSION_HANDLE hSession,
CK_RV C_DecryptFinal(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pLastPart,
CK_ULONG_PTR pulLastPartLen)
{
@ -702,7 +760,7 @@ CK_RV spy_C_DecryptFinal(CK_SESSION_HANDLE hSession,
return retne(rv);
}
CK_RV spy_C_DigestInit(CK_SESSION_HANDLE hSession,
CK_RV C_DigestInit(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism)
{
CK_RV rv;
@ -715,7 +773,7 @@ CK_RV spy_C_DigestInit(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_Digest(CK_SESSION_HANDLE hSession,
CK_RV C_Digest(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pData,
CK_ULONG ulDataLen,
CK_BYTE_PTR pDigest,
@ -734,7 +792,7 @@ CK_RV spy_C_Digest(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_DigestUpdate(CK_SESSION_HANDLE hSession,
CK_RV C_DigestUpdate(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pPart,
CK_ULONG ulPartLen)
{
@ -747,7 +805,7 @@ CK_RV spy_C_DigestUpdate(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_DigestKey(CK_SESSION_HANDLE hSession,
CK_RV C_DigestKey(CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hKey)
{
CK_RV rv;
@ -759,7 +817,7 @@ CK_RV spy_C_DigestKey(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_DigestFinal(CK_SESSION_HANDLE hSession,
CK_RV C_DigestFinal(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pDigest,
CK_ULONG_PTR pulDigestLen)
{
@ -774,7 +832,7 @@ CK_RV spy_C_DigestFinal(CK_SESSION_HANDLE hSession,
return retne(rv);
}
CK_RV spy_C_SignInit(CK_SESSION_HANDLE hSession,
CK_RV C_SignInit(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hKey)
{
@ -789,7 +847,7 @@ CK_RV spy_C_SignInit(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_Sign(CK_SESSION_HANDLE hSession,
CK_RV C_Sign(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pData,
CK_ULONG ulDataLen,
CK_BYTE_PTR pSignature,
@ -808,7 +866,7 @@ CK_RV spy_C_Sign(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_SignUpdate(CK_SESSION_HANDLE hSession,
CK_RV C_SignUpdate(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pPart,
CK_ULONG ulPartLen)
{
@ -821,7 +879,7 @@ CK_RV spy_C_SignUpdate(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_SignFinal(CK_SESSION_HANDLE hSession,
CK_RV C_SignFinal(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pSignature,
CK_ULONG_PTR pulSignatureLen)
{
@ -837,7 +895,7 @@ CK_RV spy_C_SignFinal(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_SignRecoverInit(CK_SESSION_HANDLE hSession,
CK_RV C_SignRecoverInit(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hKey)
{
@ -852,7 +910,7 @@ CK_RV spy_C_SignRecoverInit(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_SignRecover(CK_SESSION_HANDLE hSession,
CK_RV C_SignRecover(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pData,
CK_ULONG ulDataLen,
CK_BYTE_PTR pSignature,
@ -871,7 +929,7 @@ CK_RV spy_C_SignRecover(CK_SESSION_HANDLE hSession,
return retne(rv);
}
CK_RV spy_C_VerifyInit(CK_SESSION_HANDLE hSession,
CK_RV C_VerifyInit(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hKey)
{
@ -886,7 +944,7 @@ CK_RV spy_C_VerifyInit(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_Verify(CK_SESSION_HANDLE hSession,
CK_RV C_Verify(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pData,
CK_ULONG ulDataLen,
CK_BYTE_PTR pSignature,
@ -903,7 +961,7 @@ CK_RV spy_C_Verify(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_VerifyUpdate(CK_SESSION_HANDLE hSession,
CK_RV C_VerifyUpdate(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pPart,
CK_ULONG ulPartLen)
{
@ -916,7 +974,7 @@ CK_RV spy_C_VerifyUpdate(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_VerifyFinal(CK_SESSION_HANDLE hSession,
CK_RV C_VerifyFinal(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pSignature,
CK_ULONG ulSignatureLen)
{
@ -930,7 +988,7 @@ CK_RV spy_C_VerifyFinal(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_VerifyRecoverInit(CK_SESSION_HANDLE hSession,
CK_RV C_VerifyRecoverInit(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hKey)
{
@ -945,7 +1003,7 @@ CK_RV spy_C_VerifyRecoverInit(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_VerifyRecover(CK_SESSION_HANDLE hSession,
CK_RV C_VerifyRecover(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pSignature,
CK_ULONG ulSignatureLen,
CK_BYTE_PTR pData,
@ -964,7 +1022,7 @@ CK_RV spy_C_VerifyRecover(CK_SESSION_HANDLE hSession,
return retne(rv);
}
CK_RV spy_C_DigestEncryptUpdate(CK_SESSION_HANDLE hSession,
CK_RV C_DigestEncryptUpdate(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pPart,
CK_ULONG ulPartLen,
CK_BYTE_PTR pEncryptedPart,
@ -984,7 +1042,7 @@ CK_RV spy_C_DigestEncryptUpdate(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_DecryptDigestUpdate(CK_SESSION_HANDLE hSession,
CK_RV C_DecryptDigestUpdate(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pEncryptedPart,
CK_ULONG ulEncryptedPartLen,
CK_BYTE_PTR pPart,
@ -1005,7 +1063,7 @@ CK_RV spy_C_DecryptDigestUpdate(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_SignEncryptUpdate(CK_SESSION_HANDLE hSession,
CK_RV C_SignEncryptUpdate(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pPart,
CK_ULONG ulPartLen,
CK_BYTE_PTR pEncryptedPart,
@ -1025,7 +1083,7 @@ CK_RV spy_C_SignEncryptUpdate(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_DecryptVerifyUpdate(CK_SESSION_HANDLE hSession,
CK_RV C_DecryptVerifyUpdate(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pEncryptedPart,
CK_ULONG ulEncryptedPartLen,
CK_BYTE_PTR pPart,
@ -1045,7 +1103,7 @@ CK_RV spy_C_DecryptVerifyUpdate(CK_SESSION_HANDLE hSession,
return retne(rv);
}
CK_RV spy_C_GenerateKey(CK_SESSION_HANDLE hSession,
CK_RV C_GenerateKey(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulCount,
@ -1065,7 +1123,7 @@ CK_RV spy_C_GenerateKey(CK_SESSION_HANDLE hSession,
return retne(rv);
}
CK_RV spy_C_GenerateKeyPair(CK_SESSION_HANDLE hSession,
CK_RV C_GenerateKeyPair(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_ATTRIBUTE_PTR pPublicKeyTemplate,
CK_ULONG ulPublicKeyAttributeCount,
@ -1095,7 +1153,7 @@ CK_RV spy_C_GenerateKeyPair(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_WrapKey(CK_SESSION_HANDLE hSession,
CK_RV C_WrapKey(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hWrappingKey,
CK_OBJECT_HANDLE hKey,
@ -1118,7 +1176,7 @@ CK_RV spy_C_WrapKey(CK_SESSION_HANDLE hSession,
return retne(rv);
}
CK_RV spy_C_UnwrapKey(CK_SESSION_HANDLE hSession,
CK_RV C_UnwrapKey(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hUnwrappingKey,
CK_BYTE_PTR pWrappedKey,
@ -1145,7 +1203,7 @@ CK_RV spy_C_UnwrapKey(CK_SESSION_HANDLE hSession,
return retne(rv);
}
CK_RV spy_C_DeriveKey(CK_SESSION_HANDLE hSession,
CK_RV C_DeriveKey(CK_SESSION_HANDLE hSession,
CK_MECHANISM_PTR pMechanism,
CK_OBJECT_HANDLE hBaseKey,
CK_ATTRIBUTE_PTR pTemplate,
@ -1167,7 +1225,7 @@ CK_RV spy_C_DeriveKey(CK_SESSION_HANDLE hSession,
return retne(rv);
}
CK_RV spy_C_SeedRandom(CK_SESSION_HANDLE hSession,
CK_RV C_SeedRandom(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR pSeed,
CK_ULONG ulSeedLen)
{
@ -1180,7 +1238,7 @@ CK_RV spy_C_SeedRandom(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_GenerateRandom(CK_SESSION_HANDLE hSession,
CK_RV C_GenerateRandom(CK_SESSION_HANDLE hSession,
CK_BYTE_PTR RandomData,
CK_ULONG ulRandomLen)
{
@ -1196,7 +1254,7 @@ CK_RV spy_C_GenerateRandom(CK_SESSION_HANDLE hSession,
}
CK_RV spy_C_GetFunctionStatus(CK_SESSION_HANDLE hSession)
CK_RV C_GetFunctionStatus(CK_SESSION_HANDLE hSession)
{
CK_RV rv;
enter("C_GetFunctionStatus");
@ -1205,7 +1263,7 @@ CK_RV spy_C_GetFunctionStatus(CK_SESSION_HANDLE hSession)
return retne(rv);
}
CK_RV spy_C_CancelFunction(CK_SESSION_HANDLE hSession)
CK_RV C_CancelFunction(CK_SESSION_HANDLE hSession)
{
CK_RV rv;
enter("C_CancelFunction");
@ -1214,7 +1272,7 @@ CK_RV spy_C_CancelFunction(CK_SESSION_HANDLE hSession)
return retne(rv);
}
CK_RV spy_C_WaitForSlotEvent(CK_FLAGS flags,
CK_RV C_WaitForSlotEvent(CK_FLAGS flags,
CK_SLOT_ID_PTR pSlot,
CK_VOID_PTR pRserved)
{