int main(int argc, char **argv) { CK_C_INITIALIZE_ARGS cinit_args; int rc; CK_BBOOL no_init, no_stop; CK_RV rv; SLOT_ID = 0; no_init = FALSE; no_stop = FALSE; rc = do_ParseArgs(argc, argv); if ( rc != 1) return rc; printf("Using slot #%lu...\n\n", SLOT_ID ); printf("With option: no_init: %d\n", no_init); rc = do_GetFunctionList(); if (!rc) { PRINT_ERR("ERROR do_GetFunctionList() Failed , rc = 0x%0x\n", rc); return rc; } memset( &cinit_args, 0x0, sizeof(cinit_args) ); cinit_args.flags = CKF_OS_LOCKING_OK; // SAB Add calls to ALL functions before the C_Initialize gets hit funcs->C_Initialize( &cinit_args ); { CK_SESSION_HANDLE hsess = 0; rc = funcs->C_GetFunctionStatus(hsess); if (rc != CKR_FUNCTION_NOT_PARALLEL) return rc; rc = funcs->C_CancelFunction(hsess); if (rc != CKR_FUNCTION_NOT_PARALLEL) return rc; } testcase_setup(0); //TODO rv = digest_funcs(); testcase_print_result(); /* make sure we return non-zero if rv is non-zero */ return ((rv==0) || (rv % 256) ? rv : -1); }
int main (int argc, char **argv){ int rc; CK_C_INITIALIZE_ARGS cinit_args; CK_RV rv; rc = do_ParseArgs(argc, argv); if(rc != 1){ return rc; } printf("Using slot #%lu...\n\n", SLOT_ID); printf("With option: no_stop: %d\n", no_stop); rc = do_GetFunctionList(); if(! rc) { PRINT_ERR("ERROR do_GetFunctionList() Failed, rx = 0x%0x\n", rc); return rc; } memset( &cinit_args, 0x0, sizeof(cinit_args) ); cinit_args.flags = CKF_OS_LOCKING_OK; funcs->C_Initialize( &cinit_args ); { CK_SESSION_HANDLE hsess = 0; rc = funcs->C_GetFunctionStatus(hsess); if (rc != CKR_FUNCTION_NOT_PARALLEL){ return rc; } rc = funcs->C_CancelFunction(hsess); if (rc != CKR_FUNCTION_NOT_PARALLEL){ return rc; } } testcase_setup(0); rv = rsa_funcs(); testcase_print_result(); funcs->C_Finalize(NULL); return rv; }