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 32 bits long */
00062 typedef unsigned long int CK_ULONG;
00063 /* a signed value, the same size as a CK_ULONG */
00067 typedef long int CK_LONG;
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_ULONG CK_PTR CK_ULONG_PTR;
00082 typedef void CK_PTR CK_VOID_PTR;
00083 
00084 
00086 typedef CK_VOID_PTR CK_PTR CK_VOID_PTR_PTR;
00087 
00088 
00090 typedef NULL CK_PTR NULL_PTR;
00091 
00092 
00096 typedef CK_BYTE CK_PTR CK_BYTE_PTR;
00097 
00098 
00099 typedef CK_DECLARE_FUNCTION_POINTER(CK_RV, myC_InitializeType)(
00100 CK_VOID_PTR pReserved
00101 );
00102 myC_InitializeType myC_Initialize;
00103 
00104 
00117 typedef CK_CALLBACK_FUNCTION(CK_RV, myCallbackType)(args);
00118 myCallbackType myCallback;
00119 
00120 
00121 
00122 
00148 typedef struct CK_VERSION {
00150 CK_BYTE major;
00152 CK_BYTE minor;
00153 } CK_VERSION;
00154 
00155 
00157 typedef CK_VERSION CK_PTR CK_VERSION_PTR;
00158 
00159 
00200 typedef struct CK_INFO {
00202 CK_VERSION cryptokiVersion;
00204 CK_CHAR manufacturerID[32];
00206 CK_FLAGS flags;
00208 CK_CHAR libraryDescription[32];
00210 CK_VERSION libraryVersion;
00211 } CK_INFO;
00212 
00213 
00215 typedef CK_INFO CK_PTR CK_INFO_PTR;
00221 typedef CK_ULONG CK_NOTIFICATION;
00222 
00223 
00229 typedef CK_ULONG CK_SLOT_ID;
00230 
00231 
00233 typedef CK_SLOT_ID CK_PTR CK_SLOT_ID_PTR;
00234 
00235 
00294 typedef struct CK_SLOT_INFO {
00296 CK_CHAR slotDescription[64];
00298 CK_CHAR manufacturerID[32];
00300 CK_FLAGS flags;
00302 CK_VERSION hardwareVersion;
00304 CK_VERSION firmwareVersion;
00305 } CK_SLOT_INFO;
00306 
00307 
00309 #define CKF_TOKEN_PRESENT 0x00000001
00310 
00312 #define CKF_REMOVABLE_DEVICE 0x00000002
00313 
00315 #define CKF_HW_SLOT 0x00000004
00316 
00318 typedef CK_SLOT_INFO CK_PTR CK_SLOT_INFO_PTR;
00319 
00320 
00452 typedef struct CK_TOKEN_INFO {
00454 CK_CHAR label[32];
00456 CK_CHAR manufacturerID[32];
00458 CK_CHAR model[16];
00460 CK_CHAR serialNumber[16];
00462 CK_FLAGS flags;
00464 CK_ULONG ulMaxSessionCount;
00466 CK_ULONG ulSessionCount;
00468 CK_ULONG ulMaxRwSessionCount;
00470 CK_ULONG ulRwSessionCount;
00472 CK_ULONG ulMaxPinLen;
00474 CK_ULONG ulMinPinLen;
00476 CK_ULONG ulTotalPublicMemory;
00478 CK_ULONG ulFreePublicMemory;
00480 CK_ULONG ulTotalPrivateMemory;
00482 CK_ULONG ulFreePrivateMemory;
00484 CK_VERSION hardwareVersion;
00486 CK_VERSION firmwareVersion;
00488 CK_CHAR utcTime[16];
00489 } CK_TOKEN_INFO;
00490 
00491 
00493 #define CKF_RNG 0x00000001
00494 
00496 #define CKF_WRITE_PROTECTED 0x00000002
00497 
00499 #define CKF_LOGIN_REQUIRED 0x00000004
00500 
00502 #define CKF_USER_PIN_INITIALIZED 0x00000008
00503 
00505 #define CKF_RESTORE_KEY_NOT_NEEDED 0x00000020
00506 
00508 #define CKF_CLOCK_ON_TOKEN 0x00000040
00509 
00511 #define CKF_PROTECTED_AUTHENTICATION_PATH 0x00000100
00512 
00514 #define CKF_DUAL_CRYPTO_OPERATIONS 0x00000200
00515 
00516 
00517 
00519 typedef CK_TOKEN_INFO CK_PTR CK_TOKEN_INFO_PTR;
00525 typedef CK_ULONG CK_SESSION_HANDLE;
00526 
00527 
00529 typedef CK_SESSION_HANDLE CK_PTR CK_SESSION_HANDLE_PTR;
00535 typedef CK_ULONG CK_USER_TYPE;
00536 
00537 
00543 typedef CK_ULONG CK_STATE;
00544 
00545 
00546 
00547 
00587 typedef struct CK_SESSION_INFO {
00589 CK_SLOT_ID slotID;
00591 CK_STATE state;
00593 CK_FLAGS flags;
00595 CK_ULONG ulDeviceError;
00596 } CK_SESSION_INFO;
00597 
00598 
00600 #define CKF_RW_SESSION 0x00000002
00601 
00603 #define CKF_SERIAL_SESSION 0x00000004
00604 
00606 typedef CK_SESSION_INFO CK_PTR CK_SESSION_INFO_PTR;
00612 typedef CK_ULONG CK_OBJECT_HANDLE;
00613 
00614 
00616 typedef CK_OBJECT_HANDLE CK_PTR CK_OBJECT_HANDLE_PTR;
00622 typedef CK_ULONG CK_OBJECT_CLASS;
00623 
00624 
00626 typedef CK_OBJECT_CLASS CK_PTR CK_OBJECT_CLASS_PTR;
00632 typedef CK_ULONG CK_KEY_TYPE;
00633 
00634 
00640 typedef CK_ULONG CK_CERTIFICATE_TYPE;
00641 
00642 
00648 typedef CK_ULONG CK_ATTRIBUTE_TYPE;
00649 
00650 
00651 
00652 
00683 typedef struct CK_ATTRIBUTE {
00685 CK_ATTRIBUTE_TYPE type;
00687 CK_VOID_PTR pValue;
00689 CK_ULONG ulValueLen;
00690 } CK_ATTRIBUTE;
00691 
00692 
00694 typedef CK_ATTRIBUTE CK_PTR CK_ATTRIBUTE_PTR;
00695 
00696 
00711 typedef struct CK_DATE {
00713 CK_CHAR year[4];
00715 CK_CHAR month[2];
00717 CK_CHAR day[2];
00718 } CK_DATE;
00719 
00720 
00726 typedef CK_ULONG CK_MECHANISM_TYPE;
00727 
00728 
00730 typedef CK_MECHANISM_TYPE CK_PTR CK_MECHANISM_TYPE_PTR;
00731 
00732 
00758 typedef struct CK_MECHANISM {
00760 CK_MECHANISM_TYPE mechanism;
00762 CK_VOID_PTR pParameter;
00764 CK_ULONG ulParameterLen;
00765 } CK_MECHANISM;
00766 
00767 
00769 typedef CK_MECHANISM CK_PTR CK_MECHANISM_PTR;
00770 
00771 
00873 typedef struct CK_MECHANISM_INFO {
00875 CK_ULONG ulMinKeySize;
00877 CK_ULONG ulMaxKeySize;
00879 CK_FLAGS flags;
00880 } CK_MECHANISM_INFO;
00881 
00882 
00884 #define CKF_HW 0x00000001
00885 
00887 #define CKF_ENCRYPT 0x00000100
00888 
00890 #define CKF_DECRYPT 0x00000200
00891 
00893 #define CKF_DIGEST 0x00000400
00894 
00896 #define CKF_SIGN 0x00000800
00897 
00899 #define CKF_SIGN_RECOVER 0x00001000
00900 
00902 #define CKF_VERIFY 0x00002000
00903 
00905 #define CKF_VERIFY_RECOVER 0x00004000
00906 
00908 #define CKF_GENERATE 0x00008000
00909 
00911 #define CKF_GENERATE_KEY_PAIR 0x00010000
00912 
00914 #define CKF_WRAP 0x00020000
00915 
00917 #define CKF_UNWRAP 0x00040000
00918 
00920 #define CKF_DERIVE 0x00080000
00921 
00923 #define CKF_EXTENSION 0x80000000
00924 
00926 typedef CK_MECHANISM_INFO CK_PTR CK_MECHANISM_INFO_PTR;
00932 typedef CK_ULONG CK_RV;
00933 
00934 
00940 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_NOTIFY)(
00941 CK_SESSION_HANDLE hSession,
00942 CK_NOTIFICATION event,
00943 CK_VOID_PTR pApplication
00944 );
00945 
00946 
00947 
00948 
00964 typedef struct CK_FUNCTION_LIST {
00965 CK_VERSION version;
00966 CK_C_Initialize C_Initialize;
00967 CK_C_Finalize C_Finalize;
00968 CK_C_GetInfo C_GetInfo;
00969 CK_C_GetFunctionList C_GetFunctionList;
00970 CK_C_GetSlotList C_GetSlotList;
00971 CK_C_GetSlotInfo C_GetSlotInfo;
00972 CK_C_GetTokenInfo C_GetTokenInfo;
00973 CK_C_GetMechanismList C_GetMechanismList;
00974 CK_C_GetMechanismInfo C_GetMechanismInfo;
00975 CK_C_InitToken C_InitToken;
00976 CK_C_InitPIN C_InitPIN;
00977 CK_C_SetPIN C_SetPIN;
00978 CK_C_OpenSession C_OpenSession;
00979 CK_C_CloseSession C_CloseSession;
00980 CK_C_CloseAllSessions C_CloseAllSessions;
00981 CK_C_GetSessionInfo C_GetSessionInfo;
00982 CK_C_GetOperationState C_GetOperationState;
00983 CK_C_SetOperationState C_SetOperationState;
00984 CK_C_Login C_Login;
00985 CK_C_Logout C_Logout;
00986 CK_C_CreateObject C_CreateObject;
00987 CK_C_CopyObject C_CopyObject;
00988 CK_C_DestroyObject C_DestroyObject;
00989 CK_C_GetObjectSize C_GetObjectSize;
00990 CK_C_GetAttributeValue C_GetAttributeValue;
00991 CK_C_SetAttributeValue C_SetAttributeValue;
00992 CK_C_FindObjectsInit C_FindObjectsInit;
00993 CK_C_FindObjects C_FindObjects;
00994 CK_C_FindObjectsFinal C_FindObjectsFinal;
00995 CK_C_EncryptInit C_EncryptInit;
00996 CK_C_Encrypt C_Encrypt;
00997 CK_C_EncryptUpdate C_EncryptUpdate;
00998 CK_C_EncryptFinal C_EncryptFinal;
00999 CK_C_DecryptInit C_DecryptInit;
01000 CK_C_Decrypt C_Decrypt;
01001 CK_C_DecryptUpdate C_DecryptUpdate;
01002 CK_C_DecryptFinal C_DecryptFinal;
01003 CK_C_DigestInit C_DigestInit;
01004 CK_C_Digest C_Digest;
01005 CK_C_DigestUpdate C_DigestUpdate;
01006 CK_C_DigestKey C_DigestKey;
01007 CK_C_DigestFinal C_DigestFinal;
01008 CK_C_SignInit C_SignInit;
01009 CK_C_Sign C_Sign;
01010 CK_C_SignUpdate C_SignUpdate;
01011 CK_C_SignFinal C_SignFinal;
01012 CK_C_SignRecoverInit C_SignRecoverInit;
01013 CK_C_SignRecover C_SignRecover;
01014 CK_C_VerifyInit C_VerifyInit;
01015 CK_C_Verify C_Verify;
01016 CK_C_VerifyUpdate C_VerifyUpdate;
01017 CK_C_VerifyFinal C_VerifyFinal;
01018 CK_C_VerifyRecoverInit C_VerifyRecoverInit;
01019 CK_C_VerifyRecover C_VerifyRecover;
01020 CK_C_DigestEncryptUpdate C_DigestEncryptUpdate;
01021 CK_C_DecryptDigestUpdate C_DecryptDigestUpdate;
01022 CK_C_SignEncryptUpdate C_SignEncryptUpdate;
01023 CK_C_DecryptVerifyUpdate C_DecryptVerifyUpdate;
01024 CK_C_GenerateKey C_GenerateKey;
01025 CK_C_GenerateKeyPair C_GenerateKeyPair;
01026 CK_C_WrapKey C_WrapKey;
01027 CK_C_UnwrapKey C_UnwrapKey;
01028 CK_C_DeriveKey C_DeriveKey;
01029 CK_C_SeedRandom C_SeedRandom;
01030 CK_C_GenerateRandom C_GenerateRandom;
01031 CK_C_GetFunctionStatus C_GetFunctionStatus;
01032 CK_C_CancelFunction C_CancelFunction;
01033 CK_C_WaitForSlotEvent C_WaitForSlotEvent;
01034 } CK_FUNCTION_LIST;
01035 
01036 
01038 typedef CK_FUNCTION_LIST CK_PTR CK_FUNCTION_LIST_PTR;
01040 typedef CK_FUNCTION_LIST_PTR CK_PTR CK_FUNCTION_LIST_PTR_PTR;
01047 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_CREATEMUTEX)(
01048 CK_VOID_PTR_PTR ppMutex
01049 );
01050 
01051 
01057 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_DESTROYMUTEX)(
01058 CK_VOID_PTR pMutex
01059 );
01060 
01061 
01065 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_LOCKMUTEX)(
01066 CK_VOID_PTR pMutex
01067 );
01068 
01069 
01073 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_UNLOCKMUTEX)(
01074 CK_VOID_PTR pMutex
01075 );
01076 
01077 
01078 
01079 
01126 typedef struct CK_C_INITIALIZE_ARGS {
01128 CK_CREATEMUTEX CreateMutex;
01130 CK_DESTROYMUTEX DestroyMutex;
01132 CK_LOCKMUTEX LockMutex;
01134 CK_UNLOCKMUTEX UnlockMutex;
01136 CK_FLAGS flags;
01138 CK_VOID_PTR pReserved;
01139 } CK_C_INITIALIZE_ARGS;
01140 
01141 
01143 #define CKF_LIBRARY_CANT_CREATE_OS_THREADS 0x00000001
01144 
01146 #define CKF_OS_LOCKING_OK 0x00000002
01147 
01149 typedef CK_C_INITIALIZE_ARGS CK_PTR CK_C_INITIALIZE_ARGS_PTR;
01151 #define CKA_CLASS 
01152 
01154 #define CKA_TOKEN 
01155 
01157 #define CKA_PRIVATE 
01158 
01160 #define CKA_MODIFIABLE 
01161 
01163 #define CKA_LABEL 
01164 
01166 #define CKA_APPLICATION 
01167 
01169 #define CKA_VALUE 
01170 
01171 
01172 
01174 #define CKA_CERTIFICATE_TYPE 
01175 
01177 #define CKA_SUBJECT 
01178 
01180 #define CKA_ID 
01181 
01183 #define CKA_ISSUER 
01184 
01186 #define CKA_SERIAL_NUMBER 
01187 
01189 #define CKA_VALUE 
01190 
01191 
01192 
01194 #define CKA_KEY_TYPE 
01195 
01197 #define CKA_ID 
01198 
01200 #define CKA_START_DATE 
01201 
01203 #define CKA_END_DATE 
01204 
01206 #define CKA_DERIVE 
01207 
01209 #define CKA_LOCAL 
01210 
01212 #define CKA_SUBJECT 
01213 
01215 #define CKA_ENCRYPT 
01216 
01218 #define CKA_VERIFY 
01219 
01221 #define CKA_VERIFY_RECOVER 
01222 
01224 #define CKA_WRAP 
01225 
01227 #define CKA_MODULUS 
01228 
01230 #define CKA_MODULUS_BITS 
01231 
01233 #define CKA_PUBLIC_EXPONENT 
01234 
01235 
01236 
01238 #define CKA_PRIME 
01239 
01241 #define CKA_SUBPRIME 
01242 
01244 #define CKA_BASE 
01245 
01247 #define CKA_VALUE 
01248 
01249 
01250 
01252 #define CKA_ECDSA_PARAMS 
01253 
01255 #define CKA_EC_POINT 
01256 
01257 
01258 
01260 #define CKA_PRIME 
01261 
01263 #define CKA_BASE 
01264 
01266 #define CKA_VALUE 
01267 
01268 
01269 
01271 #define CKA_PRIME 
01272 
01274 #define CKA_SUBPRIME 
01275 
01277 #define CKA_BASE 
01278 
01280 #define CKA_VALUE 
01281 
01282 
01283 
01285 #define CKA_SUBJECT 
01286 
01288 #define CKA_SENSITIVE 
01289 
01291 #define CKA_DECRYPT 
01292 
01294 #define CKA_SIGN 
01295 
01297 #define CKA_SIGN_RECOVER 
01298 
01300 #define CKA_UNWRAP 
01301 
01303 #define CKA_EXTRACTABLE 
01304 
01306 #define CKA_ALWAYS_SENSITIVE 
01307 
01309 #define CKA_NEVER_EXTRACTABLE 
01310 
01312 #define CKA_MODULUS 
01313 
01315 #define CKA_PUBLIC_EXPONENT 
01316 
01318 #define CKA_PRIVATE_EXPONENT 
01319 
01321 #define CKA_PRIME_1 
01322 
01324 #define CKA_PRIME_2 
01325 
01327 #define CKA_EXPONENT_1 
01328 
01330 #define CKA_EXPONENT_2 
01331 
01333 #define CKA_COEFFICIENT 
01334 
01335 
01336 
01338 #define CKA_PRIME 
01339 
01341 #define CKA_SUBPRIME 
01342 
01344 #define CKA_BASE 
01345 
01347 #define CKA_VALUE 
01348 
01349 
01350 
01352 #define CKA_ECDSA_PARAMS 
01353 
01355 #define CKA_VALUE 
01356 
01357 
01358 
01360 #define CKA_PRIME 
01361 
01363 #define CKA_BASE 
01364 
01366 #define CKA_VALUE 
01367 
01369 #define CKA_VALUE_BITS 
01370 
01371 
01372 
01374 #define CKA_PRIME 
01375 
01377 #define CKA_SUBPRIME 
01378 
01380 #define CKA_BASE 
01381 
01383 #define CKA_VALUE 
01384 
01385 
01386 
01388 #define CKA_SENSITIVE 
01389 
01391 #define CKA_ENCRYPT 
01392 
01394 #define CKA_DECRYPT 
01395 
01397 #define CKA_SIGN 
01398 
01400 #define CKA_VERIFY 
01401 
01403 #define CKA_WRAP 
01404 
01406 #define CKA_UNWRAP 
01407 
01409 #define CKA_EXTRACTABLE 
01410 
01412 #define CKA_ALWAYS_SENSITIVE 
01413 
01415 #define CKA_NEVER_EXTRACTABLE 
01416 
01418 #define CKA_VALUE 
01419 
01421 #define CKA_VALUE_LEN 
01422 
01423 
01424 
01426 #define CKA_VALUE 
01427 
01429 #define CKA_VALUE_LEN 
01430 
01431 
01432 
01434 #define CKA_VALUE 
01435 
01437 #define CKA_VALUE_LEN 
01438 
01439 
01440 
01442 #define CKA_VALUE 
01443 
01445 #define CKA_VALUE_LEN 
01446 
01447 
01448 
01450 #define CKA_VALUE 
01451 
01452 
01453 
01455 #define CKA_VALUE 
01456 
01457 
01458 
01460 #define CKA_VALUE 
01461 
01462 
01463 
01465 #define CKA_VALUE 
01466 
01468 #define CKA_VALUE_LEN 
01469 
01470 
01471 
01473 #define CKA_VALUE 
01474 
01476 #define CKA_VALUE_LEN 
01477 
01478 
01479 
01481 #define CKA_VALUE 
01482 
01484 #define CKA_VALUE_LEN 
01485 
01486 
01487 
01489 #define CKA_VALUE 
01490 
01491 
01492 
01494 #define CKA_VALUE 
01495 
01496 
01497 
01499 #define CKA_VALUE 
01500 
01501 
01502 
01504 #define CKA_VALUE 
01505 
01506 
01507 
01509 #define CKA_VALUE 
01510 
01511 
01512 
01514 #define CKR_GENERAL_ERROR
01515 
01517 #define CKR_HOST_MEMORY
01518 
01520 #define CKR_FUNCTION_FAILED
01521 
01523 #define CKR_OK
01524 
01526 #define CKR_SESSION_HANDLE_INVALID
01527 
01529 #define CKR_DEVICE_REMOVED
01530 
01532 #define CKR_SESSION_CLOSED
01533 
01535 #define CKR_DEVICE_MEMORY
01536 
01538 #define CKR_DEVICE_ERROR
01539 
01541 #define CKR_TOKEN_NOT_PRESENT
01542 
01544 #define CKR_DEVICE_REMOVED
01545 
01547 #define CKR_CANCEL
01548 
01550 #define CKR_MUTEX_BAD
01551 
01553 #define CKR_MUTEX_NOT_LOCKED
01554 
01556 #define CKR_ARGUMENTS_BAD
01557 
01559 #define CKR_ATTRIBUTE_READ_ONLY
01560 
01562 #define CKR_ATTRIBUTE_SENSITIVE
01563 
01565 #define CKR_ATTRIBUTE_TYPE_INVALID
01566 
01568 #define CKR_ATTRIBUTE_VALUE_INVALID
01569 
01571 #define CKR_BUFFER_TOO_SMALL
01572 
01574 #define CKR_CANT_LOCK
01575 
01577 #define CKR_CRYPTOKI_ALREADY_INITIALIZED
01578 
01580 #define CKR_CRYPTOKI_NOT_INITIALIZED
01581 
01583 #define CKR_DATA_INVALID
01584 
01586 #define CKR_DATA_LEN_RANGE
01587 
01589 #define CKR_ENCRYPTED_DATA_INVALID
01590 
01592 #define CKR_ENCRYPTED_DATA_LEN_RANGE
01593 
01595 #define CKR_FUNCTION_CANCELED
01596 
01598 #define CKR_FUNCTION_NOT_PARALLEL
01599 
01601 #define CKR_FUNCTION_NOT_SUPPORTED
01602 
01604 #define CKR_INFORMATION_SENSITIVE
01605 
01607 #define CKR_KEY_CHANGED
01608 
01610 #define CKR_KEY_FUNCTION_NOT_PERMITTED
01611 
01613 #define CKR_KEY_HANDLE_INVALID
01614 
01616 #define CKR_KEY_INDIGESTIBLE
01617 
01619 #define CKR_KEY_NEEDED
01620 
01622 #define CKR_KEY_NOT_NEEDED
01623 
01625 #define CKR_KEY_NOT_WRAPPABLE
01626 
01628 #define CKR_KEY_SIZE_RANGE
01629 
01631 #define CKR_KEY_TYPE_INCONSISTENT
01632 
01634 #define CKR_KEY_UNEXTRACTABLE
01635 
01637 #define CKR_MECHANISM_INVALID
01638 
01640 #define CKR_MECHANISM_PARAM_INVALID
01641 
01643 #define CKR_NEED_TO_CREATE_THREADS
01644 
01646 #define CKR_NO_EVENT
01647 
01649 #define CKR_OBJECT_HANDLE_INVALID
01650 
01652 #define CKR_OPERATION_ACTIVE
01653 
01655 #define CKR_OPERATION_NOT_INITIALIZED
01656 
01658 #define CKR_PIN_EXPIRED
01659 
01661 #define CKR_PIN_INCORRECT
01662 
01664 #define CKR_PIN_INVALID
01665 
01667 #define CKR_PIN_LEN_RANGE
01668 
01670 #define CKR_PIN_LOCKED
01671 
01673 #define CKR_RANDOM_NO_RNG
01674 
01676 #define CKR_RANDOM_SEED_NOT_SUPPORTED
01677 
01679 #define CKR_SAVED_STATE_INVALID
01680 
01682 #define CKR_SESSION_COUNT
01683 
01685 #define CKR_SESSION_EXISTS
01686 
01688 #define CKR_SESSION_PARALLEL_NOT_SUPPORTED
01689 
01691 #define CKR_SESSION_READ_ONLY
01692 
01694 #define CKR_SESSION_READ_ONLY_EXISTS
01695 
01697 #define CKR_SESSION_READ_WRITE_SO_EXISTS
01698 
01700 #define CKR_SIGNATURE_LEN_RANGE
01701 
01703 #define CKR_SIGNATURE_INVALID
01704 
01706 #define CKR_SLOT_ID_INVALID
01707 
01709 #define CKR_STATE_UNSAVEABLE
01710 
01712 #define CKR_TEMPLATE_INCOMPLETE
01713 
01715 #define CKR_TEMPLATE_INCONSISTENT
01716 
01718 #define CKR_TOKEN_NOT_RECOGNIZED
01719 
01721 #define CKR_TOKEN_WRITE_PROTECTED
01722 
01724 #define CKR_UNWRAPPING_KEY_HANDLE_INVALID
01725 
01727 #define CKR_UNWRAPPING_KEY_SIZE_RANGE
01728 
01730 #define CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT
01731 
01733 #define CKR_USER_ALREADY_LOGGED_IN
01734 
01736 #define CKR_USER_ANOTHER_ALREADY_LOGGED_IN
01737 
01739 #define CKR_USER_NOT_LOGGED_IN
01740 
01742 #define CKR_USER_PIN_NOT_INITIALIZED
01743 
01745 #define CKR_USER_TOO_MANY_TYPES
01746 
01748 #define CKR_USER_TYPE_INVALID
01749 
01751 #define CKR_WRAPPED_KEY_INVALID
01752 
01754 #define CKR_WRAPPED_KEY_LEN_RANGE
01755 
01757 #define CKR_WRAPPING_KEY_HANDLE_INVALID
01758 
01760 #define CKR_WRAPPING_KEY_SIZE_RANGE
01761 
01763 #define CKR_WRAPPING_KEY_TYPE_INCONSISTENT
01764 
01849 CK_RV  C_Initialize( CK_VOID_PTR pInitArgs);
01850 
01851 
01882 CK_RV  C_Finalize( CK_VOID_PTR pReserved);
01883 
01884 
01898 CK_RV  C_GetInfo( CK_INFO_PTR pInfo);
01899 
01900 
01920 CK_RV  C_GetFunctionList( CK_FUNCTION_LIST_PTR_PTR ppFunctionList);
01921 
01922 
01973 CK_RV  C_GetSlotList( CK_BBOOL tokenPresent, CK_SLOT_ID_PTR pSlotList, CK_ULONG_PTR pulCount);
01974 
01975 
01989 CK_RV  C_GetSlotInfo( CK_SLOT_ID slotID, CK_SLOT_INFO_PTR pInfo);
01990 
01991 
02008 CK_RV  C_GetTokenInfo( CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo);
02009 
02010 
02067 CK_RV  C_WaitForSlotEvent( CK_FLAGS flags, CK_SLOT_ID_PTR pSlot, CK_VOID_PTR pReserved);
02068 
02069 
02105 CK_RV  C_GetMechanismList( CK_SLOT_ID slotID, CK_MECHANISM_TYPE_PTR pMechanismList, CK_ULONG_PTR pulCount);
02106 
02107 
02125 CK_RV  C_GetMechanismInfo( CK_SLOT_ID slotID, CK_MECHANISM_TYPE type, CK_MECHANISM_INFO_PTR pInfo);
02126 
02127 
02178 CK_RV  C_InitToken( CK_SLOT_ID slotID, CK_CHAR_PTR pPin, CK_ULONG ulPinLen, CK_CHAR_PTR pLabel);
02179 
02180 
02217 CK_RV  C_InitPIN( CK_SESSION_HANDLE hSession, CK_CHAR_PTR pPin, CK_ULONG ulPinLen);
02218 
02219 
02261 CK_RV  C_SetPIN( CK_SESSION_HANDLE hSession, CK_CHAR_PTR pOldPin, CK_ULONG ulOldLen, CK_CHAR_PTR pNewPin, CK_ULONG ulNewLen);
02262 
02263 
02309 CK_RV  C_OpenSession( CK_SLOT_ID slotID, CK_FLAGS flags, CK_VOID_PTR pApplication, CK_NOTIFY Notify, CK_SESSION_HANDLE_PTR phSession);
02310 
02311 
02343 CK_RV  C_CloseSession( CK_SESSION_HANDLE hSession);
02344 
02345 
02367 CK_RV  C_CloseAllSessions( CK_SLOT_ID slotID);
02368 
02369 
02385 CK_RV  C_GetSessionInfo( CK_SESSION_HANDLE hSession, CK_SESSION_INFO_PTR pInfo);
02386 
02387 
02459 CK_RV  C_GetOperationState( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pOperationState, CK_ULONG_PTR pulOperationStateLen);
02460 
02461 
02543 CK_RV  C_SetOperationState( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pOperationState, CK_ULONG ulOperationStateLen, CK_OBJECT_HANDLE hEncryptionKey, CK_OBJECT_HANDLE hAuthenticationKey);
02544 
02545 
02593 CK_RV  C_Login( CK_SESSION_HANDLE hSession, CK_USER_TYPE userType, CK_CHAR_PTR pPin, CK_ULONG ulPinLen);
02594 
02595 
02627 CK_RV  C_Logout( CK_SESSION_HANDLE hSession);
02628 
02629 
02660 CK_RV  C_CreateObject( CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phObject);
02661 
02662 
02706 CK_RV  C_CopyObject( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phNewObject);
02707 
02708 
02727 CK_RV  C_DestroyObject( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject);
02728 
02729 
02753 CK_RV  C_GetObjectSize( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ULONG_PTR pulSize);
02754 
02755 
02816 CK_RV  C_GetAttributeValue( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount);
02817 
02818 
02849 CK_RV  C_SetAttributeValue( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount);
02850 
02851 
02894 CK_RV  C_FindObjectsInit( CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount);
02895 
02896 
02918 CK_RV  C_FindObjects( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE_PTR phObject, CK_ULONG ulMaxObjectCount, CK_ULONG_PTR pulObjectCount);
02919 
02920 
02936 CK_RV  C_FindObjectsFinal( CK_SESSION_HANDLE hSession);
02937 
02938 
02969 CK_RV  C_EncryptInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
02970 
02971 
03011 CK_RV  C_Encrypt( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pEncryptedData, CK_ULONG_PTR pulEncryptedDataLen);
03012 
03013 
03050 CK_RV  C_EncryptUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen);
03051 
03052 
03085 CK_RV  C_EncryptFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastEncryptedPart, CK_ULONG_PTR pulLastEncryptedPartLen);
03086 
03087 
03118 CK_RV  C_DecryptInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03119 
03120 
03159 CK_RV  C_Decrypt( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedData, CK_ULONG ulEncryptedDataLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen);
03160 
03161 
03193 CK_RV  C_DecryptUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen);
03194 
03195 
03228 CK_RV  C_DecryptFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastPart, CK_ULONG_PTR pulLastPartLen);
03229 
03230 
03255 CK_RV  C_DigestInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism);
03256 
03257 
03290 CK_RV  C_Digest( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen);
03291 
03292 
03313 CK_RV  C_DigestUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen);
03314 
03315 
03340 CK_RV  C_DigestKey( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hKey);
03341 
03342 
03370 CK_RV  C_DigestFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen);
03371 
03372 
03402 CK_RV  C_SignInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03403 
03404 
03435 CK_RV  C_Sign( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen);
03436 
03437 
03458 CK_RV  C_SignUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen);
03459 
03460 
03488 CK_RV  C_SignFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen);
03489 
03490 
03519 CK_RV  C_SignRecoverInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03520 
03521 
03551 CK_RV  C_SignRecover( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen);
03552 
03553 
03584 CK_RV  C_VerifyInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03585 
03586 
03620 CK_RV  C_Verify( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen);
03621 
03622 
03643 CK_RV  C_VerifyUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen);
03644 
03645 
03675 CK_RV  C_VerifyFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen);
03676 
03677 
03705 CK_RV  C_VerifyRecoverInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03706 
03707 
03749 CK_RV  C_VerifyRecover( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen);
03750 
03751 
03787 CK_RV  C_DigestEncryptUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen);
03788 
03789 
03868 CK_RV  C_DecryptDigestUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen);
03869 
03870 
03904 CK_RV  C_SignEncryptUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen);
03905 
03906 
03983 CK_RV  C_DecryptVerifyUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen);
03984 
03985 
04022 CK_RV  C_GenerateKey( CK_SESSION_HANDLE hSession CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phKey);
04023 
04024 
04074 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);
04075 
04076 
04129 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);
04130 
04131 
04181 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);
04182 
04183 
04222 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);
04223 
04224 
04241 CK_RV  C_SeedRandom( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSeed, CK_ULONG ulSeedLen);
04242 
04243 
04262 CK_RV  C_GenerateRandom(   CK_SESSION_HANDLE hSession,  CK_BYTE_PTR pRandomData,  CK_ULONG ulRandomLen  );
04263 
04264 
04274 CK_RV  C_GetFunctionStatus( CK_SESSION_HANDLE hSession);
04275 
04276 
04286 CK_RV  C_CancelFunction( CK_SESSION_HANDLE hSession);
04287 
04288 
04289 
04290 
04321 typedef struct CK_KEA_DERIVE_PARAMS {
04323 CK_BBOOL isSender;
04325 CK_ULONG ulRandomLen;
04327 CK_BYTE_PTR pRandomA;
04329 CK_BYTE_PTR pRandomB;
04331 CK_ULONG ulPublicDataLen;
04333 CK_BYTE_PTR pPublicData;
04334 } CK_KEA_DERIVE_PARAMS;
04335 
04336 
04338 typedef CK_KEA_DERIVE_PARAMS CK_PTR CK_KEA_DERIVE_PARAMS_PTR;
04339 
04340 
04349 typedef CK_ULONG CK_RC2_PARAMS;
04350 
04351 
04353 typedef CK_RC2_PARAMS CK_PTR CK_RC2_PARAMS_PTR;
04354 
04355 
04380 typedef struct CK_RC2_CBC_PARAMS {
04382 CK_ULONG ulEffectiveBits;
04384 CK_BYTE iv[8];
04385 } CK_RC2_CBC_PARAMS;
04386 
04387 
04389 typedef CK_RC2_CBC_PARAMS CK_PTR CK_RC2_CBC_PARAMS_PTR;
04390 
04391 
04407 typedef struct CK_RC2_MAC_GENERAL_PARAMS {
04409 CK_ULONG ulEffectiveBits;
04411 CK_ULONG ulMacLength;
04412 } CK_RC2_MAC_GENERAL_PARAMS;
04413 
04414 
04416 typedef CK_RC2_MAC_GENERAL_PARAMS CK_PTR CK_RC2_MAC_GENERAL_PARAMS_PTR;
04417 
04418 
04443 typedef struct CK_RC5_PARAMS {
04445 CK_ULONG ulWordsize;
04447 CK_ULONG ulRounds;
04448 } CK_RC5_PARAMS;
04449 
04450 
04452 typedef CK_RC5_PARAMS CK_PTR CK_RC5_PARAMS_PTR;
04453 
04454 
04481 typedef struct CK_RC5_CBC_PARAMS {
04483 CK_ULONG ulWordsize;
04485 CK_ULONG ulRounds;
04487 CK_BYTE_PTR pIv;
04489 CK_ULONG ulIvLen;
04490 } CK_RC5_CBC_PARAMS;
04491 
04492 
04494 typedef CK_RC5_CBC_PARAMS CK_PTR CK_RC5_CBC_PARAMS_PTR;
04495 
04496 
04513 typedef struct CK_RC5_MAC_GENERAL_PARAMS {
04515 CK_ULONG ulWordsize;
04517 CK_ULONG ulRounds;
04519 CK_ULONG ulMacLength;
04520 } CK_RC5_MAC_GENERAL_PARAMS;
04521 
04522 
04524 typedef CK_RC5_MAC_GENERAL_PARAMS CK_PTR CK_RC5_MAC_GENERAL_PARAMS_PTR;
04532 typedef CK_ULONG CK_MAC_GENERAL_PARAMS;
04533 
04534 
04536 typedef CK_MAC_GENERAL_PARAMS CK_PTR CK_MAC_GENERAL_PARAMS_PTR;
04537 
04538 
04572 typedef struct CK_SKIPJACK_PRIVATE_WRAP_PARAMS {
04574 CK_ULONG ulPasswordLen;
04576 CK_BYTE_PTR pPassword;
04578 CK_ULONG ulPublicDataLen;
04580 CK_BYTE_PTR pPublicData;
04582 CK_ULONG ulPandGLen;
04584 CK_ULONG ulQLen;
04586 CK_ULONG ulRandomLen;
04588 CK_BYTE_PTR pRandomA;
04590 CK_BYTE_PTR pPrimeP;
04592 CK_BYTE_PTR pBaseG;
04594 CK_BYTE_PTR pSubprimeQ;
04595 } CK_SKIPJACK_PRIVATE_WRAP_PARAMS;
04596 
04597 
04599 typedef CK_PRIVATE_WRAP_PARAMS CK_PTR CK_SKIPJACK_PRIVATE_WRAP_PARAMS_PTR;
04600 
04601 
04629 typedef struct CK_SKIPJACK_RELAYX_PARAMS {
04631 CK_ULONG ulOldWrappedXLen;
04633 CK_BYTE_PTR pOldWrappedX;
04635 CK_ULONG ulOldPasswordLen;
04637 CK_BYTE_PTR pOldPassword;
04639 CK_ULONG ulOldPublicDataLen;
04641 CK_BYTE_PTR pOldPublicData;
04643 CK_ULONG ulOldRandomLen;
04645 CK_BYTE_PTR pOldRandomA;
04647 CK_ULONG ulNewPasswordLen;
04649 CK_BYTE_PTR pNewPassword;
04651 CK_ULONG ulNewPublicDataLen;
04653 CK_BYTE_PTR pNewPublicData;
04655 CK_ULONG ulNewRandomLen;
04657 CK_BYTE_PTR pNewRandomA;
04658 } CK_SKIPJACK_RELAYX_PARAMS;
04659 
04660 
04662 typedef CK_SKIPJACK_RELAYX_PARAMS CK_PTR CK_SKIPJACK_RELAYX_PARAMS_PTR;
04663 
04664 
04683 typedef struct CK_PBE_PARAMS {
04685 CK_CHAR_PTR pInitVector;
04687 CK_CHAR_PTR pPassword;
04689 CK_ULONG ulPasswordLen;
04691 CK_CHAR_PTR pSalt;
04693 CK_ULONG ulSaltLen;
04695 CK_ULONG ulIteration;
04696 } CK_PBE_PARAMS;
04697 
04698 
04700 typedef CK_PBE_PARAMS CK_PTR CK_PBE_PARAMS_PTR;
04701 
04702 
04719 typedef struct CK_KEY_WRAP_SET_OAEP_PARAMS {
04721 CK_BYTE bBC;
04723 CK_BYTE_PTR pX;
04725 CK_ULONG ulXLen;
04726 } CK_KEY_WRAP_SET_OAEP_PARAMS;
04727 
04728 
04730 typedef CK_KEY_WRAP_SET_OAEP_PARAMS CK_PTR CK_KEY_WRAP_SET_OAEP_PARAMS_PTR;
04731 
04732 
04756 typedef struct CK_SSL3_RANDOM_DATA {
04758 CK_BYTE_PTR pClientRandom;
04760 CK_ULONG ulClientRandomLen;
04762 CK_BYTE_PTR pServerRandom;
04764 CK_ULONG ulServerRandomLen;
04765 } CK_SSL3_RANDOM_DATA;
04766 
04767 
04768 
04769 
04800 typedef struct CK_SSL3_MASTER_KEY_DERIVE_PARAMS {
04802 CK_SSL3_RANDOM_DATA RandomInfo;
04804 CK_VERSION_PTR pVersion;
04805 } CK_SSL3_MASTER_KEY_DERIVE_PARAMS;
04806 
04807 
04809 typedef CK_SSL3_MASTER_KEY_DERIVE_PARAMS CK_PTR CK_SSL3_MASTER_KEY_DERIVE_PARAMS_PTR;
04810 
04811 
04840 typedef struct CK_SSL3_KEY_MAT_OUT {
04842 CK_OBJECT_HANDLE hClientMacSecret;
04844 CK_OBJECT_HANDLE hServerMacSecret;
04846 CK_OBJECT_HANDLE hClientKey;
04848 CK_OBJECT_HANDLE hServerKey;
04850 CK_BYTE_PTR pIVClient;
04852 CK_BYTE_PTR pIVServer;
04853 } CK_SSL3_KEY_MAT_OUT;
04854 
04855 
04857 typedef CK_SSL3_KEY_MAT_OUT CK_PTR CK_SSL3_KEY_MAT_OUT_PTR;
04858 
04859 
04879 typedef struct CK_SSL3_KEY_MAT_PARAMS {
04881 CK_ULONG ulMacSizeInBits;
04883 CK_ULONG ulKeySizeInBits;
04885 CK_ULONG ulIVSizeInBits;
04887 CK_BBOOL bIsExport;
04889 CK_SSL3_RANDOM_DATA RandomInfo;
04891 CK_SSL3_KEY_MAT_OUT_PTR pReturnedKeyMaterial;
04892 } CK_SSL3_KEY_MAT_PARAMS;
04893 
04894 
04896 typedef CK_SSL3_KEY_MAT_PARAMS CK_PTR CK_SSL3_KEY_MAT_PARAMS_PTR;
04897 
04898 
04921 typedef struct CK_KEY_DERIVATION_STRING_DATA {
04923 CK_BYTE_PTR pData;
04925 CK_ULONG ulLen;
04926 } CK_KEY_DERIVATION_STRING_DATA;
04927 
04928 
04937 typedef CK_ULONG CK_EXTRACT_PARAMS;
04938 
04939 
04941 typedef CK_EXTRACT_PARAMS CK_PTR CK_EXTRACT_PARAMS_PTR;
04942 
04943 

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