Cryptographic Token Interface Standard

PKCS#11


pkcs11_all.h

Go to the documentation of this file.
00001 /* rewritten */
00006 #define CK_INVALID_HANDLE
00007 
00008 #define CK_TRUE 1
00009 
00010 #define CK_FALSE 0
00011 
00013 #define CK_UNAVAILABLE_INFORMATION (~0UL)
00014 
00015 #define CK_EFFECTIVELY_INFINITE 0
00016 
00018 #define CKU_SO 0
00019 
00020 #define CKU_USER 1
00021 
00022 #define CKU_CONTEXT_SPECIFIC 2
00023 
00025 #define CKS_RO_PUBLIC_SESSION 0
00026 
00028 #define CKS_RO_USER_FUNCTIONS 1
00029 
00031 #define CKS_RW_PUBLIC_SESSION 2
00032 
00034 #define CKS_RW_USER_FUNCTIONS 3
00035 
00037 #define CKS_RW_SO_FUNCTIONS 4
00038 
00040 #define TRUE CK_TRUE
00041 
00042 #define FALSE CK_FALSE
00043 /* an unsigned 8-bit value */
00047 typedef unsigned char CK_BYTE;
00048 /* an unsigned 8-bit character */
00052 typedef CK_BYTE CK_CHAR;
00053 /* a BYTE-sized Boolean flag */
00057 typedef CK_BYTE CK_BBOOL;
00058 /* an unsigned value, at least 16 bits long */
00062 typedef unsigned short int CK_USHORT;
00063 /* an unsigned value, at least 32 bits long */
00067 typedef unsigned long int CK_ULONG;
00068 /* at least 32 bits, each bit is a Boolean flag */
00072 typedef CK_ULONG CK_FLAGS;
00073 
00074 
00076 typedef CK_BYTE CK_PTR CK_BYTE_PTR;
00078 typedef CK_CHAR CK_PTR CK_CHAR_PTR;
00080 typedef CK_USHORT CK_PTR CK_USHORT_PTR;
00082 typedef void CK_PTR CK_VOID_PTR;
00083 
00084 
00085 
00086 
00108 typedef struct CK_VERSION {
00110 CK_BYTE major;
00112 CK_BYTE minor;
00113 } CK_VERSION;
00114 
00115 
00116 
00117 
00177 typedef struct CK_INFO {
00179 CK_VERSION version;
00181 CK_CHAR manufacturerID[32];
00183 CK_FLAGS flags;
00184 } CK_INFO;
00185 
00186 
00192 typedef enum CK_NOTIFICATION {
00193 CKN_SURRENDER,
00194 CKN_COMPLETE,
00195 CKN_DEVICE_REMOVED
00196 } CK_NOTIFICATION;
00197 
00198 
00204 typedef CK_ULONG CK_SLOT_ID;
00205 
00206 
00207 
00208 
00261 typedef struct CK_SLOT_INFO {
00263 CK_CHAR slotDescription[64];
00265 CK_CHAR manufacturerID[32];
00267 CK_FLAGS flags;
00268 } CK_SLOT_INFO;
00269 
00270 
00272 #define CKF_TOKEN_PRESENT 0x0001
00273 
00275 #define CKF_REMOVABLE_DEVICE 0x0002
00276 
00278 #define CKF_HW_SLOT 0x0004
00279 
00280 
00281 
00386 typedef struct CK_TOKEN_INFO {
00388 CK_CHAR label[32];
00390 CK_CHAR manufacturerID[32];
00392 CK_CHAR model[16];
00394 CK_CHAR serialNumber[16];
00396 CK_FLAGS flags;
00398 CK_USHORT usMaxSessionCount;
00400 CK_USHORT usSessionCount;
00402 CK_USHORT usMaxRwSessionCount;
00404 CK_USHORT usRwSessionCount;
00406 CK_USHORT usMaxPinLen;
00408 CK_USHORT usMinPinLen;
00410 CK_ULONG ulTotalPublicMemory;
00412 CK_ULONG ulFreePublicMemory;
00414 CK_ULONG ulTotalPrivateMemory;
00416 CK_ULONG ulFreePrivateMemory;
00417 } CK_TOKEN_INFO;
00418 
00419 
00421 #define CKF_RNG 0x0001
00422 
00424 #define CKF_WRITE_PROTECTED 0x0002
00425 
00427 #define CKF_LOGIN_REQUIRED 0x0004
00428 
00430 #define CKF_USER_PIN_INITIALIZED 0x0008
00431 
00433 #define CKF_EXCLUSIVE_EXISTS 0x0010
00434 
00440 typedef CK_ULONG CK_SESSION_HANDLE;
00441 
00442 
00448 typedef enum CK_USER_TYPE {
00449 CKU_SO, /* Security Officer */
00450 CKU_USER /* Normal user */
00451 } CK_USER_TYPE;
00452 
00453 
00459 typedef enum CK_STATE {
00460 CKS_RW_PUBLIC_SESSION,
00461 CKS_RW_USER_FUNCTIONS,
00462 CKS_RO_PUBLIC_SESSION,
00463 CKS_RO_SO_FUNCTIONS,
00464 CKS_RO_USER_FUNCTIONS
00465 } CK_STATE;
00466 
00467 
00468 
00469 
00618 typedef struct CK_SESSION_INFO {
00620 CK_SLOT_ID slotID;
00622 CK_STATE state;
00624 CK_FLAGS flags;
00626 CK_USHORT usDeviceError;
00627 } CK_SESSION_INFO;
00628 
00629 
00631 #define CKF_EXCLUSIVE_SESSION 0x0001
00632 
00634 #define CKF_RW_SESSION 0x0002
00635 
00637 #define CKF_SERIAL_SESSION 0x0004
00638 
00644 typedef CK_ULONG CK_OBJECT_HANDLE;
00645 
00646 
00652 typedef CK_USHORT CK_OBJECT_CLASS;
00653 
00654 
00660 typedef CK_USHORT CK_KEY_TYPE;
00661 
00662 
00668 typedef CK_USHORT CK_CERTIFICATE_TYPE;
00669 
00670 
00676 typedef CK_USHORT CK_ATTRIBUTE_TYPE;
00677 
00678 
00679 
00680 
00711 typedef struct CK_ATTRIBUTE {
00713 CK_ATTRIBUTE_TYPE type;
00715 CK_VOID_PTR pValue;
00717 CK_USHORT usValueLen;
00718 } CK_ATTRIBUTE;
00719 
00720 
00721 
00722 
00737 typedef struct CK_DATE{
00738 CK_CHAR year[4];
00739 CK_CHAR month[2];
00740 CK_CHAR day[2];
00741 } CK_DATE;
00742 
00743 
00749 typedef CK_USHORT CK_MECHANISM_TYPE;
00750 
00751 
00752 
00753 
00781 typedef struct CK_MECHANISM {
00783 CK_MECHANISM_TYPE mechanism;
00785 CK_VOID_PTR pParameter;
00787 CK_USHORT usParameterLen;
00788 } CK_MECHANISM;
00789 
00790 
00791 
00792 
00841 typedef struct CK_MECHANISM_INFO {
00843 CK_ULONG ulMinKeySize;
00845 CK_ULONG ulMaxKeySize;
00847 CK_FLAGS flags;
00848 } CK_MECHANISM_INFO;
00849 
00850 
00852 #define CKF_HW 0x0001
00853 
00855 #define CKF_EXTENSION 0x8000
00856 
00857 
00858 
00868 typedef struct CK_RC2_CBC_PARAMS {
00870 CK_USHORT usEffectiveBits;
00872 CK_BYTE iv[8];
00873 } CK_RC2_CBC;
00874 
00875 
00881 typedef CK_USHORT CK_RV;
00882 
00883 
00885 #define CKA_CLASS 
00886 
00888 #define CKA_TOKEN 
00889 
00891 #define CKA_PRIVATE 
00892 
00894 #define CKA_LABEL 
00895 
00897 #define CKA_APPLICATION 
00898 
00900 #define CKA_VALUE 
00901 
00902 
00903 
00905 #define CKA_CERTIFICATE_TYPE 
00906 
00908 #define CKA_SUBJECT 
00909 
00911 #define CKA_ID 
00912 
00914 #define CKA_ISSUER 
00915 
00917 #define CKA_SERIAL_NUMBER 
00918 
00920 #define CKA_VALUE 
00921 
00922 
00923 
00925 #define CKA_KEY_TYPE 
00926 
00928 #define CKA_ID 
00929 
00931 #define CKA_START_DATE 
00932 
00934 #define CKA_END_DATE 
00935 
00937 #define CKA_DERIVE 
00938 
00940 #define CKA_SUBJECT 
00941 
00943 #define CKA_ENCRYPT 
00944 
00946 #define CKA_VERIFY 
00947 
00949 #define CKA_VERIFY_RECOVER 
00950 
00952 #define CKA_WRAP 
00953 
00955 #define CKA_MODULUS 
00956 
00958 #define CKA_MODULUS_BITS 
00959 
00961 #define CKA_PUBLIC_EXPONENT 
00962 
00963 
00964 
00966 #define CKA_PRIME 
00967 
00969 #define CKA_SUBPRIME 
00970 
00972 #define CKA_BASE 
00973 
00975 #define CKA_VALUE 
00976 
00977 
00978 
00980 #define CKA_PRIME 
00981 
00983 #define CKA_BASE 
00984 
00986 #define CKA_VALUE 
00987 
00988 
00989 
00991 #define CKA_SUBJECT 
00992 
00994 #define CKA_SENSITIVE 
00995 
00997 #define CKA_DECRYPT 
00998 
01000 #define CKA_SIGN 
01001 
01003 #define CKA_SIGN_RECOVER 
01004 
01006 #define CKA_UNWRAP 
01007 
01009 #define CKA_MODULUS 
01010 
01012 #define CKA_PUBLIC_EXPONENT 
01013 
01015 #define CKA_PRIVATE_EXPONENT 
01016 
01018 #define CKA_PRIME_1 
01019 
01021 #define CKA_PRIME_2 
01022 
01024 #define CKA_EXPONENT_1 
01025 
01027 #define CKA_EXPONENT_2 
01028 
01030 #define CKA_COEFFICIENT 
01031 
01032 
01033 
01035 #define CKA_PRIME 
01036 
01038 #define CKA_SUBPRIME 
01039 
01041 #define CKA_BASE 
01042 
01044 #define CKA_VALUE 
01045 
01046 
01047 
01049 #define CKA_PRIME 
01050 
01052 #define CKA_BASE 
01053 
01055 #define CKA_VALUE 
01056 
01058 #define CKA_VALUE_BITS 
01059 
01060 
01061 
01063 #define CKA_SENSITIVE 
01064 
01066 #define CKA_ENCRYPT 
01067 
01069 #define CKA_DECRYPT 
01070 
01072 #define CKA_SIGN 
01073 
01075 #define CKA_VERIFY 
01076 
01078 #define CKA_WRAP 
01079 
01081 #define CKA_UNWRAP 
01082 
01084 #define CKA_VALUE 
01085 
01087 #define CKA_VALUE_LEN 
01088 
01089 
01090 
01092 #define CKA_VALUE 
01093 
01095 #define CKA_VALUE_LEN 
01096 
01097 
01098 
01100 #define CKA_VALUE 
01101 
01103 #define CKA_VALUE_LEN 
01104 
01105 
01106 
01108 #define CKA_VALUE 
01109 
01110 
01111 
01113 #define CKA_VALUE 
01114 
01115 
01116 
01118 #define CKA_VALUE 
01119 
01120 
01121 
01138 CK_RV C_Initialize(
01139 CK_VOID_PTR pReserved
01140 );
01141 
01142 
01159 CK_RV C_GetInfo(
01160 CK_INFO_PTR pInfo
01161 );
01162 
01163 
01184 CK_RV C_GetSlotList(
01185 CK_BBOOL tokenPresent,
01186 CK_SLOT_ID_PTR pSlotList,
01187 CK_USHORT_PTR pusCount
01188 );
01189 
01190 
01204 CK_RV C_GetSlotInfo(
01205 CK_SLOT_ID slotID,
01206 CK_SLOT_INFO_PTR pInfo
01207 );
01208 
01209 
01224 CK_RV C_GetTokenInfo(
01225 CK_SLOT_ID slotID,
01226 CK_TOKEN_INFO_PTR pInfo
01227 );
01228 
01229 
01251 CK_RV C_GetMechanismList(
01252 CK_SLOT_ID slotID,
01253 CK_MECHANISM_TYPE_PTR pMechanismList,
01254 CK_USHORT_PTR pusCount
01255 );
01256 
01257 
01273 CK_RV C_GetMechanismInfo(
01274 CK_SLOT_ID slotID,
01275 CK_MECHANISM_TYPE type,
01276 CK_MECHANISM_INFO_PTR pInfo
01277 );
01278 
01279 
01304 CK_RV C_InitToken(
01305 CK_SLOT_ID slotID,
01306 CK_CHAR_PTR pPin,
01307 CK_USHORT usPinLen,
01308 CK_CHAR_PTR pLabel
01309 );
01310 
01311 
01331 CK_RV C_InitPIN(
01332 CK_SESSION_HANDLE hSession,
01333 CK_CHAR_PTR pPin,
01334 CK_USHORT usPinLen
01335 );
01336 
01337 
01372 CK_RV C_SetPIN(
01373 CK_SESSION_HANDLE hSession,
01374 CK_CHAR_PTR pOldPin,
01375 CK_USHORT usOldLen,
01376 CK_CHAR_PTR pNewPin,
01377 CK_USHORT usNewLen
01378 );
01379 
01380 
01442 CK_RV C_OpenSession(
01443 CK_SLOT_ID slotID,
01444 CK_FLAGS flags,
01445 CK_VOID_PTR pApplication,
01446 CK_RV (*Notify)(CK_SESSION_HANDLE hSession,
01447  CK_NOTIFICATION event, CK_VOID_PTR pApplication),
01448 CK_SESSION_HANDLE_PTR phSession
01449 );
01450 
01451 
01472 CK_RV C_CloseSession(
01473 CK_SESSION_HANDLE hSession
01474 );
01475 
01476 
01500 CK_RV C_CloseAllSessions(
01501 CK_SLOT_ID slotID
01502 );
01503 
01504 
01519 CK_RV C_GetSessionInfo(
01520 CK_SESSION_HANDLE hSession,
01521 CK_SESSION_INFO_PTR pInfo
01522 );
01523 
01524 
01543 CK_RV C_Login(
01544 CK_SESSION_HANDLE hSession,
01545 CK_USER_TYPE userType,
01546 CK_CHAR_PTR pPin,
01547 CK_USHORT usPinLen
01548 );
01549 
01550 
01572 CK_RV C_Logout(
01573 CK_SESSION_HANDLE hSession
01574 );
01575 
01576 
01600 CK_RV C_CreateObject(
01601 CK_SESSION_HANDLE hSession,
01602 CK_ATTRIBUTE_PTR pTemplate,
01603 CK_USHORT usCount,
01604 CK_OBJECT_HANDLE_PTR phObject
01605 );
01606 
01607 
01636 CK_RV C_CopyObject(
01637 CK_SESSION_HANDLE hSession,
01638 CK_OBJECT_HANDLE hObject,
01639 CK_ATTRIBUTE_PTR pTemplate,
01640 CK_USHORT usCount,
01641 CK_OBJECT_HANDLE_PTR phNewObject
01642 );
01643 
01644 
01663 CK_RV C_DestroyObject(
01664 CK_SESSION_HANDLE hSession,
01665 CK_OBJECT_HANDLE hObject
01666 );
01667 
01668 
01685 CK_RV C_GetObjectSize(
01686 CK_SESSION_HANDLE hSession,
01687 CK_OBJECT_HANDLE hObject,
01688 CK_USHORT_PTR pusSize
01689 );
01690 
01691 
01720 CK_RV C_GetAttributeValue(
01721 CK_SESSION_HANDLE hSession,
01722 CK_OBJECT_HANDLE hObject,
01723 CK_ATTRIBUTE_PTR pTemplate,
01724 CK_USHORT usCount
01725 );
01726 
01727 
01751 CK_RV C_SetAttributeValue(
01752 CK_SESSION_HANDLE hSession,
01753 CK_OBJECT_HANDLE hObject,
01754 CK_ATTRIBUTE_PTR pTemplate,
01755 CK_USHORT usCount
01756 );
01757 
01758 
01781 CK_RV C_FindObjectsInit(
01782 CK_SESSION_HANDLE hSession,
01783 CK_ATTRIBUTE_PTR pTemplate,
01784 CK_USHORT usCount
01785 );
01786 
01787 
01814 CK_RV C_FindObjects(
01815 CK_SESSION_HANDLE hSession,
01816 CK_OBJECT_HANDLE_PTR phObject,CK_USHORT usMaxObjectCount,
01817 CK_USHORT_PTR pusObjectCount
01818 );
01819 
01820 
01892 CK_RV C_EncryptInit(
01893 CK_SESSION_HANDLE hSession,
01894 CK_MECHANISM_PTR pMechanism,
01895 CK_OBJECT_HANDLE hKey
01896 );
01897 
01898 
01927 CK_RV C_Encrypt(
01928 CK_SESSION_HANDLE hSession,
01929 CK_BYTE_PTR pData,
01930 CK_USHORT usDataLen,
01931 CK_BYTE_PTR pEncryptedData,
01932 CK_USHORT_PTR pusEncryptedDataLen
01933 );
01934 
01935 
01960 CK_RV C_EncryptUpdate(
01961 CK_SESSION_HANDLE hSession,
01962 CK_BYTE_PTR pPart,
01963 CK_USHORT usPartLen,
01964 CK_BYTE_PTR pEncryptedPart,
01965 CK_USHORT_PTR pusEncryptedPartLen
01966 );
01967 
01968 
01992 CK_RV C_EncryptFinal(
01993 CK_SESSION_HANDLE hSession,
01994 CK_BYTE_PTR pLastEncryptedPart,
01995 CK_USHORT_PTR pusEncryptedPartLen
01996 );
01997 
01998 
02070 CK_RV C_DecryptInit(
02071 CK_SESSION_HANDLE hSession,
02072 CK_MECHANISM_PTR pMechanism,
02073 CK_OBJECT_HANDLE hKey
02074 );
02075 
02076 
02106 CK_RV C_Decrypt(
02107 CK_SESSION_HANDLE hSession,
02108 CK_BYTE_PTR pEncryptedData,
02109 CK_USHORT usEncryptedDataLen,
02110 CK_BYTE_PTR pData,
02111 CK_USHORT_PTR pusDataLen
02112 );
02113 
02114 
02140 CK_RV C_DecryptUpdate(
02141 CK_SESSION_HANDLE hSession,
02142 CK_BYTE_PTR pEncryptedPart,
02143 CK_USHORT usEncryptedPartLen,
02144 CK_BYTE_PTR pPart,
02145 CK_USHORT_PTR pusPartLen
02146 );
02147 
02148 
02180 CK_RV C_DecryptFinal(
02181 CK_SESSION_HANDLE hSession,
02182 CK_BYTE_PTR pLastPart,
02183 CK_USHORT_PTR usLastPartLen
02184 );
02185 
02186 
02235 CK_RV C_DigestInit(
02236 CK_SESSION_HANDLE hSession,
02237 CK_MECHANISM_PTR pMechanism
02238 );
02239 
02240 
02267 CK_RV C_Digest(
02268 CK_SESSION_HANDLE hSession,
02269 CK_BYTE_PTR pData,
02270 CK_USHORT usDataLen,
02271 CK_BYTE_PTR pDigest,
02272 CK_USHORT_PTR pusDigestLen
02273 );
02274 
02275 
02297 CK_RV C_DigestUpdate(
02298 CK_SESSION_HANDLE hSession,
02299 CK_BYTE_PTR pPart,
02300 CK_USHORT usPartLen
02301 );
02302 
02303 
02337 CK_RV C_DigestFinal(
02338 CK_SESSION_HANDLE hSession,
02339 CK_BYTE_PTR pDigest,
02340 CK_USHORT_PTR pusDigestLen
02341 );
02342 
02343 
02419 CK_RV C_SignInit(
02420 CK_SESSION_HANDLE hSession,
02421 CK_MECHANISM_PTR pMechanism,
02422 CK_OBJECT_HANDLE hKey
02423 );
02424 
02425 
02453 CK_RV C_Sign(
02454 CK_SESSION_HANDLE hSession,
02455 CK_BYTE_PTR pData,
02456 CK_USHORT usDataLen,
02457 CK_BYTE_PTR pSignature,
02458 CK_USHORT_PTR pusSignatureLen
02459 );
02460 
02461 
02482 CK_RV C_SignUpdate(
02483 CK_SESSION_HANDLE hSession,
02484 CK_BYTE_PTR pPart,
02485 CK_USHORT usPartLen
02486 );
02487 
02488 
02511 CK_RV C_SignFinal(
02512 CK_SESSION_HANDLE hSession,
02513 CK_BYTE_PTR pSignature,
02514 CK_USHORT_PTR pusSignatureLen
02515 );
02516 
02517 
02573 CK_RV C_SignRecoverInit(
02574 CK_SESSION_HANDLE hSession,
02575 CK_MECHANISM_PTR pMechanism,
02576 CK_OBJECT_HANDLE hKey
02577 );
02578 
02579 
02605 CK_RV C_SignRecover(
02606 CK_SESSION_HANDLE hSession,
02607 CK_BYTE_PTR pData,
02608 CK_USHORT usDataLen,
02609 CK_BYTE_PTR pSignature,
02610 CK_USHORT_PTR pusSignatureLen
02611 );
02612 
02613 
02690 CK_RV C_VerifyInit(
02691 CK_SESSION_HANDLE hSession,
02692 CK_MECHANISM_PTR pMechanism,
02693 CK_OBJECT_HANDLE hKey
02694 );
02695 
02696 
02726 CK_RV C_Verify(
02727 CK_SESSION_HANDLE hSession,
02728 CK_BYTE_PTR pData,
02729 CK_USHORT usDataLen,
02730 CK_BYTE_PTR pSignature,
02731 CK_USHORT usSignatureLen
02732 );
02733 
02734 
02756 CK_RV C_VerifyUpdate(
02757 CK_SESSION_HANDLE hSession,
02758 CK_BYTE_PTR pPart,
02759 CK_USHORT usPartLen
02760 );
02761 
02762 
02786 CK_RV C_VerifyFinal(
02787 CK_SESSION_HANDLE hSession,
02788 CK_BYTE_PTR pSignature,
02789 CK_USHORT usSignatureLen
02790 );
02791 
02792 
02849 CK_RV C_VerifyRecoverInit(
02850 CK_SESSION_HANDLE hSession,
02851 CK_MECHANISM_PTR pMechanism,
02852 CK_OBJECT_HANDLE hKey
02853 );
02854 
02855 
02889 CK_RV C_VerifyRecover(
02890 CK_SESSION_HANDLE hSession,
02891 CK_BYTE_PTR pSignature,
02892 CK_USHORT usSignatureLen,
02893 CK_BYTE_PTR pData,
02894 CK_USHORT_PTR pusDataLen
02895 );
02896 
02897 
02961 CK_RV C_GenerateKey(
02962 CK_SESSION_HANDLE hSession,
02963 CK_MECHANISM_PTR pMechanism,
02964 CK_ATTRIBUTE_PTR pTemplate,
02965 CK_USHORT usCount,
02966 CK_OBJECT_HANDLE_PTR phKey
02967 );
02968 
02969 
03025 CK_RV C_GenerateKeyPair(
03026 CK_SESSION_HANDLE hSession,
03027 CK_MECHANISM_PTR pMechanism,
03028 CK_ATTRIBUTE_PTR pPublicKeyTemplate,
03029 CK_USHORT usPublicKeyAttributeCount,
03030 CK_ATTRIBUTE_PTR pPrivateKeyTemplate,
03031 CK_USHORT usPrivateKeyAttributeCount,
03032 CK_OBJECT_HANDLE_PTR phPrivateKey,
03033 CK_OBJECT_HANDLE_PTR phPublicKey
03034 );
03035 
03036 
03105 CK_RV C_WrapKey(
03106 CK_SESSION_HANDLE hSession,
03107 CK_MECHANISM_PTR pMechanism,
03108 CK_OBJECT_HANDLE hWrappingKey,
03109 CK_OBJECT_HANDLE hKey,
03110 CK_BYTE_PTR pWrappedKey,
03111 CK_USHORT_PTR pusWrappedKeyLen
03112 );
03113 
03114 
03190 CK_RV C_UnwrapKey(
03191 CK_SESSION_HANDLE hSession,
03192 CK_MECHANISM_PTR pMechanism,
03193 CK_OBJECT_HANDLE hUnwrappingKey,
03194 CK_BYTE_PTR pWrappedKey,
03195 CK_USHORT usWrappedKeyLen,
03196 CK_ATTRIBUTE_PTR pTemplate,
03197 CK_USHORT usAttributeCount,
03198 CK_OBJECT_HANDLE_PTR phKey
03199 );
03200 
03201 
03257 CK_RV C_DeriveKey(
03258 CK_SESSION_HANDLE hSession,
03259 CK_MECHANISM_PTR pMechanism,
03260 CK_OBJECT_HANDLE hBaseKey,
03261 CK_ATTRIBUTE_PTR pTemplate,
03262 CK_USHORT usAttributeCount,
03263 CK_OBJECT_HANDLE_PTR phKey
03264 );
03265 
03266 
03284 CK_RV C_SeedRandom(
03285 CK_SESSION_HANDLE hSession,
03286 CK_BYTE_PTR pSeed,
03287 CK_USHORT usSeedLen
03288 );
03289 
03290 
03313 CK_RV C_GenerateRandom(
03314 CK_SESSION_HANDLE hSession,
03315 CK_BYTE_PTR pRandomData,
03316 CK_USHORT usRandomLen
03317 );
03318 
03319 
03335 CK_RV C_GetFunctionStatus(
03336 CK_SESSION_HANDLE hSession
03337 );
03338 
03339 
03374 CK_RV C_CancelFunction(
03375 CK_SESSION_HANDLE hSession
03376 );
03377 
03378 

RSA Security Inc. Public-Key Cryptography Standards - PKCS#11 - v100