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 /* an 8-bit UTF-8 character */
00057 typedef CK_BYTE CK_UTF8CHAR;
00058 /* a BYTE-sized Boolean flag */
00062 typedef CK_BYTE CK_BBOOL;
00063 /* an unsigned value, at least 32 bits long */
00067 typedef unsigned long int CK_ULONG;
00068 /* a signed value, the same size as a CK_ULONG */
00072 typedef long int CK_LONG;
00073 /* at least 32 bits; each bit is a Boolean flag */
00077 typedef CK_ULONG CK_FLAGS;
00078 
00079 
00081 typedef CK_BYTE CK_PTR CK_BYTE_PTR;
00083 typedef CK_CHAR CK_PTR CK_CHAR_PTR;
00085 typedef CK_UTF8CHAR CK_PTR CK_UTF8CHAR_PTR;
00087 typedef CK_ULONG CK_PTR CK_ULONG_PTR;
00089 typedef void CK_PTR CK_VOID_PTR;
00090 
00091 
00093 typedef CK_VOID_PTR CK_PTR CK_VOID_PTR_PTR;
00094 
00095 
00097 typedef NULL CK_PTR NULL_PTR;
00098 
00099 
00103 typedef CK_BYTE CK_PTR CK_BYTE_PTR;
00104 
00105 
00106 typedef CK_DECLARE_FUNCTION_POINTER(CK_RV, myC_InitializeType)(   CK_VOID_PTR pReserved  );
00107 myC_InitializeType myC_Initialize;
00108 
00109 
00122 typedef CK_CALLBACK_FUNCTION(CK_RV, myCallbackType)(args);
00123 myCallbackType myCallback;
00124 
00125 
00126 
00127 
00196 typedef struct CK_VERSION {
00198 CK_BYTE major;
00200 CK_BYTE minor;
00201 } CK_VERSION;
00202 
00203 
00205 typedef CK_VERSION CK_PTR CK_VERSION_PTR;
00206 
00207 
00249 typedef struct CK_INFO {
00251 CK_VERSION cryptokiVersion;
00253 CK_UTF8CHAR manufacturerID[32];
00255 CK_FLAGS flags;
00257 CK_UTF8CHAR libraryDescription[32];
00259 CK_VERSION libraryVersion;
00260 } CK_INFO;
00261 
00262 
00264 typedef CK_INFO CK_PTR CK_INFO_PTR;
00270 typedef CK_ULONG CK_NOTIFICATION;
00271 
00272 
00278 typedef CK_ULONG CK_SLOT_ID;
00279 
00280 
00282 typedef CK_SLOT_ID CK_PTR CK_SLOT_ID_PTR;
00283 
00284 
00343 typedef struct CK_SLOT_INFO {
00345 CK_UTF8CHAR slotDescription[64];
00347 CK_UTF8CHAR manufacturerID[32];
00349 CK_FLAGS flags;
00351 CK_VERSION hardwareVersion;
00353 CK_VERSION firmwareVersion;
00354 } CK_SLOT_INFO;
00355 
00356 
00358 #define CKF_TOKEN_PRESENT 0x00000001
00359 
00361 #define CKF_REMOVABLE_DEVICE 0x00000002
00362 
00364 #define CKF_HW_SLOT 0x00000004
00365 
00367 typedef CK_SLOT_INFO CK_PTR CK_SLOT_INFO_PTR;
00368 
00369 
00588 typedef struct CK_TOKEN_INFO {
00590 CK_UTF8CHAR label[32];
00592 CK_UTF8CHAR manufacturerID[32];
00594 CK_UTF8CHAR model[16];
00596 CK_CHAR serialNumber[16];
00598 CK_FLAGS flags;
00600 CK_ULONG ulMaxSessionCount;
00602 CK_ULONG ulSessionCount;
00604 CK_ULONG ulMaxRwSessionCount;
00606 CK_ULONG ulRwSessionCount;
00608 CK_ULONG ulMaxPinLen;
00610 CK_ULONG ulMinPinLen;
00612 CK_ULONG ulTotalPublicMemory;
00614 CK_ULONG ulFreePublicMemory;
00616 CK_ULONG ulTotalPrivateMemory;
00618 CK_ULONG ulFreePrivateMemory;
00620 CK_VERSION hardwareVersion;
00622 CK_VERSION firmwareVersion;
00624 CK_CHAR utcTime[16];
00625 } CK_TOKEN_INFO;
00626 
00627 
00629 #define CKF_RNG 0x00000001
00630 
00632 #define CKF_WRITE_PROTECTED 0x00000002
00633 
00635 #define CKF_LOGIN_REQUIRED 0x00000004
00636 
00638 #define CKF_USER_PIN_INITIALIZED 0x00000008
00639 
00641 #define CKF_RESTORE_KEY_NOT_NEEDED 0x00000020
00642 
00644 #define CKF_CLOCK_ON_TOKEN 0x00000040
00645 
00647 #define CKF_PROTECTED_AUTHENTICATION_PATH 0x00000100
00648 
00650 #define CKF_DUAL_CRYPTO_OPERATIONS 0x00000200
00651 
00653 #define CKF_TOKEN_INITIALIZED 0x00000400
00654 
00656 #define CKF_SECONDARY_AUTHENTICATION 0x00000800
00657 
00659 #define CKF_USER_PIN_COUNT_LOW 0x00010000
00660 
00662 #define CKF_USER_PIN_FINAL_TRY 0x00020000
00663 
00665 #define CKF_USER_PIN_LOCKED 0x00040000
00666 
00668 #define CKF_USER_PIN_TO_BE_CHANGED 0x00080000
00669 
00671 #define CKF_SO_PIN_COUNT_LOW 0x00100000
00672 
00674 #define CKF_SO_PIN_FINAL_TRY 0x00200000
00675 
00677 #define CKF_SO_PIN_LOCKED 0x00400000
00678 
00680 #define CKF_SO_PIN_TO_BE_CHANGED 0x00800000
00681 
00683 #define CKF_ERROR_STATE    0x01000000
00684 
00685 
00686 
00688 typedef CK_TOKEN_INFO CK_PTR CK_TOKEN_INFO_PTR;
00694 typedef CK_ULONG CK_SESSION_HANDLE;
00695 
00696 
00698 typedef CK_SESSION_HANDLE CK_PTR CK_SESSION_HANDLE_PTR;
00705 typedef CK_ULONG CK_USER_TYPE;
00706 
00707 
00714 typedef CK_ULONG CK_STATE;
00715 
00716 
00717 
00718 
00758 typedef struct CK_SESSION_INFO {
00760 CK_SLOT_ID slotID;
00762 CK_STATE state;
00764 CK_FLAGS flags;
00766 CK_ULONG ulDeviceError;
00767 } CK_SESSION_INFO;
00768 
00769 
00771 #define CKF_RW_SESSION 0x00000002
00772 
00774 #define CKF_SERIAL_SESSION 0x00000004
00775 
00777 typedef CK_SESSION_INFO CK_PTR CK_SESSION_INFO_PTR;
00783 typedef CK_ULONG CK_OBJECT_HANDLE;
00784 
00785 
00787 typedef CK_OBJECT_HANDLE CK_PTR CK_OBJECT_HANDLE_PTR;
00793 typedef CK_ULONG CK_OBJECT_CLASS;
00794 
00795 
00797 typedef CK_OBJECT_CLASS CK_PTR CK_OBJECT_CLASS_PTR;
00803 typedef CK_ULONG CK_HW_FEATURE_TYPE;
00804 
00805 
00811 typedef CK_ULONG CK_KEY_TYPE;
00812 
00813 
00819 typedef CK_ULONG CK_CERTIFICATE_TYPE;
00820 
00821 
00827 typedef CK_ULONG CK_ATTRIBUTE_TYPE;
00828 
00829 
00830 
00831 
00862 typedef struct CK_ATTRIBUTE {
00864 CK_ATTRIBUTE_TYPE type;
00866 CK_VOID_PTR pValue;
00868 CK_ULONG ulValueLen;
00869 } CK_ATTRIBUTE;
00870 
00871 
00873 typedef CK_ATTRIBUTE CK_PTR CK_ATTRIBUTE_PTR;
00874 
00875 
00899 typedef struct CK_DATE {
00901 CK_CHAR year[4];
00903 CK_CHAR month[2];
00905 CK_CHAR day[2];
00906 } CK_DATE;
00907 
00908 
00914 typedef CK_ULONG CK_MECHANISM_TYPE;
00915 
00916 
00918 typedef CK_MECHANISM_TYPE CK_PTR CK_MECHANISM_TYPE_PTR;
00919 
00920 
00946 typedef struct CK_MECHANISM {
00948 CK_MECHANISM_TYPE mechanism;
00950 CK_VOID_PTR pParameter;
00952 CK_ULONG ulParameterLen;
00953 } CK_MECHANISM;
00954 
00955 
00957 typedef CK_MECHANISM CK_PTR CK_MECHANISM_PTR;
00958 
00959 
01061 typedef struct CK_MECHANISM_INFO {
01063 CK_ULONG ulMinKeySize;
01065 CK_ULONG ulMaxKeySize;
01067 CK_FLAGS flags;
01068 } CK_MECHANISM_INFO;
01069 
01070 
01072 #define CKF_HW 0x00000001
01073 
01075 #define CKF_ENCRYPT 0x00000100
01076 
01078 #define CKF_DECRYPT 0x00000200
01079 
01081 #define CKF_DIGEST 0x00000400
01082 
01084 #define CKF_SIGN 0x00000800
01085 
01087 #define CKF_SIGN_RECOVER 0x00001000
01088 
01090 #define CKF_VERIFY 0x00002000
01091 
01093 #define CKF_VERIFY_RECOVER 0x00004000
01094 
01096 #define CKF_GENERATE 0x00008000
01097 
01099 #define CKF_GENERATE_KEY_PAIR 0x00010000
01100 
01102 #define CKF_WRAP 0x00020000
01103 
01105 #define CKF_UNWRAP 0x00040000
01106 
01108 #define CKF_DERIVE 0x00080000
01109 
01111 #define CKF_EXTENSION 0x80000000
01112 
01114 typedef CK_MECHANISM_INFO CK_PTR CK_MECHANISM_INFO_PTR;
01120 typedef CK_ULONG CK_RV;
01121 
01122 
01128 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_NOTIFY)(
01129 CK_SESSION_HANDLE hSession,
01130 CK_NOTIFICATION event,
01131 CK_VOID_PTR pApplication
01132 );
01133 
01134 
01135 
01136 
01156 typedef struct CK_FUNCTION_LIST {
01157 CK_VERSION version;
01158 CK_C_Initialize C_Initialize;
01159 CK_C_Finalize C_Finalize;
01160 CK_C_GetInfo C_GetInfo;
01161 CK_C_GetFunctionList C_GetFunctionList;
01162 CK_C_GetSlotList C_GetSlotList;
01163 CK_C_GetSlotInfo C_GetSlotInfo;
01164 CK_C_GetTokenInfo C_GetTokenInfo;
01165 CK_C_GetMechanismList C_GetMechanismList;
01166 CK_C_GetMechanismInfo C_GetMechanismInfo;
01167 CK_C_InitToken C_InitToken;
01168 CK_C_InitPIN C_InitPIN;
01169 CK_C_SetPIN C_SetPIN;
01170 CK_C_OpenSession C_OpenSession;
01171 CK_C_CloseSession C_CloseSession;
01172 CK_C_CloseAllSessions C_CloseAllSessions;
01173 CK_C_GetSessionInfo C_GetSessionInfo;
01174 CK_C_GetOperationState C_GetOperationState;
01175 CK_C_SetOperationState C_SetOperationState;
01176 CK_C_Login C_Login;
01177 CK_C_Logout C_Logout;
01178 CK_C_CreateObject C_CreateObject;
01179 CK_C_CopyObject C_CopyObject;
01180 CK_C_DestroyObject C_DestroyObject;
01181 CK_C_GetObjectSize C_GetObjectSize;
01182 CK_C_GetAttributeValue C_GetAttributeValue;
01183 CK_C_SetAttributeValue C_SetAttributeValue;
01184 CK_C_FindObjectsInit C_FindObjectsInit;
01185 CK_C_FindObjects C_FindObjects;
01186 CK_C_FindObjectsFinal C_FindObjectsFinal;
01187 CK_C_EncryptInit C_EncryptInit;
01188 CK_C_Encrypt C_Encrypt;
01189 CK_C_EncryptUpdate C_EncryptUpdate;
01190 CK_C_EncryptFinal C_EncryptFinal;
01191 CK_C_DecryptInit C_DecryptInit;
01192 CK_C_Decrypt C_Decrypt;
01193 CK_C_DecryptUpdate C_DecryptUpdate;
01194 CK_C_DecryptFinal C_DecryptFinal;
01195 CK_C_DigestInit C_DigestInit;
01196 CK_C_Digest C_Digest;
01197 CK_C_DigestUpdate C_DigestUpdate;
01198 CK_C_DigestKey C_DigestKey;
01199 CK_C_DigestFinal C_DigestFinal;
01200 CK_C_SignInit C_SignInit;
01201 CK_C_Sign C_Sign;
01202 CK_C_SignUpdate C_SignUpdate;
01203 CK_C_SignFinal C_SignFinal;
01204 CK_C_SignRecoverInit C_SignRecoverInit;
01205 CK_C_SignRecover C_SignRecover;
01206 CK_C_VerifyInit C_VerifyInit;
01207 CK_C_Verify C_Verify;
01208 CK_C_VerifyUpdate C_VerifyUpdate;
01209 CK_C_VerifyFinal C_VerifyFinal;
01210 CK_C_VerifyRecoverInit C_VerifyRecoverInit;
01211 CK_C_VerifyRecover C_VerifyRecover;
01212 CK_C_DigestEncryptUpdate C_DigestEncryptUpdate;
01213 CK_C_DecryptDigestUpdate C_DecryptDigestUpdate;
01214 CK_C_SignEncryptUpdate C_SignEncryptUpdate;
01215 CK_C_DecryptVerifyUpdate C_DecryptVerifyUpdate;
01216 CK_C_GenerateKey C_GenerateKey;
01217 CK_C_GenerateKeyPair C_GenerateKeyPair;
01218 CK_C_WrapKey C_WrapKey;
01219 CK_C_UnwrapKey C_UnwrapKey;
01220 CK_C_DeriveKey C_DeriveKey;
01221 CK_C_SeedRandom C_SeedRandom;
01222 CK_C_GenerateRandom C_GenerateRandom;
01223 CK_C_GetFunctionStatus C_GetFunctionStatus;
01224 CK_C_CancelFunction C_CancelFunction;
01225 CK_C_WaitForSlotEvent C_WaitForSlotEvent;
01226 } CK_FUNCTION_LIST;
01227 
01228 
01230 typedef CK_FUNCTION_LIST CK_PTR CK_FUNCTION_LIST_PTR;
01232 typedef CK_FUNCTION_LIST_PTR CK_PTR CK_FUNCTION_LIST_PTR_PTR;
01239 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_CREATEMUTEX)(
01240 CK_VOID_PTR_PTR ppMutex
01241 );
01242 
01243 
01249 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_DESTROYMUTEX)(
01250 CK_VOID_PTR pMutex
01251 );
01252 
01253 
01280 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_LOCKMUTEX)(
01281 CK_VOID_PTR pMutex
01282 );
01283 
01284 
01288 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_UNLOCKMUTEX)(
01289 CK_VOID_PTR pMutex
01290 );
01291 
01292 
01293 
01294 
01341 typedef struct CK_C_INITIALIZE_ARGS {
01343 CK_CREATEMUTEX CreateMutex;
01345 CK_DESTROYMUTEX DestroyMutex;
01347 CK_LOCKMUTEX LockMutex;
01349 CK_UNLOCKMUTEX UnlockMutex;
01351 CK_FLAGS flags;
01353 CK_VOID_PTR pReserved;
01354 } CK_C_INITIALIZE_ARGS;
01355 
01356 
01358 #define CKF_LIBRARY_CANT_CREATE_OS_THREADS 0x00000001
01359 
01361 #define CKF_OS_LOCKING_OK 0x00000002
01362 
01364 typedef CK_C_INITIALIZE_ARGS CK_PTR CK_C_INITIALIZE_ARGS_PTR;
01366 #define CKA_CLASS 
01367 
01369 #define CKA_HW_FEATURE_TYPE 
01370 
01372 #define CKA_VALUE 
01373 
01375 #define CKA_RESET_ON_INIT 
01376 
01378 #define CKA_HAS_RESET 
01379 
01381 #define CKA_VALUE 
01382 
01384 #define CKA_PIXEL_X 
01385 
01387 #define CKA_PIXEL_Y 
01388 
01390 #define CKA_RESOLUTION 
01391 
01393 #define CKA_CHAR_ROWS 
01394 
01396 #define CKA_CHAR_COLUMNS 
01397 
01399 #define CKA_COLOR 
01400 
01402 #define CKA_BITS_PER_PIXEL 
01403 
01405 #define CKA_CHAR_SETS 
01406 
01408 #define CKA_ENCODING_METHODS 
01409 
01411 #define CKA_MIME_TYPES 
01412 
01414 #define CKA_TOKEN 
01415 
01417 #define CKA_PRIVATE 
01418 
01420 #define CKA_MODIFIABLE 
01421 
01423 #define CKA_LABEL 
01424 
01426 #define CKA_COPYABLE 
01427 
01429 #define CKA_APPLICATION 
01430 
01432 #define CKA_OBJECT_ID 
01433 
01435 #define CKA_VALUE 
01436 
01437 
01438 
01440 #define CKA_CERTIFICATE_TYPE 
01441 
01443 #define CKA_TRUSTED 
01444 
01446 #define CKA_CERTIFICATE_CATEGORY 
01447 
01449 #define CKA_CHECK_VALUE 
01450 
01452 #define CKA_START_DATE 
01453 
01455 #define CKA_END_DATE  
01456 
01458 #define CKA_SUBJECT 
01459 
01461 #define CKA_ID 
01462 
01464 #define CKA_ISSUER 
01465 
01467 #define CKA_SERIAL_NUMBER 
01468 
01470 #define CKA_VALUE 
01471 
01473 #define CKA_URL 
01474 
01476 #define CKA_HASH_OF_SUBJECT_PUBLIC_KEY 
01477 
01479 #define CKA_HASH_OF_ISSUER_PUBLIC_KEY 
01480 
01482 #define CKA_JAVA_MIDP_SECURITY_DOMAIN 
01483 
01485 #define CKA_NAME_HASH_ALGORITHM 
01486 
01487 
01488 
01490 #define CKA_SUBJECT 
01491 
01493 #define CKA_ISSUER 
01494 
01496 #define CKA_VALUE 
01497 
01499 #define CKA_URL 
01500 
01502 #define CKA_HASH_OF_SUBJECT_PUBLIC_KEY 
01503 
01505 #define CKA_HASH_OF_ISSUER_PUBLIC_KEY 
01506 
01508 #define CKA_NAME_HASH_ALGORITHM 
01509 
01510 
01511 
01513 #define CKA_OWNER 
01514 
01516 #define CKA_AC_ISSUER 
01517 
01519 #define CKA_SERIAL_NUMBER 
01520 
01522 #define CKA_ATTR_TYPES 
01523 
01525 #define CKA_VALUE 
01526 
01527 
01528 
01530 #define CKA_KEY_TYPE 
01531 
01533 #define CKA_ID 
01534 
01536 #define CKA_START_DATE 
01537 
01539 #define CKA_END_DATE 
01540 
01542 #define CKA_DERIVE 
01543 
01545 #define CKA_LOCAL 
01546 
01548 #define CKA_KEY_GEN_MECHANISM 
01549 
01551 #define CKA_ALLOWED_MECHANISMS 
01552 
01554 #define CKA_SUBJECT 
01555 
01557 #define CKA_ENCRYPT 
01558 
01560 #define CKA_VERIFY 
01561 
01563 #define CKA_VERIFY_RECOVER 
01564 
01566 #define CKA_WRAP 
01567 
01569 #define CKA_TRUSTED 
01570 
01572 #define CKA_WRAP_TEMPLATE 
01573 
01575 #define CKA_SUBJECT 
01576 
01578 #define CKA_SENSITIVE 
01579 
01581 #define CKA_DECRYPT 
01582 
01584 #define CKA_SIGN 
01585 
01587 #define CKA_SIGN_RECOVER 
01588 
01590 #define CKA_UNWRAP 
01591 
01593 #define CKA_EXTRACTABLE 
01594 
01596 #define CKA_ALWAYS_SENSITIVE 
01597 
01599 #define CKA_NEVER_EXTRACTABLE 
01600 
01602 #define CKA_WRAP_WITH_TRUSTED 
01603 
01605 #define CKA_UNWRAP_TEMPLATE 
01606 
01608 #define CKA_ALWAYS_AUTHENTICATE 
01609 
01611 #define CKA_SENSITIVE 
01612 
01614 #define CKA_ENCRYPT 
01615 
01617 #define CKA_DECRYPT 
01618 
01620 #define CKA_SIGN 
01621 
01623 #define CKA_VERIFY 
01624 
01626 #define CKA_WRAP 
01627 
01629 #define CKA_UNWRAP 
01630 
01632 #define CKA_EXTRACTABLE 
01633 
01635 #define CKA_ALWAYS_SENSITIVE 
01636 
01638 #define CKA_NEVER_EXTRACTABLE 
01639 
01641 #define CKA_CHECK_VALUE 
01642 
01644 #define CKA_WRAP_WITH_TRUSTED 
01645 
01647 #define CKA_TRUSTED 
01648 
01650 #define CKA_WRAP_TEMPLATE 
01651 
01653 #define CKA_UNWRAP_TEMPLATE 
01654 
01656 #define CKA_KEY_TYPE 
01657 
01659 #define CKA_LOCAL 
01660 
01662 #define CKA_MECHANISM_TYPE 
01663 
01665 #define CKR_GENERAL_ERROR
01666 
01668 #define CKR_HOST_MEMORY
01669 
01671 #define CKR_FUNCTION_FAILED
01672 
01674 #define CKR_OK
01675 
01677 #define CKR_SESSION_HANDLE_INVALID
01678 
01680 #define CKR_DEVICE_REMOVED
01681 
01683 #define CKR_SESSION_CLOSED
01684 
01686 #define CKR_DEVICE_MEMORY
01687 
01689 #define CKR_DEVICE_ERROR
01690 
01692 #define CKR_TOKEN_NOT_PRESENT
01693 
01695 #define CKR_DEVICE_REMOVED
01696 
01698 #define CKR_CANCEL
01699 
01701 #define CKR_MUTEX_BAD
01702 
01704 #define CKR_MUTEX_NOT_LOCKED
01705 
01707 #define CKR_ARGUMENTS_BAD
01708 
01710 #define CKR_ATTRIBUTE_READ_ONLY
01711 
01713 #define CKR_ATTRIBUTE_SENSITIVE
01714 
01716 #define CKR_ATTRIBUTE_TYPE_INVALID
01717 
01719 #define CKR_ATTRIBUTE_VALUE_INVALID
01720 
01722 #define CKR_BUFFER_TOO_SMALL
01723 
01725 #define CKR_CANT_LOCK
01726 
01728 #define CKR_CRYPTOKI_ALREADY_INITIALIZED
01729 
01731 #define CKR_CRYPTOKI_NOT_INITIALIZED
01732 
01734 #define CKR_DATA_INVALID
01735 
01737 #define CKR_DATA_LEN_RANGE
01738 
01740 #define CKR_DOMAIN_PARAMS_INVALID
01741 
01743 #define CKR_ENCRYPTED_DATA_INVALID
01744 
01746 #define CKR_ENCRYPTED_DATA_LEN_RANGE
01747 
01749 #define CKR_EXCEEDED_MAX_ITERATIONS
01750 
01752 #define CKR_FIPS_SELF_TEST_FAILED
01753 
01755 #define CKR_FUNCTION_CANCELED
01756 
01758 #define CKR_FUNCTION_NOT_PARALLEL
01759 
01761 #define CKR_FUNCTION_NOT_SUPPORTED
01762 
01764 #define CKR_FUNCTION_REJECTED
01765 
01767 #define CKR_INFORMATION_SENSITIVE
01768 
01770 #define CKR_KEY_CHANGED
01771 
01773 #define CKR_KEY_FUNCTION_NOT_PERMITTED
01774 
01776 #define CKR_KEY_HANDLE_INVALID
01777 
01779 #define CKR_KEY_INDIGESTIBLE
01780 
01782 #define CKR_KEY_NEEDED
01783 
01785 #define CKR_KEY_NOT_NEEDED
01786 
01788 #define CKR_KEY_NOT_WRAPPABLE
01789 
01791 #define CKR_KEY_SIZE_RANGE
01792 
01794 #define CKR_KEY_TYPE_INCONSISTENT
01795 
01797 #define CKR_KEY_UNEXTRACTABLE
01798 
01800 #define CKR_LIBRARY_LOAD_FAILED
01801 
01803 #define CKR_MECHANISM_INVALID
01804 
01806 #define CKR_MECHANISM_PARAM_INVALID
01807 
01809 #define CKR_NEED_TO_CREATE_THREADS
01810 
01812 #define CKR_NO_EVENT
01813 
01815 #define CKR_OBJECT_HANDLE_INVALID
01816 
01818 #define CKR_OPERATION_ACTIVE
01819 
01821 #define CKR_OPERATION_NOT_INITIALIZED
01822 
01824 #define CKR_PIN_EXPIRED
01825 
01827 #define CKR_PIN_INCORRECT
01828 
01830 #define CKR_PIN_INVALID
01831 
01833 #define CKR_PIN_LEN_RANGE
01834 
01836 #define CKR_PIN_LOCKED
01837 
01839 #define CKR_PIN_TOO_WEAK
01840 
01842 #define CKR_PUBLIC_KEY_INVALID
01843 
01845 #define CKR_RANDOM_NO_RNG
01846 
01848 #define CKR_RANDOM_SEED_NOT_SUPPORTED
01849 
01851 #define CKR_SAVED_STATE_INVALID
01852 
01854 #define CKR_SESSION_COUNT
01855 
01857 #define CKR_SESSION_EXISTS
01858 
01860 #define CKR_SESSION_PARALLEL_NOT_SUPPORTED
01861 
01863 #define CKR_SESSION_READ_ONLY
01864 
01866 #define CKR_SESSION_READ_ONLY_EXISTS
01867 
01869 #define CKR_SESSION_READ_WRITE_SO_EXISTS
01870 
01872 #define CKR_SIGNATURE_LEN_RANGE
01873 
01875 #define CKR_SIGNATURE_INVALID
01876 
01878 #define CKR_SLOT_ID_INVALID
01879 
01881 #define CKR_STATE_UNSAVEABLE
01882 
01884 #define CKR_TEMPLATE_INCOMPLETE
01885 
01887 #define CKR_TEMPLATE_INCONSISTENT
01888 
01890 #define CKR_TOKEN_NOT_RECOGNIZED
01891 
01893 #define CKR_TOKEN_WRITE_PROTECTED
01894 
01896 #define CKR_UNWRAPPING_KEY_HANDLE_INVALID
01897 
01899 #define CKR_UNWRAPPING_KEY_SIZE_RANGE
01900 
01902 #define CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT
01903 
01905 #define CKR_USER_ALREADY_LOGGED_IN
01906 
01908 #define CKR_USER_ANOTHER_ALREADY_LOGGED_IN
01909 
01911 #define CKR_USER_NOT_LOGGED_IN
01912 
01914 #define CKR_USER_PIN_NOT_INITIALIZED
01915 
01917 #define CKR_USER_TOO_MANY_TYPES
01918 
01920 #define CKR_USER_TYPE_INVALID
01921 
01923 #define CKR_WRAPPED_KEY_INVALID
01924 
01926 #define CKR_WRAPPED_KEY_LEN_RANGE
01927 
01929 #define CKR_WRAPPING_KEY_HANDLE_INVALID
01930 
01932 #define CKR_WRAPPING_KEY_SIZE_RANGE
01933 
01935 #define CKR_WRAPPING_KEY_TYPE_INCONSISTENT
01936 
02021 CK_RV  C_Initialize( CK_VOID_PTR pInitArgs);
02022 
02023 
02054 CK_RV  C_Finalize( CK_VOID_PTR pReserved);
02055 
02056 
02070 CK_RV  C_GetInfo( CK_INFO_PTR pInfo);
02071 
02072 
02093 CK_RV  C_GetFunctionList( CK_FUNCTION_LIST_PTR_PTR ppFunctionList);
02094 
02095 
02148 CK_RV  C_GetSlotList( CK_BBOOL tokenPresent, CK_SLOT_ID_PTR pSlotList, CK_ULONG_PTR pulCount);
02149 
02150 
02164 CK_RV  C_GetSlotInfo( CK_SLOT_ID slotID, CK_SLOT_INFO_PTR pInfo);
02165 
02166 
02183 CK_RV  C_GetTokenInfo( CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo);
02184 
02185 
02240 CK_RV  C_WaitForSlotEvent( CK_FLAGS flags, CK_SLOT_ID_PTR pSlot, CK_VOID_PTR pReserved);
02241 
02242 
02279 CK_RV  C_GetMechanismList( CK_SLOT_ID slotID, CK_MECHANISM_TYPE_PTR pMechanismList, CK_ULONG_PTR pulCount);
02280 
02281 
02299 CK_RV  C_GetMechanismInfo( CK_SLOT_ID slotID, CK_MECHANISM_TYPE type, CK_MECHANISM_INFO_PTR pInfo);
02300 
02301 
02371 CK_RV  C_InitToken( CK_SLOT_ID slotID, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen, CK_UTF8CHAR_PTR pLabel);
02372 
02373 
02412 CK_RV  C_InitPIN( CK_SESSION_HANDLE hSession, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen);
02413 
02414 
02457 CK_RV  C_SetPIN( CK_SESSION_HANDLE hSession, CK_UTF8CHAR_PTR pOldPin, CK_ULONG ulOldLen, CK_UTF8CHAR_PTR pNewPin, CK_ULONG ulNewLen);
02458 
02459 
02506 CK_RV  C_OpenSession( CK_SLOT_ID slotID, CK_FLAGS flags, CK_VOID_PTR pApplication, CK_NOTIFY Notify, CK_SESSION_HANDLE_PTR phSession);
02507 
02508 
02546 CK_RV  C_CloseSession( CK_SESSION_HANDLE hSession);
02547 
02548 
02575 CK_RV  C_CloseAllSessions( CK_SLOT_ID slotID);
02576 
02577 
02594 CK_RV  C_GetSessionInfo( CK_SESSION_HANDLE hSession, CK_SESSION_INFO_PTR pInfo);
02595 
02596 
02670 CK_RV  C_GetOperationState( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pOperationState, CK_ULONG_PTR pulOperationStateLen);
02671 
02672 
02754 CK_RV  C_SetOperationState( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pOperationState, CK_ULONG ulOperationStateLen, CK_OBJECT_HANDLE hEncryptionKey, CK_OBJECT_HANDLE hAuthenticationKey);
02755 
02756 
02814 CK_RV  C_Login( CK_SESSION_HANDLE hSession, CK_USER_TYPE userType, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen);
02815 
02816 
02848 CK_RV  C_Logout( CK_SESSION_HANDLE hSession);
02849 
02850 
02885 CK_RV  C_CreateObject( CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phObject);
02886 
02887 
02933 CK_RV  C_CopyObject( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phNewObject);
02934 
02935 
02954 CK_RV  C_DestroyObject( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject);
02955 
02956 
02981 CK_RV  C_GetObjectSize( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ULONG_PTR pulSize);
02982 
02983 
03062 CK_RV  C_GetAttributeValue( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount);
03063 
03064 
03097 CK_RV  C_SetAttributeValue( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount);
03098 
03099 
03143 CK_RV  C_FindObjectsInit( CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount);
03144 
03145 
03167 CK_RV  C_FindObjects( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE_PTR phObject, CK_ULONG ulMaxObjectCount, CK_ULONG_PTR pulObjectCount);
03168 
03169 
03185 CK_RV  C_FindObjectsFinal( CK_SESSION_HANDLE hSession);
03186 
03187 
03218 CK_RV  C_EncryptInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03219 
03220 
03265 CK_RV  C_Encrypt( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pEncryptedData, CK_ULONG_PTR pulEncryptedDataLen);
03266 
03267 
03299 CK_RV  C_EncryptUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen);
03300 
03301 
03335 CK_RV  C_EncryptFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastEncryptedPart, CK_ULONG_PTR pulLastEncryptedPartLen);
03336 
03337 
03368 CK_RV  C_DecryptInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03369 
03370 
03413 CK_RV  C_Decrypt( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedData, CK_ULONG ulEncryptedDataLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen);
03414 
03415 
03447 CK_RV  C_DecryptUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen);
03448 
03449 
03482 CK_RV  C_DecryptFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastPart, CK_ULONG_PTR pulLastPartLen);
03483 
03484 
03510 CK_RV  C_DigestInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism);
03511 
03512 
03549 CK_RV  C_Digest( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen);
03550 
03551 
03573 CK_RV  C_DigestUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen);
03574 
03575 
03600 CK_RV  C_DigestKey( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hKey);
03601 
03602 
03630 CK_RV  C_DigestFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen);
03631 
03632 
03662 CK_RV  C_SignInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03663 
03664 
03700 CK_RV  C_Sign( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen);
03701 
03702 
03723 CK_RV  C_SignUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen);
03724 
03725 
03754 CK_RV  C_SignFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen);
03755 
03756 
03785 CK_RV  C_SignRecoverInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03786 
03787 
03818 CK_RV  C_SignRecover( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen);
03819 
03820 
03851 CK_RV  C_VerifyInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03852 
03853 
03891 CK_RV  C_Verify( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen);
03892 
03893 
03914 CK_RV  C_VerifyUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen);
03915 
03916 
03947 CK_RV  C_VerifyFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen);
03948 
03949 
03977 CK_RV  C_VerifyRecoverInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03978 
03979 
04021 CK_RV  C_VerifyRecover( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen);
04022 
04023 
04061 CK_RV  C_DigestEncryptUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen);
04062 
04063 
04142 CK_RV  C_DecryptDigestUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen);
04143 
04144 
04180 CK_RV  C_SignEncryptUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen);
04181 
04182 
04260 CK_RV  C_DecryptVerifyUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen);
04261 
04262 
04303 CK_RV  C_GenerateKey( CK_SESSION_HANDLE hSession CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phKey);
04304 
04305 
04356 CK_RV  C_GenerateKeyPair( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pPublicKeyTemplate, CK_ULONG ulPublicKeyAttributeCount, CK_ATTRIBUTE_PTR pPrivateKeyTemplate, CK_ULONG ulPrivateKeyAttributeCount, CK_OBJECT_HANDLE_PTR phPublicKey, CK_OBJECT_HANDLE_PTR phPrivateKey);
04357 
04358 
04420 CK_RV  C_WrapKey( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hWrappingKey, CK_OBJECT_HANDLE hKey, CK_BYTE_PTR pWrappedKey, CK_ULONG_PTR pulWrappedKeyLen);
04421 
04422 
04479 CK_RV  C_UnwrapKey( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hUnwrappingKey, CK_BYTE_PTR pWrappedKey, CK_ULONG ulWrappedKeyLen, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount, CK_OBJECT_HANDLE_PTR phKey);
04480 
04481 
04522 CK_RV  C_DeriveKey( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hBaseKey, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount, CK_OBJECT_HANDLE_PTR phKey);
04523 
04524 
04541 CK_RV  C_SeedRandom( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSeed, CK_ULONG ulSeedLen);
04542 
04543 
04562 CK_RV  C_GenerateRandom(   CK_SESSION_HANDLE hSession,  CK_BYTE_PTR pRandomData,  CK_ULONG ulRandomLen  );
04563 
04564 
04575 CK_RV  C_GetFunctionStatus( CK_SESSION_HANDLE hSession);
04576 
04577 
04588 CK_RV  C_CancelFunction( CK_SESSION_HANDLE hSession);
04589 
04590 

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