Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Anchor
_Toc453146611
_Toc453146611
Anchor
_Toc453920104
_Toc453920104
Table 1: unsupported functions

Anchor
_Toc453149755
_Toc453149755
Anchor
_Toc453920090
_Toc453920090
Supported functions & requirement specification

For quality purposes we analysed cryptoki and engineered requirements in accordance with the specification. Each requirement has an unique ID which was used for tagging our code wherever the requirement fulfilled cryptoki's needs. This allows us to track all implemented features and easyli maintain our code. The syntax of the IDs is as follows:


@CTXXX, where X is a number between 0-9


Green fields mean the requirement is completely implemented.
Red fields mean the requirement is not implemented.
Orange fields mean the requirement is partially implemented.


Not all functions have requirements specified.

...

  • CKR_GENERAL_ERROR

    req id

    requirement description

    changed in version

    CT001

    pInitArgs shall have value NULL or shall point to a structure of type CK_C_INITIALIZE_ARGS

    -

    CT002

    pInitArgs shall be casted to a CK_C_INITIALIZE_ARGS_PTR when value is != NULL

    -

    CT003

    pInitArgs->pReserved shall be NULL when pInitArgs has a value != NULL

    -

    CT004

    when pInitArgs->pReserved and pInitArgs are both != NULL function shall return with CKR_ARGUMENTS_BAD

    -

    CT005

    when CKF_LIBRARY_CANT_CREATE_OS_THREADS flag is set and application expects P11 lib beeing capable of multithreading function shall return CKR_NEED_TO_CREATE_THREADS

    -

    CT006

    when CKF_OS_LOCKING_OK is not set and fields CreateMutex, DestroyMutex, LockMutex and UnlockMutex have value NULL P11 lib shall not use any multithreading

    -

    CT007

    when CKF_OS_LOCKING_OK is set and fields CreateMutex, DestroyMutex, LockMutex and UnlockMutex have value NULL P11 lib shall use OS primitives to ensure multithreaded safety

    -

    CT008

    when CKF_OS_LOCKING_OK is not set and fields CreateMutex, DestroyMutex, LockMutex and UnlockMutex have value != NULL P11 lib shall use these function pointers to ensure mutithreaded safety

    -

    CT009

    when CKF_OS_LOCKING_OK is set and fields CreateMutex, DestroyMutex, LockMutex and UnlockMutex have value != NULL P11 lib shall use either OS primitives or these function pointers to ensure multithreaded safety

    -

    CT010

    when P11 lib is unable to ensure desired safe multithreaded access level function shall return CKR_CANT_LOCK

    -

    CT011

    when CreateMutex, DestroyMutex, LockMutex and UnlockMutex partially have values != NULL function shall return CKR_ARGUMENTS_BAD

    -

    CT012

    when pInitArgs is NULL function shall behave like CreateMutex, DestroyMutex, LockMutex, UnlockMutex, pReserved having value NULL and no flag being set

    -

    CT013

    when function is called again and previously returned CKR_OK to the same application CKR_CRYPTOKI_ALREADY_INITIALIZED shall be returned

    -

    CT999

    the function shall clear all currently available slots event states

    -

    Anchor
    _Toc453149757
    _Toc453149757

    C_Finalize

    The function supports additional return values of:
  • CKR_GENERAL_ERROR

    req id

    requirement description

    changed in version

    CT014

    when pReserved parameter has value != NULL function shall return CKR_ARGUMENTS_BAD

    -

    CT015

    when function is called without a preceding call of C_Initialize function shall return CKR_CRYPTOKI_NOT_INITIALIZED

    -

    CT016

    when function is called all potentially waiting threads (which may called C_WaitForSlotEvent with enabled blocking) shall be unlocked

    -


    Anchor
    _Toc453149758
    _Toc453149758
    C_GetInfo

    The function supports additional return values of:
  • CKR_CRYPTOKI_NOT_INITIALIZED
  • CKR_GENERAL_ERROR
  • CKR_ARGUMENTS_BAD

...