Miscellaneous tests obj_mgmt_tests This testsuite performs various object management tasks. The do_CreateTokenObjects() and do_HWFeatureSearch() functions create token objects and by default or skipped. To include these two functions, use the "-noskip" option when issuing the tests. spinlock_tests.sh Tests the two spinlocks: /var/lock/LCK..opencryptoki which is used when accessing shared memory for pkcsslotd and pkcs#11 api calls. And /var/lock/LOCK..opencryptoki_stdll which is used when accessing global shared memory in the STDLLs. The file, spinlock_tests.sh is a bash script that creates a number of child processes. Each child process runs spinlock_child.sh script. Quick Start Info: Execute testcase by, spinlock_tests.sh -p -l -s p: the amount of child processes to create l: the number of times each child process executes obj_mgmt_lock_tests s: the slot to test For example, spinlock_tests.sh -p 15 -l 5 -s 1 Additional Info: obj_mgmt_lock_tests spinlock_child.sh The file, spinlock_tests.sh is a bash script that creates a number of child processes. Each child process runs spinlock_child.sh script. The file, spinlock_child.sh is a bash script that executes obj_mgmt_lock_tests a number of times. obj_mgmt_lock_tests was derived from obj_mgmt.c. It contains several api calls that will want to acquire the various spinlocks. Usage: spinlock_child.sh -l -s l: the number of times each child process executes obj_mgmt_lock_tests s: the slot to test Usage: obj_mgmt_lock_tests -slot threadmkobj TODO: To be tested. speed TODO: To be tested. The speed program is a performance oriented test program. It times certain operations over multiple runs, and gives min, max, and average times for these operations. Performace tests are run for: 2048 bit RSA keygen, 10½4 bit RSA keygen, 1024 bit RSA signature generate, 1024 bit RSA signature verify, triple DES encrypt/decrypt on a 10K message, and SHA1 on a 10K message. tok_obj TODO: To be tested. This program is used to test object creation and modification. The token does not need to be intitialized to use this application. When run, a user is presented with a menu. From there, the user must initialize the token and set the user PIN if this has not been done previously. The menu choice for setting the user PIN sets it to "12345678". tok_des TODO: To be tested. tok_rsa TODO: To be tested. fork This testcase forks off a client process in various situations, e.g before and after initialization, before and after session creation, and ensures that the forked client process finds an uninitialized Opencryptoki environment and does not have access to any of the parent's sessions or objects. Also the parents sessions and objects must still be available and functional in the parent process after the fork. As per PKCS#11 standard, a forked child process is no PKCS#11 application after the fork, and must initialize Opencryptoki using C_Initialize() in order to use Opencryptoki. Usage: fork -slot multi_instance This testcase open sessions on two different tokens within one process. It ensures that both tokens operate independently, and that sessions of objects opened with one token can not be used with the other one. To test multi-instance support of a token, the Opencryptoi configuration must be set up that way that 2 tokens of the same type (e.g. 2 EP11 tokens) exist. Usage: multi_instance -slot1 -slot2 tok2tok_transport This testcase open sessions on two different tokens within one process. It then generates a keys in the first token, and transports them via various Wrap/Unwrap mechanisms to the other token. It is checked that the transported key can still be used in the receiving token. Usage: tok2tok_transport -slot1 -slot2