![]() | Cryptographic Token Interface Standard |
PKCS#11 |
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 04592 #define CKA_MODULUS 04593 04595 #define CKA_MODULUS_BITS 04596 04598 #define CKA_PUBLIC_EXPONENT 04599 04600 04601 04603 #define CKA_MODULUS 04604 04606 #define CKA_PUBLIC_EXPONENT 04607 04609 #define CKA_PRIVATE_EXPONENT 04610 04612 #define CKA_PRIME_1 04613 04615 #define CKA_PRIME_2 04616 04618 #define CKA_EXPONENT_1 04619 04621 #define CKA_EXPONENT_2 04622 04624 #define CKA_COEFFICIENT 04625 04626 04627 04635 typedef CK_ULONG CK_RSA_PKCS_MGF_TYPE; 04636 04637 04639 typedef CK_RSA_PKCS_MGF_TYPE CK_PTR CK_RSA_PKCS_MGF_TYPE_PTR; 04646 typedef CK_ULONG CK_RSA_PKCS_OAEP_SOURCE_TYPE; 04647 04648 04650 typedef CK_RSA_PKCS_OAEP_SOURCE_TYPE CK_PTR CK_RSA_PKCS_OAEP_SOURCE_TYPE_PTR; 04651 04652 04671 typedef struct CK_RSA_PKCS_OAEP_PARAMS { 04673 CK_MECHANISM_TYPE hashAlg; 04675 CK_RSA_PKCS_MGF_TYPE mgf; 04677 CK_RSA_PKCS_OAEP_SOURCE_TYPE source; 04679 CK_VOID_PTR pSourceData; 04681 CK_ULONG ulSourceDataLen; 04682 } CK_RSA_PKCS_OAEP_PARAMS; 04683 04684 04686 typedef CK_RSA_PKCS_OAEP_PARAMS CK_PTR CK_RSA_PKCS_OAEP_PARAMS_PTR; 04687 04688 04705 typedef struct CK_RSA_PKCS_PSS_PARAMS { 04707 CK_MECHANISM_TYPE hashAlg; 04709 CK_RSA_PKCS_MGF_TYPE mgf; 04711 CK_ULONG sLen; 04712 } CK_RSA_PKCS_PSS_PARAMS; 04713 04714 04716 typedef CK_RSA_PKCS_PSS_PARAMS CK_PTR CK_RSA_PKCS_PSS_PARAMS_PTR; 04717 04718 04720 #define CKA_PRIME 04721 04723 #define CKA_SUBPRIME 04724 04726 #define CKA_BASE 04727 04729 #define CKA_VALUE 04730 04731 04732 04734 #define CKA_PRIME 04735 04737 #define CKA_SUBPRIME 04738 04740 #define CKA_BASE 04741 04743 #define CKA_VALUE 04744 04745 04746 04748 #define CKA_PRIME 04749 04751 #define CKA_SUBPRIME 04752 04754 #define CKA_BASE 04755 04757 #define CKA_PRIME_BITS 04758 04759 04760 04762 #define CKA_EC_PARAMS 04763 04765 #define CKA_EC_POINT 04766 04767 04768 04770 #define CKA_EC_PARAMS 04771 04773 #define CKA_VALUE 04774 04775 04776 04784 typedef CK_ULONG CK_EC_KDF_TYPE; 04785 04786 04788 typedef CK_EC_KDF_TYPE CK_PTR CK_EC_KDF_TYPE_PTR; 04789 04790 04825 typedef struct CK_ECDH1_DERIVE_PARAMS { 04827 CK_EC_KDF_TYPE kdf; 04829 CK_ULONG ulSharedDataLen; 04831 CK_BYTE_PTR pSharedData; 04833 CK_ULONG ulPublicDataLen; 04835 CK_BYTE_PTR pPublicData; 04836 } CK_ECDH1_DERIVE_PARAMS; 04837 04838 04840 typedef CK_ECDH1_DERIVE_PARAMS CK_PTR CK_ECDH1_DERIVE_PARAMS_PTR; 04841 04842 04873 typedef struct CK_ECMQV_DERIVE_PARAMS { 04875 CK_EC_KDF_TYPE kdf; 04877 CK_ULONG ulSharedDataLen; 04879 CK_BYTE_PTR pSharedData; 04881 CK_ULONG ulPublicDataLen; 04883 CK_BYTE_PTR pPublicData; 04885 CK_ULONG ulPrivateDataLen; 04887 CK_OBJECT_HANDLE hPrivateData; 04889 CK_ULONG ulPublicDataLen2; 04891 CK_BYTE_PTR pPublicData2; 04893 CK_OBJECT_HANDLE publicKey; 04894 } CK_ECMQV_DERIVE_PARAMS; 04895 04896 04898 typedef CK_ECMQV_DERIVE_PARAMS CK_PTR CK_ECMQV_DERIVE_PARAMS_PTR; 04899 04900 04902 #define CKA_PRIME 04903 04905 #define CKA_BASE 04906 04908 #define CKA_VALUE 04909 04910 04911 04913 #define CKA_PRIME 04914 04916 #define CKA_BASE 04917 04919 #define CKA_SUBPRIME 04920 04922 #define CKA_VALUE 04923 04924 04925 04927 #define CKA_PRIME 04928 04930 #define CKA_BASE 04931 04933 #define CKA_VALUE 04934 04936 #define CKA_VALUE_BITS 04937 04938 04939 04941 #define CKA_PRIME 04942 04944 #define CKA_BASE 04945 04947 #define CKA_SUBPRIME 04948 04950 #define CKA_VALUE 04951 04952 04953 04955 #define CKA_PRIME 04956 04958 #define CKA_BASE 04959 04961 #define CKA_PRIME_BITS 04962 04963 04964 04966 #define CKA_PRIME 04967 04969 #define CKA_BASE 04970 04972 #define CKA_SUBPRIME 04973 04975 #define CKA_PRIME_BITS 04976 04978 #define CKA_SUBPRIME_BITS 04979 04980 04981 04989 typedef CK_ULONG CK_X9_42_DH_KDF_TYPE; 04990 04991 04993 typedef CK_X9_42_DH_KDF_TYPE CK_PTR CK_X9_42_DH_KDF_TYPE_PTR; 04994 04995 05037 typedef struct CK_X9_42_DH1_DERIVE_PARAMS { 05039 CK_X9_42_DH_KDF_TYPE kdf; 05041 CK_ULONG ulOtherInfoLen; 05043 CK_BYTE_PTR pOtherInfo; 05045 CK_ULONG ulPublicDataLen; 05047 CK_BYTE_PTR pPublicData; 05048 } CK_X9_42_DH1_DERIVE_PARAMS; 05049 05050 05052 typedef CK_X9_42_DH1_DERIVE_PARAMS CK_PTR CK_X9_42_DH1_DERIVE_PARAMS_PTR; 05053 05054 05100 typedef struct CK_X9_42_DH2_DERIVE_PARAMS { 05102 CK_X9_42_DH_KDF_TYPE kdf; 05104 CK_ULONG ulOtherInfoLen; 05106 CK_BYTE_PTR pOtherInfo; 05108 CK_ULONG ulPublicDataLen; 05110 CK_BYTE_PTR pPublicData; 05112 CK_ULONG ulPrivateDataLen; 05114 CK_OBJECT_HANDLE hPrivateData; 05116 CK_ULONG ulPublicDataLen2; 05118 CK_BYTE_PTR pPublicData2; 05119 } CK_X9_42_DH2_DERIVE_PARAMS; 05120 05121 05123 typedef CK_X9_42_DH2_DERIVE_PARAMS CK_PTR CK_X9_42_DH2_DERIVE_PARAMS_PTR; 05124 05125 05161 typedef struct CK_X9_42_MQV_DERIVE_PARAMS { 05163 CK_X9_42_DH_KDF_TYPE kdf; 05165 CK_ULONG ulOtherInfoLen; 05167 CK_BYTE_PTR pOtherInfo; 05169 CK_ULONG ulPublicDataLen; 05171 CK_BYTE_PTR pPublicData; 05173 CK_ULONG ulPrivateDataLen; 05175 CK_OBJECT_HANDLE hPrivateData; 05177 CK_ULONG ulPublicDataLen2; 05179 CK_BYTE_PTR pPublicData2; 05181 CK_OBJECT_HANDLE publicKey; 05182 } CK_X9_42_MQV_DERIVE_PARAMS; 05183 05184 05186 typedef CK_X9_42_MQV_DERIVE_PARAMS CK_PTR CK_X9_42_MQV_DERIVE_PARAMS_PTR; 05187 05188 05190 #define CKA_VALUE 05191 05193 #define CKA_VALUE_LEN 05194 05195 05196 05198 #define CKA_VALUE 05199 05201 #define CKA_VALUE_LEN 05202 05203 05204 05205 05206 05246 typedef struct CK_AES_CTR_PARAMS { 05247 CK_ULONG ulCounterBits; 05248 CK_BYTE cb[16]; 05249 } CK_AES_CTR_PARAMS; 05250 05251 05252 05253 05278 typedef struct CK_GCM_PARAMS { 05280 CK_BYTE_PTR pIv; 05282 CK_ULONG ulIvLen; 05284 CK_BYTE_PTR pAAD; 05286 CK_ULONG ulAADLen; 05288 CK_ULONG ulTagBits; 05289 } CK_GCM_PARAMS; 05290 05291 05293 typedef CK_GCM_PARAMS CK_PTR CK_GCM_PARAMS_PTR; 05294 05295 05313 typedef struct CK_CCM_PARAMS { 05315 CK_ULONG ulDataLen; /*plaintext or ciphertext*/ 05317 CK_BYTE_PTR pNonce; 05319 CK_ULONG ulNonceLen; 05321 CK_BYTE_PTR pAAD; 05323 CK_ULONG ulAADLen; 05325 CK_ULONG ulMACLen; 05326 } CK_CCM_PARAMS; 05327 05328 05330 typedef CK_CCM_PARAMS CK_PTR CK_CCM_PARAMS_PTR; 05331 05332 05333 05334 05426 typedef struct CK_DES_CBC_ENCRYPT_DATA_PARAMS { 05427 CK_BYTE iv[8]; 05428 CK_BYTE_PTR pData; 05429 CK_ULONG length; 05430 } CK_DES_CBC_ENCRYPT_DATA_PARAMS; 05434 typedef CK_DES_CBC_ENCRYPT_DATA_PARAMS * CK_DES_CBC_ENCRYPT_DATA_PARAMS_PTR; 05435 05436 05441 typedef struct CK_AES_CBC_ENCRYPT_DATA_PARAMS { 05442 CK_BYTE iv[16]; 05443 CK_BYTE_PTR pData; 05444 CK_ULONG length; 05445 } CK_AES_CBC_ENCRYPT_DATA_PARAMS; 05446 05447 05451 typedef CK_AES_CBC_ENCRYPT_DATA_PARAMS CK_PTR 05452 CK_AES_CBC_ENCRYPT_DATA_PARAMS_PTR; 05453 05454 05456 #define CKA_VALUE 05457 05458 05459 05461 #define CKA_VALUE 05462 05463 05464 05465 05466 05499 typedef struct CK_PBE_PARAMS { 05501 CK_BYTE_PTR pInitVector; 05503 CK_UTF8CHAR_PTR pPassword; 05505 CK_ULONG ulPasswordLen; 05507 CK_BYTE_PTR pSalt; 05509 CK_ULONG ulSaltLen; 05511 CK_ULONG ulIteration; 05512 } CK_PBE_PARAMS; 05513 05514 05516 typedef CK_PBE_PARAMS CK_PTR CK_PBE_PARAMS_PTR; 05523 typedef CK_ULONG CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE; 05524 05525 05527 typedef CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE CK_PTR CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE_PTR; 05534 typedef CK_ULONG CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE; 05535 05536 05538 typedef CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE CK_PTR CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE_PTR; 05539 05540 05563 typedef struct CK_PKCS5_PBKD2_PARAMS { 05565 CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE saltSource; 05567 CK_VOID_PTR pSaltSourceData; 05569 CK_ULONG ulSaltSourceDataLen; 05571 CK_ULONG iterations; 05573 CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE prf; 05575 CK_VOID_PTR pPrfData; 05576 CK_ULONG ulPrfDataLen;CK_UTF8CHAR_PTR pPassword; 05578 CK_ULONG_PTR ulPasswordLen; 05579 } CK_PKCS5_PBKD2_PARAMS; 05580 05581 05583 typedef CK_PKCS5_PBKD2_PARAMS CK_PTR CK_PKCS5_PBKD2_PARAMS_PTR; 05584 05585 05586 05587 05611 typedef struct CK_SSL3_RANDOM_DATA { 05613 CK_BYTE_PTR pClientRandom; 05615 CK_ULONG ulClientRandomLen; 05617 CK_BYTE_PTR pServerRandom; 05619 CK_ULONG ulServerRandomLen; 05620 } CK_SSL3_RANDOM_DATA; 05621 05622 05623 05624 05655 typedef struct CK_SSL3_MASTER_KEY_DERIVE_PARAMS { 05657 CK_SSL3_RANDOM_DATA RandomInfo; 05659 CK_VERSION_PTR pVersion; 05660 } CK_SSL3_MASTER_KEY_DERIVE_PARAMS; 05661 05662 05664 typedef CK_SSL3_MASTER_KEY_DERIVE_PARAMS CK_PTR CK_SSL3_MASTER_KEY_DERIVE_PARAMS_PTR; 05665 05666 05695 typedef struct CK_SSL3_KEY_MAT_OUT { 05697 CK_OBJECT_HANDLE hClientMacSecret; 05699 CK_OBJECT_HANDLE hServerMacSecret; 05701 CK_OBJECT_HANDLE hClientKey; 05703 CK_OBJECT_HANDLE hServerKey; 05705 CK_BYTE_PTR pIVClient; 05707 CK_BYTE_PTR pIVServer; 05708 } CK_SSL3_KEY_MAT_OUT; 05709 05710 05712 typedef CK_SSL3_KEY_MAT_OUT CK_PTR CK_SSL3_KEY_MAT_OUT_PTR; 05713 05714 05734 typedef struct CK_SSL3_KEY_MAT_PARAMS { 05736 CK_ULONG ulMacSizeInBits; 05738 CK_ULONG ulKeySizeInBits; 05740 CK_ULONG ulIVSizeInBits; 05742 CK_BBOOL bIsExport; 05744 CK_SSL3_RANDOM_DATA RandomInfo; 05746 CK_SSL3_KEY_MAT_OUT_PTR pReturnedKeyMaterial; 05747 } CK_SSL3_KEY_MAT_PARAMS; 05748 05749 05751 typedef CK_SSL3_KEY_MAT_PARAMS CK_PTR CK_SSL3_KEY_MAT_PARAMS_PTR; 05752 05753 05754 05755 05795 typedef struct CK_TLS_PRF_PARAMS { 05796 CK_BYTE_PTR pSeed; 05797 CK_ULONG ulSeedLen; 05798 CK_BYTE_PTR pLabel; 05799 CK_ULONG ulLabelLen; 05800 CK_BYTE_PTR pOutput; 05801 CK_ULONG_PTR pulOutputLen; 05802 } CK_TLS_PRF_PARAMS; 05803 05804 05806 typedef CK_TLS_PRF_PARAMS CK_PTR CK_TLS_PRF_PARAMS_PTR; 05807 05808 05809 05810 05851 typedef struct CK_WTLS_RANDOM_DATA { 05852 CK_BYTE_PTR pClientRandom; 05853 CK_ULONG ulClientRandomLen; 05854 CK_BYTE_PTR pServerRandom; 05855 CK_ULONG ulServerRandomLen; 05856 } CK_WTLS_RANDOM_DATA; 05857 05858 05860 typedef CK_WTLS_RANDOM_DATA CK_PTR CK_WTLS_RANDOM_DATA_PTR ; 05861 05862 05902 typedef struct CK_WTLS_MASTER_KEY_DERIVE_PARAMS { 05903 CK_MECHANISM_TYPE DigestMechanism; 05904 CK_WTLS_RANDOM_DATA RandomInfo; 05905 CK_BYTE_PTR pVersion; 05906 } CK_WTLS_MASTER_KEY_DERIVE_PARAMS; 05907 05908 05910 typedef CK_WTLS_MASTER_KEY_DERIVE_PARAMS CK_PTR CK_WTLS_MASTER_KEY_DERIVE_PARAMS_PTR ; 05911 05912 05969 typedef struct CK_WTLS_PRF_PARAMS { 05970 CK_MECHANISM_TYPE DigestMechanism; 05971 CK_BYTE_PTR pSeed; 05972 CK_ULONG ulSeedLen; 05973 CK_BYTE_PTR pLabel; 05974 CK_ULONG ulLabelLen; 05975 CK_BYTE_PTR pOutput; 05976 CK_ULONG_PTR pulOutputLen; 05977 } CK_WTLS_PRF_PARAMS; 05978 05979 05981 typedef CK_WTLS_PRF_PARAMS CK_PTR CK_WTLS_PRF_PARAMS_PTR ; 05982 05983 06026 typedef struct CK_WTLS_KEY_MAT_OUT { 06027 CK_OBJECT_HANDLE hMacSecret; 06028 CK_OBJECT_HANDLE hKey; 06029 CK_BYTE_PTR pIV; 06030 } CK_WTLS_KEY_MAT_OUT; 06031 06032 06034 typedef CK_WTLS_KEY_MAT_OUT CK_PTR CK_WTLS_KEY_MAT_OUT_PTR ; 06035 06036 06100 typedef struct CK_WTLS_KEY_MAT_PARAMS { 06101 CK_MECHANISM_TYPE DigestMechanism; 06102 CK_ULONG ulMacSizeInBits; 06103 CK_ULONG ulKeySizeInBits; 06104 CK_ULONG ulIVSizeInBits; 06105 CK_ULONG ulSequenceNumber; 06106 CK_BBOOL bIsExport; 06107 CK_WTLS_RANDOM_DATA RandomInfo; 06108 CK_WTLS_KEY_MAT_OUT_PTR pReturnedKeyMaterial; 06109 } CK_WTLS_KEY_MAT_PARAMS; 06110 06111 06113 typedef CK_WTLS_KEY_MAT_PARAMS CK_PTR CK_WTLS_KEY_MAT_PARAMS_PTR ; 06114 06115 06116 06117 06140 typedef struct CK_KEY_DERIVATION_STRING_DATA { 06142 CK_BYTE_PTR pData; 06144 CK_ULONG ulLen; 06145 } CK_KEY_DERIVATION_STRING_DATA; 06146 06147 06156 typedef CK_ULONG CK_EXTRACT_PARAMS; 06157 06158 06160 typedef CK_EXTRACT_PARAMS CK_PTR CK_EXTRACT_PARAMS_PTR; 06161 06162 06164 #define CKA_REQUIRED_CMS_ATTRIBUTES 06165 06167 #define CKA_DEFAULT_CMS_ATTRIBUTES 06168 06170 #define CKA_SUPPORTED_CMS_ATTRIBUTES 06171 06172 06173 06174 06175 06191 typedef struct CK_CMS_SIG_PARAMS { 06192 CK_OBJECT_HANDLEcertificateHandle; 06193 CK_MECHANISM_PTRpSigningMechanism; 06194 CK_MECHANISM_PTRpDigestMechanism; 06195 CK_UTF8CHAR_PTRpContentType; 06196 CK_BYTE_PTRpRequestedAttributes; 06197 CK_ULONGulRequestedAttributesLen; 06198 CK_BYTE_PTRpRequiredAttributes; 06199 CK_ULONGulRequiredAttributesLen; 06200 } CK_CMS_SIG_PARAMS; 06201 06202 06204 #define CKA_VALUE 06205 06207 #define CKA_VALUE_LEN 06208 06209 06210 06212 #define CKA_VALUE 06213 06215 #define CKA_VALUE_LEN 06216 06217 06218 06220 #define CKA_VALUE 06221 06223 #define CKA_VALUE_LEN 06224 06225 06226 06227 06228 06233 typedef struct CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS { 06234 CK_BYTE iv[16]; 06235 CK_BYTE_PTR pData; 06236 CK_ULONG length; 06237 } CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS; 06238 06239 06243 typedef CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS CK_PTR 06244 CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS_PTR; 06245 06246 06248 #define CKA_VALUE 06249 06251 #define CKA_VALUE_LEN 06252 06253 06254 06255 06256 06261 typedef struct CK_ARIA_CBC_ENCRYPT_DATA_PARAMS { 06262 CK_BYTE iv[16]; 06263 CK_BYTE_PTR pData; 06264 CK_ULONG length; 06265 } CK_ARIA_CBC_ENCRYPT_DATA_PARAMS; 06266 06267 06271 typedef CK_ARIA_CBC_ENCRYPT_DATA_PARAMS CK_PTR 06272 CK_ARIA_CBC_ENCRYPT_DATA_PARAMS_PTR; 06273 06274 06276 #define CKA_VALUE 06277 06278 06279 06280 06281 06286 typedef struct CK_SEED_CBC_ENCRYPT_DATA_PARAMS CK_CBC_ENCRYPT_DATA_PARAMS; 06287 06288 06292 typedef CK_CBC_ENCRYPT_DATA_PARAMS CK_PTR 06293 CK_CBC_ENCRYPT_DATA_PARAMS_PTR; 06294 06295 06297 #define CKA_OTP_FORMAT 06298 06300 #define CKA_OTP_LENGTH 06301 06303 #define CKA_OTP_USER_FRIENDLY_MODE 06304 06306 #define CKA_OTP_CHALLENGE_REQUIREMENT 06307 06309 #define CKA_OTP_TIME_REQUIREMENT 06310 06312 #define CKA_OTP_COUNTER_REQUIREMENT 06313 06315 #define CKA_OTP_PIN_REQUIREMENT 06316 06318 #define CKA_OTP_COUNTER 06319 06321 #define CKA_OTP_TIME 06322 06324 #define CKA_OTP_USER_IDENTIFIER 06325 06327 #define CKA_OTP_SERVICE_IDENTIFIER 06328 06330 #define CKA_OTP_SERVICE_LOGO 06331 06333 #define CKA_OTP_SERVICE_LOGO_TYPE 06334 06336 #define CKA_VALUE 06337 06339 #define CKA_VALUE_LEN 06340 06346 typedef CK_ULONG CK_PARAM_TYPE; 06347 06348 06350 #define CK_OTP_PIN 06351 06353 #define CK_OTP_CHALLENGE 06354 06356 #define CK_OTP_TIME 06357 06359 #define CK_OTP_COUNTER 06360 06362 #define CK_OTP_FLAGS 06363 06365 #define CK_OTP_OUTPUT_LENGTH 06366 06368 #define CK_OTP_FORMAT 06369 06371 #define CK_OTP_VALUE 06372 06374 #define CKF_NEXT_OTP 06375 06377 #define CKF_EXCLUDE_TIME 06378 06380 #define CKF_EXCLUDE_COUNTER 06381 06383 #define CKF_EXCLUDE_CHALLENGE 06384 06386 #define CKF_EXCLUDE_PIN 06387 06389 #define CKF_USER_FRIENDLY_OTP 06390 06391 06392 06419 typedef struct CK_OTP_PARAM { 06420 CK_PARAM_TYPE type; 06421 CK_VOID_PTR pValue; 06422 CK_ULONGulValueLen; 06423 } CK_OTP_PARAM; 06424 06425 06427 typedef CK_OTP_PARAM CK_PTR CK_OTP_PARAM_PTR; 06428 06429 06467 typedef struct CK_OTP_PARAMS { 06469 CK_OTP_PARAM_PTR pParams; 06471 CK_ULONG ulCount; 06472 } CK_OTP_PARAMS; 06473 06474 06476 typedef CK_OTP_PARAMS CK_PTR CK_OTP_PARAMS_PTR; 06477 06478 06479 06480 06530 typedef struct CK_OTP_SIGNATURE_INFO { 06532 CK_OTP_PARAM_PTR pParams; 06534 CK_ULONG ulCount; 06535 } CK_OTP_SIGNATURE_INFO; 06536 06537 06539 #define CKA_OTP_TIME_INTERVAL 06540 06541 06542 06544 #define CKR_NEW_PIN_MODE 06545 06547 #define CKR_NEXT_OTP 06548 06549 06550 06551 06552 06571 typedef struct CK_KIP_PARAMS { 06573 CK_MECHANISM_PTR pMechanism; 06575 CK_OBJECT_HANDLE hKey; 06577 CK_BYTE_PTR pSeed; 06579 CK_ULONG ulSeedLen; 06580 } CK_KIP_PARAMS; 06581 06582 06584 #define CKA_VALUE 06585 06587 #define CKA_GOST28147_PARAMS 06588 06589 06590 06592 #define CKA_VALUE 06593 06595 #define CKA_OBJECT_ID 06596 06597 06598 06600 #define CKA_VALUE 06601 06603 #define CKA_OBJECT_ID 06604 06605 06606 06608 #define CKA_VALUE 06609 06611 #define CKA_GOSTR3410PARAMS 06612 06614 #define CKA_GOSTR3411PARAMS 06615 06617 #define CKA_GOST28147_PARAMS 06618 06619 06620 06622 #define CKA_VALUE 06623 06625 #define CKA_GOSTR3410PARAMS 06626 06628 #define CKA_GOSTR3411PARAMS 06629 06631 #define CKA_GOST28147_PARAMS4 06632 06633 06634 06636 #define CKA_VALUE 06637 06639 #define CKA_OBJECT_ID 06640 06641 06642 06643 06644 06705 typedef struct CK_GOSTR3410_KEY_WRAP_PARAMS { 06706 CK_BYTE_PTR pWrapOID; 06707 CK_ULONG ulWrapOIDLen; 06708 CK_BYTE_PTR pUKM; 06709 CK_ULONG ulUKMLen; 06710 CK_OBJECT_HANDLE hKey; 06711 } CK_GOSTR3410_KEY_WRAP_PARAMS; 06712 06713 06714 06715 06746 typedef struct CK_GOSTR3410_DERIVE_PARAMS { 06747 CK_EC_KDF_TYPE kdf; 06748 CK_BYTE_PTR pPublicData; 06749 CK_ULONG ulPublicDataLen; 06750 CK_BYTE_PTR pUKM; 06751 CK_ULONG ulUKMLen; 06752 } CK_GOSTR3410_DERIVE_PARAMS; 06753 06754 06755 06756 06787 typedef struct CK_KEA_DERIVE_PARAMS { 06789 CK_BBOOL isSender; 06791 CK_ULONG ulRandomLen; 06793 CK_BYTE_PTR pRandomA; 06795 CK_BYTE_PTR pRandomB; 06797 CK_ULONG ulPublicDataLen; 06799 CK_BYTE_PTR pPublicData; 06800 } CK_KEA_DERIVE_PARAMS; 06801 06802 06804 typedef CK_KEA_DERIVE_PARAMS CK_PTR CK_KEA_DERIVE_PARAMS_PTR; 06806 #define CKA_PRIME 06807 06809 #define CKA_SUBPRIME 06810 06812 #define CKA_BASE 06813 06815 #define CKA_VALUE 06816 06817 06818 06820 #define CKA_PRIME 06821 06823 #define CKA_SUBPRIME 06824 06826 #define CKA_BASE 06827 06829 #define CKA_VALUE 06830 06831 06832 06834 #define CKA_VALUE 06835 06837 #define CKA_VALUE_LEN 06838 06839 06840 06849 typedef CK_ULONG CK_RC2_PARAMS; 06850 06851 06853 typedef CK_RC2_PARAMS CK_PTR CK_RC2_PARAMS_PTR; 06854 06855 06880 typedef struct CK_RC2_CBC_PARAMS { 06882 CK_ULONG ulEffectiveBits; 06884 CK_BYTE iv[8]; 06885 } CK_RC2_CBC_PARAMS; 06886 06887 06889 typedef CK_RC2_CBC_PARAMS CK_PTR CK_RC2_CBC_PARAMS_PTR; 06890 06891 06907 typedef struct CK_RC2_MAC_GENERAL_PARAMS { 06909 CK_ULONG ulEffectiveBits; 06911 CK_ULONG ulMacLength; 06912 } CK_RC2_MAC_GENERAL_PARAMS; 06913 06914 06916 typedef CK_RC2_MAC_GENERAL_PARAMS CK_PTR CK_RC2_MAC_GENERAL_PARAMS_PTR; 06917 06918 06920 #define CKA_VALUE 06921 06923 #define CKA_VALUE_LEN 06924 06925 06926 06928 #define CKA_VALUE 06929 06931 #define CKA_VALUE_LEN 06932 06933 06934 06935 06936 06961 typedef struct CK_RC5_PARAMS { 06963 CK_ULONG ulWordsize; 06965 CK_ULONG ulRounds; 06966 } CK_RC5_PARAMS; 06967 06968 06970 typedef CK_RC5_PARAMS CK_PTR CK_RC5_PARAMS_PTR; 06971 06972 06999 typedef struct CK_RC5_CBC_PARAMS { 07001 CK_ULONG ulWordsize; 07003 CK_ULONG ulRounds; 07005 CK_BYTE_PTR pIv; 07007 CK_ULONG ulIvLen; 07008 } CK_RC5_CBC_PARAMS; 07009 07010 07012 typedef CK_RC5_CBC_PARAMS CK_PTR CK_RC5_CBC_PARAMS_PTR; 07013 07014 07031 typedef struct CK_RC5_MAC_GENERAL_PARAMS { 07033 CK_ULONG ulWordsize; 07035 CK_ULONG ulRounds; 07037 CK_ULONG ulMacLength; 07038 } CK_RC5_MAC_GENERAL_PARAMS; 07039 07040 07042 typedef CK_RC5_MAC_GENERAL_PARAMS CK_PTR CK_RC5_MAC_GENERAL_PARAMS_PTR; 07043 07044 07046 #define CKA_VALUE 07047 07048 07049 07051 #define CKA_VALUE 07052 07054 #define CKA_VALUE_LEN 07055 07056 07057 07059 #define CKA_VALUE 07060 07062 #define CKA_VALUE_LEN 07063 07064 07065 07067 #define CKA_VALUE 07068 07070 #define CKA_VALUE_LEN 07071 07072 07073 07075 #define CKA_VALUE 07076 07077 07078 07080 #define CKA_VALUE 07081 07082 07083 07094 typedef CK_ULONG CK_MAC_GENERAL_PARAMS; 07095 07096 07098 typedef CK_MAC_GENERAL_PARAMS CK_PTR CK_MAC_GENERAL_PARAMS_PTR; 07099 07100 07102 #define CKA_VALUE 07103 07104 07105 07106 07107 07141 typedef struct CK_SKIPJACK_PRIVATE_WRAP_PARAMS { 07143 CK_ULONG ulPasswordLen; 07145 CK_BYTE_PTR pPassword; 07147 CK_ULONG ulPublicDataLen; 07149 CK_BYTE_PTR pPublicData; 07151 CK_ULONG ulPandGLen; 07153 CK_ULONG ulQLen; 07155 CK_ULONG ulRandomLen; 07157 CK_BYTE_PTR pRandomA; 07159 CK_BYTE_PTR pPrimeP; 07161 CK_BYTE_PTR pBaseG; 07163 CK_BYTE_PTR pSubprimeQ; 07164 } CK_SKIPJACK_PRIVATE_WRAP_PARAMS; 07165 07166 07168 typedef CK_PRIVATE_WRAP_PARAMS CK_PTR CK_SKIPJACK_PRIVATE_WRAP_PARAMS_PTR; 07169 07170 07198 typedef struct CK_SKIPJACK_RELAYX_PARAMS { 07200 CK_ULONG ulOldWrappedXLen; 07202 CK_BYTE_PTR pOldWrappedX; 07204 CK_ULONG ulOldPasswordLen; 07206 CK_BYTE_PTR pOldPassword; 07208 CK_ULONG ulOldPublicDataLen; 07210 CK_BYTE_PTR pOldPublicData; 07212 CK_ULONG ulOldRandomLen; 07214 CK_BYTE_PTR pOldRandomA; 07216 CK_ULONG ulNewPasswordLen; 07218 CK_BYTE_PTR pNewPassword; 07220 CK_ULONG ulNewPublicDataLen; 07222 CK_BYTE_PTR pNewPublicData; 07224 CK_ULONG ulNewRandomLen; 07226 CK_BYTE_PTR pNewRandomA; 07227 } CK_SKIPJACK_RELAYX_PARAMS; 07228 07229 07231 typedef CK_SKIPJACK_RELAYX_PARAMS CK_PTR CK_SKIPJACK_RELAYX_PARAMS_PTR; 07232 07233 07235 #define CKA_VALUE 07236 07237 07238 07240 #define CKA_VALUE 07241 07242 07243 07244 07245 07278 typedef struct CK_PBE_PARAMS { 07280 CK_BYTE_PTR pInitVector; 07282 CK_UTF8CHAR_PTR pPassword; 07284 CK_ULONG ulPasswordLen; 07286 CK_BYTE_PTR pSalt; 07288 CK_ULONG ulSaltLen; 07290 CK_ULONG ulIteration; 07291 } CK_PBE_PARAMS; 07292 07293 07295 typedef CK_PBE_PARAMS CK_PTR CK_PBE_PARAMS_PTR; 07296 07297 07298 07299 07316 typedef struct CK_KEY_WRAP_SET_OAEP_PARAMS { 07318 CK_BYTE bBC; 07320 CK_BYTE_PTR pX; 07322 CK_ULONG ulXLen; 07323 } CK_KEY_WRAP_SET_OAEP_PARAMS; 07324 07325 07327 typedef CK_KEY_WRAP_SET_OAEP_PARAMS CK_PTR CK_KEY_WRAP_SET_OAEP_PARAMS_PTR; 07328 07329