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 
00153 typedef struct CK_VERSION {
00155 CK_BYTE major;
00157 CK_BYTE minor;
00158 } CK_VERSION;
00159 
00160 
00162 typedef CK_VERSION CK_PTR CK_VERSION_PTR;
00163 
00164 
00205 typedef struct CK_INFO {
00207 CK_VERSION cryptokiVersion;
00209 CK_UTF8CHAR manufacturerID[32];
00211 CK_FLAGS flags;
00213 CK_UTF8CHAR libraryDescription[32];
00215 CK_VERSION libraryVersion;
00216 } CK_INFO;
00217 
00218 
00220 typedef CK_INFO CK_PTR CK_INFO_PTR;
00226 typedef CK_ULONG CK_NOTIFICATION;
00227 
00228 
00234 typedef CK_ULONG CK_SLOT_ID;
00235 
00236 
00238 typedef CK_SLOT_ID CK_PTR CK_SLOT_ID_PTR;
00239 
00240 
00299 typedef struct CK_SLOT_INFO {
00301 CK_UTF8CHAR slotDescription[64];
00303 CK_UTF8CHAR manufacturerID[32];
00305 CK_FLAGS flags;
00307 CK_VERSION hardwareVersion;
00309 CK_VERSION firmwareVersion;
00310 } CK_SLOT_INFO;
00311 
00312 
00314 #define CKF_TOKEN_PRESENT 0x00000001
00315 
00317 #define CKF_REMOVABLE_DEVICE 0x00000002
00318 
00320 #define CKF_HW_SLOT 0x00000004
00321 
00323 typedef CK_SLOT_INFO CK_PTR CK_SLOT_INFO_PTR;
00324 
00325 
00526 typedef struct CK_TOKEN_INFO {
00528 CK_UTF8CHAR label[32];
00530 CK_UTF8CHAR manufacturerID[32];
00532 CK_UTF8CHAR model[16];
00534 CK_CHAR serialNumber[16];
00536 CK_FLAGS flags;
00538 CK_ULONG ulMaxSessionCount;
00540 CK_ULONG ulSessionCount;
00542 CK_ULONG ulMaxRwSessionCount;
00544 CK_ULONG ulRwSessionCount;
00546 CK_ULONG ulMaxPinLen;
00548 CK_ULONG ulMinPinLen;
00550 CK_ULONG ulTotalPublicMemory;
00552 CK_ULONG ulFreePublicMemory;
00554 CK_ULONG ulTotalPrivateMemory;
00556 CK_ULONG ulFreePrivateMemory;
00558 CK_VERSION hardwareVersion;
00560 CK_VERSION firmwareVersion;
00562 CK_CHAR utcTime[16];
00563 } CK_TOKEN_INFO;
00564 
00565 
00567 #define CKF_RNG 0x00000001
00568 
00570 #define CKF_WRITE_PROTECTED 0x00000002
00571 
00573 #define CKF_LOGIN_REQUIRED 0x00000004
00574 
00576 #define CKF_USER_PIN_INITIALIZED 0x00000008
00577 
00579 #define CKF_RESTORE_KEY_NOT_NEEDED 0x00000020
00580 
00582 #define CKF_CLOCK_ON_TOKEN 0x00000040
00583 
00585 #define CKF_PROTECTED_AUTHENTICATION_PATH 0x00000100
00586 
00588 #define CKF_DUAL_CRYPTO_OPERATIONS 0x00000200
00589 
00591 #define CKF_TOKEN_INITIALIZED 0x00000400
00592 
00594 #define CKF_SECONDARY_AUTHENTICATION 0x00000800
00595 
00597 #define CKF_USER_PIN_COUNT_LOW 0x00010000
00598 
00600 #define CKF_USER_PIN_FINAL_TRY 0x00020000
00601 
00603 #define CKF_USER_PIN_LOCKED 0x00040000
00604 
00606 #define CKF_USER_PIN_TO_BE_CHANGED 0x00080000
00607 
00609 #define CKF_SO_PIN_COUNT_LOW 0x00100000
00610 
00612 #define CKF_SO_PIN_FINAL_TRY 0x00200000
00613 
00615 #define CKF_SO_PIN_LOCKED 0x00400000
00616 
00618 #define CKF_SO_PIN_TO_BE_CHANGED 0x00800000
00619 
00620 
00621 
00623 typedef CK_TOKEN_INFO CK_PTR CK_TOKEN_INFO_PTR;
00629 typedef CK_ULONG CK_SESSION_HANDLE;
00630 
00631 
00633 typedef CK_SESSION_HANDLE CK_PTR CK_SESSION_HANDLE_PTR;
00639 typedef CK_ULONG CK_USER_TYPE;
00640 
00641 
00648 typedef CK_ULONG CK_STATE;
00649 
00650 
00651 
00652 
00692 typedef struct CK_SESSION_INFO {
00694 CK_SLOT_ID slotID;
00696 CK_STATE state;
00698 CK_FLAGS flags;
00700 CK_ULONG ulDeviceError;
00701 } CK_SESSION_INFO;
00702 
00703 
00705 #define CKF_RW_SESSION 0x00000002
00706 
00708 #define CKF_SERIAL_SESSION 0x00000004
00709 
00711 typedef CK_SESSION_INFO CK_PTR CK_SESSION_INFO_PTR;
00717 typedef CK_ULONG CK_OBJECT_HANDLE;
00718 
00719 
00721 typedef CK_OBJECT_HANDLE CK_PTR CK_OBJECT_HANDLE_PTR;
00727 typedef CK_ULONG CK_OBJECT_CLASS;
00728 
00729 
00731 typedef CK_OBJECT_CLASS CK_PTR CK_OBJECT_CLASS_PTR;
00737 typedef CK_ULONG CK_HW_FEATURE_TYPE;
00738 
00739 
00745 typedef CK_ULONG CK_KEY_TYPE;
00746 
00747 
00753 typedef CK_ULONG CK_CERTIFICATE_TYPE;
00754 
00755 
00761 typedef CK_ULONG CK_ATTRIBUTE_TYPE;
00762 
00763 
00764 
00765 
00796 typedef struct CK_ATTRIBUTE {
00798 CK_ATTRIBUTE_TYPE type;
00800 CK_VOID_PTR pValue;
00802 CK_ULONG ulValueLen;
00803 } CK_ATTRIBUTE;
00804 
00805 
00807 typedef CK_ATTRIBUTE CK_PTR CK_ATTRIBUTE_PTR;
00808 
00809 
00824 typedef struct CK_DATE {
00826 CK_CHAR year[4];
00828 CK_CHAR month[2];
00830 CK_CHAR day[2];
00831 } CK_DATE;
00832 
00833 
00839 typedef CK_ULONG CK_MECHANISM_TYPE;
00840 
00841 
00843 typedef CK_MECHANISM_TYPE CK_PTR CK_MECHANISM_TYPE_PTR;
00844 
00845 
00871 typedef struct CK_MECHANISM {
00873 CK_MECHANISM_TYPE mechanism;
00875 CK_VOID_PTR pParameter;
00877 CK_ULONG ulParameterLen;
00878 } CK_MECHANISM;
00879 
00880 
00882 typedef CK_MECHANISM CK_PTR CK_MECHANISM_PTR;
00883 
00884 
00986 typedef struct CK_MECHANISM_INFO {
00988 CK_ULONG ulMinKeySize;
00990 CK_ULONG ulMaxKeySize;
00992 CK_FLAGS flags;
00993 } CK_MECHANISM_INFO;
00994 
00995 
00997 #define CKF_HW 0x00000001
00998 
01000 #define CKF_ENCRYPT 0x00000100
01001 
01003 #define CKF_DECRYPT 0x00000200
01004 
01006 #define CKF_DIGEST 0x00000400
01007 
01009 #define CKF_SIGN 0x00000800
01010 
01012 #define CKF_SIGN_RECOVER 0x00001000
01013 
01015 #define CKF_VERIFY 0x00002000
01016 
01018 #define CKF_VERIFY_RECOVER 0x00004000
01019 
01021 #define CKF_GENERATE 0x00008000
01022 
01024 #define CKF_GENERATE_KEY_PAIR 0x00010000
01025 
01027 #define CKF_WRAP 0x00020000
01028 
01030 #define CKF_UNWRAP 0x00040000
01031 
01033 #define CKF_DERIVE 0x00080000
01034 
01036 #define CKF_EXTENSION 0x80000000
01037 
01039 typedef CK_MECHANISM_INFO CK_PTR CK_MECHANISM_INFO_PTR;
01045 typedef CK_ULONG CK_RV;
01046 
01047 
01053 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_NOTIFY)(
01054 CK_SESSION_HANDLE hSession,
01055 CK_NOTIFICATION event,
01056 CK_VOID_PTR pApplication
01057 );
01058 
01059 
01060 
01061 
01077 typedef struct CK_FUNCTION_LIST {
01078 CK_VERSION version;
01079 CK_C_Initialize C_Initialize;
01080 CK_C_Finalize C_Finalize;
01081 CK_C_GetInfo C_GetInfo;
01082 CK_C_GetFunctionList C_GetFunctionList;
01083 CK_C_GetSlotList C_GetSlotList;
01084 CK_C_GetSlotInfo C_GetSlotInfo;
01085 CK_C_GetTokenInfo C_GetTokenInfo;
01086 CK_C_GetMechanismList C_GetMechanismList;
01087 CK_C_GetMechanismInfo C_GetMechanismInfo;
01088 CK_C_InitToken C_InitToken;
01089 CK_C_InitPIN C_InitPIN;
01090 CK_C_SetPIN C_SetPIN;
01091 CK_C_OpenSession C_OpenSession;
01092 CK_C_CloseSession C_CloseSession;
01093 CK_C_CloseAllSessions C_CloseAllSessions;
01094 CK_C_GetSessionInfo C_GetSessionInfo;
01095 CK_C_GetOperationState C_GetOperationState;
01096 CK_C_SetOperationState C_SetOperationState;
01097 CK_C_Login C_Login;
01098 CK_C_Logout C_Logout;
01099 CK_C_CreateObject C_CreateObject;
01100 CK_C_CopyObject C_CopyObject;
01101 CK_C_DestroyObject C_DestroyObject;
01102 CK_C_GetObjectSize C_GetObjectSize;
01103 CK_C_GetAttributeValue C_GetAttributeValue;
01104 CK_C_SetAttributeValue C_SetAttributeValue;
01105 CK_C_FindObjectsInit C_FindObjectsInit;
01106 CK_C_FindObjects C_FindObjects;
01107 CK_C_FindObjectsFinal C_FindObjectsFinal;
01108 CK_C_EncryptInit C_EncryptInit;
01109 CK_C_Encrypt C_Encrypt;
01110 CK_C_EncryptUpdate C_EncryptUpdate;
01111 CK_C_EncryptFinal C_EncryptFinal;
01112 CK_C_DecryptInit C_DecryptInit;
01113 CK_C_Decrypt C_Decrypt;
01114 CK_C_DecryptUpdate C_DecryptUpdate;
01115 CK_C_DecryptFinal C_DecryptFinal;
01116 CK_C_DigestInit C_DigestInit;
01117 CK_C_Digest C_Digest;
01118 CK_C_DigestUpdate C_DigestUpdate;
01119 CK_C_DigestKey C_DigestKey;
01120 CK_C_DigestFinal C_DigestFinal;
01121 CK_C_SignInit C_SignInit;
01122 CK_C_Sign C_Sign;
01123 CK_C_SignUpdate C_SignUpdate;
01124 CK_C_SignFinal C_SignFinal;
01125 CK_C_SignRecoverInit C_SignRecoverInit;
01126 CK_C_SignRecover C_SignRecover;
01127 CK_C_VerifyInit C_VerifyInit;
01128 CK_C_Verify C_Verify;
01129 CK_C_VerifyUpdate C_VerifyUpdate;
01130 CK_C_VerifyFinal C_VerifyFinal;
01131 CK_C_VerifyRecoverInit C_VerifyRecoverInit;
01132 CK_C_VerifyRecover C_VerifyRecover;
01133 CK_C_DigestEncryptUpdate C_DigestEncryptUpdate;
01134 CK_C_DecryptDigestUpdate C_DecryptDigestUpdate;
01135 CK_C_SignEncryptUpdate C_SignEncryptUpdate;
01136 CK_C_DecryptVerifyUpdate C_DecryptVerifyUpdate;
01137 CK_C_GenerateKey C_GenerateKey;
01138 CK_C_GenerateKeyPair C_GenerateKeyPair;
01139 CK_C_WrapKey C_WrapKey;
01140 CK_C_UnwrapKey C_UnwrapKey;
01141 CK_C_DeriveKey C_DeriveKey;
01142 CK_C_SeedRandom C_SeedRandom;
01143 CK_C_GenerateRandom C_GenerateRandom;
01144 CK_C_GetFunctionStatus C_GetFunctionStatus;
01145 CK_C_CancelFunction C_CancelFunction;
01146 CK_C_WaitForSlotEvent C_WaitForSlotEvent;
01147 } CK_FUNCTION_LIST;
01148 
01149 
01151 typedef CK_FUNCTION_LIST CK_PTR CK_FUNCTION_LIST_PTR;
01153 typedef CK_FUNCTION_LIST_PTR CK_PTR CK_FUNCTION_LIST_PTR_PTR;
01160 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_CREATEMUTEX)(
01161 CK_VOID_PTR_PTR ppMutex
01162 );
01163 
01164 
01170 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_DESTROYMUTEX)(
01171 CK_VOID_PTR pMutex
01172 );
01173 
01174 
01201 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_LOCKMUTEX)(
01202 CK_VOID_PTR pMutex
01203 );
01204 
01205 
01209 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_UNLOCKMUTEX)(
01210 CK_VOID_PTR pMutex
01211 );
01212 
01213 
01214 
01215 
01262 typedef struct CK_C_INITIALIZE_ARGS {
01264 CK_CREATEMUTEX CreateMutex;
01266 CK_DESTROYMUTEX DestroyMutex;
01268 CK_LOCKMUTEX LockMutex;
01270 CK_UNLOCKMUTEX UnlockMutex;
01272 CK_FLAGS flags;
01274 CK_VOID_PTR pReserved;
01275 } CK_C_INITIALIZE_ARGS;
01276 
01277 
01279 #define CKF_LIBRARY_CANT_CREATE_OS_THREADS 0x00000001
01280 
01282 #define CKF_OS_LOCKING_OK 0x00000002
01283 
01285 typedef CK_C_INITIALIZE_ARGS CK_PTR CK_C_INITIALIZE_ARGS_PTR;
01287 #define CKA_CLASS 
01288 
01290 #define CKA_HW_FEATURE_TYPE 
01291 
01293 #define CKA_VALUE 
01294 
01296 #define CKA_RESET_ON_INIT 
01297 
01299 #define CKA_HAS_RESET 
01300 
01302 #define CKA_VALUE 
01303 
01305 #define CKA_TOKEN 
01306 
01308 #define CKA_PRIVATE 
01309 
01311 #define CKA_MODIFIABLE 
01312 
01314 #define CKA_LABEL 
01315 
01317 #define CKA_APPLICATION 
01318 
01320 #define CKA_OBJECT_ID 
01321 
01323 #define CKA_VALUE 
01324 
01325 
01326 
01328 #define CKA_CERTIFICATE_TYPE 
01329 
01331 #define CKA_SUBJECT 
01332 
01334 #define CKA_ID 
01335 
01337 #define CKA_ISSUER 
01338 
01340 #define CKA_SERIAL_NUMBER 
01341 
01343 #define CKA_VALUE 
01344 
01345 
01346 
01348 #define CKA_OWNER 
01349 
01351 #define CKA_AC_ISSUER 
01352 
01354 #define CKA_SERIAL_NUMBER 
01355 
01357 #define CKA_ATTR_TYPES 
01358 
01360 #define CKA_VALUE 
01361 
01362 
01363 
01365 #define CKA_KEY_TYPE 
01366 
01368 #define CKA_ID 
01369 
01371 #define CKA_START_DATE 
01372 
01374 #define CKA_END_DATE 
01375 
01377 #define CKA_DERIVE 
01378 
01380 #define CKA_LOCAL 
01381 
01383 #define CKA_SUBJECT 
01384 
01386 #define CKA_ENCRYPT 
01387 
01389 #define CKA_VERIFY 
01390 
01392 #define CKA_VERIFY_RECOVER 
01393 
01395 #define CKA_WRAP 
01396 
01398 #define CKA_MODULUS 
01399 
01401 #define CKA_MODULUS_BITS 
01402 
01404 #define CKA_PUBLIC_EXPONENT 
01405 
01406 
01407 
01409 #define CKA_PRIME 
01410 
01412 #define CKA_SUBPRIME 
01413 
01415 #define CKA_BASE 
01416 
01418 #define CKA_VALUE 
01419 
01420 
01421 
01423 #define CKA_ECDSA_PARAMS 
01424 
01426 #define CKA_EC_POINT 
01427 
01428 
01429 
01431 #define CKA_PRIME 
01432 
01434 #define CKA_BASE 
01435 
01437 #define CKA_VALUE 
01438 
01439 
01440 
01442 #define CKA_PRIME 
01443 
01445 #define CKA_SUBPRIME 
01446 
01448 #define CKA_BASE 
01449 
01451 #define CKA_VALUE 
01452 
01453 
01454 
01456 #define CKA_SUBJECT 
01457 
01459 #define CKA_SENSITIVE 
01460 
01462 #define CKA_SECONDARY_AUTH 
01463 
01465 #define CKA_AUTH_PIN_FLAGS 
01466 
01468 #define CKA_DECRYPT 
01469 
01471 #define CKA_SIGN 
01472 
01474 #define CKA_SIGN_RECOVER 
01475 
01477 #define CKA_UNWRAP 
01478 
01480 #define CKA_EXTRACTABLE 
01481 
01483 #define CKA_ALWAYS_SENSITIVE 
01484 
01486 #define CKA_NEVER_EXTRACTABLE 
01487 
01489 #define CKA_MODULUS 
01490 
01492 #define CKA_PUBLIC_EXPONENT 
01493 
01495 #define CKA_PRIVATE_EXPONENT 
01496 
01498 #define CKA_PRIME_1 
01499 
01501 #define CKA_PRIME_2 
01502 
01504 #define CKA_EXPONENT_1 
01505 
01507 #define CKA_EXPONENT_2 
01508 
01510 #define CKA_COEFFICIENT 
01511 
01512 
01513 
01515 #define CKA_PRIME 
01516 
01518 #define CKA_SUBPRIME 
01519 
01521 #define CKA_BASE 
01522 
01524 #define CKA_VALUE 
01525 
01526 
01527 
01529 #define CKA_ECDSA_PARAMS 
01530 
01532 #define CKA_VALUE 
01533 
01534 
01535 
01537 #define CKA_PRIME 
01538 
01540 #define CKA_BASE 
01541 
01543 #define CKA_VALUE 
01544 
01546 #define CKA_VALUE_BITS 
01547 
01548 
01549 
01551 #define CKA_PRIME 
01552 
01554 #define CKA_SUBPRIME 
01555 
01557 #define CKA_BASE 
01558 
01560 #define CKA_VALUE 
01561 
01562 
01563 
01565 #define CKA_SENSITIVE 
01566 
01568 #define CKA_ENCRYPT 
01569 
01571 #define CKA_DECRYPT 
01572 
01574 #define CKA_SIGN 
01575 
01577 #define CKA_VERIFY 
01578 
01580 #define CKA_WRAP 
01581 
01583 #define CKA_UNWRAP 
01584 
01586 #define CKA_EXTRACTABLE 
01587 
01589 #define CKA_ALWAYS_SENSITIVE 
01590 
01592 #define CKA_NEVER_EXTRACTABLE 
01593 
01595 #define CKA_VALUE 
01596 
01598 #define CKA_VALUE_LEN 
01599 
01600 
01601 
01603 #define CKA_VALUE 
01604 
01606 #define CKA_VALUE_LEN 
01607 
01608 
01609 
01611 #define CKA_VALUE 
01612 
01614 #define CKA_VALUE_LEN 
01615 
01616 
01617 
01619 #define CKA_VALUE 
01620 
01622 #define CKA_VALUE_LEN 
01623 
01624 
01625 
01627 #define CKA_VALUE 
01628 
01629 
01630 
01632 #define CKA_VALUE 
01633 
01634 
01635 
01637 #define CKA_VALUE 
01638 
01639 
01640 
01642 #define CKA_VALUE 
01643 
01645 #define CKA_VALUE_LEN 
01646 
01647 
01648 
01650 #define CKA_VALUE 
01651 
01653 #define CKA_VALUE_LEN 
01654 
01655 
01656 
01658 #define CKA_VALUE 
01659 
01661 #define CKA_VALUE_LEN 
01662 
01663 
01664 
01666 #define CKA_VALUE 
01667 
01668 
01669 
01671 #define CKA_VALUE 
01672 
01673 
01674 
01676 #define CKA_VALUE 
01677 
01678 
01679 
01681 #define CKA_VALUE 
01682 
01683 
01684 
01686 #define CKA_VALUE 
01687 
01688 
01689 
01691 #define CKR_GENERAL_ERROR
01692 
01694 #define CKR_HOST_MEMORY
01695 
01697 #define CKR_FUNCTION_FAILED
01698 
01700 #define CKR_OK
01701 
01703 #define CKR_SESSION_HANDLE_INVALID
01704 
01706 #define CKR_DEVICE_REMOVED
01707 
01709 #define CKR_SESSION_CLOSED
01710 
01712 #define CKR_DEVICE_MEMORY
01713 
01715 #define CKR_DEVICE_ERROR
01716 
01718 #define CKR_TOKEN_NOT_PRESENT
01719 
01721 #define CKR_DEVICE_REMOVED
01722 
01724 #define CKR_CANCEL
01725 
01727 #define CKR_MUTEX_BAD
01728 
01730 #define CKR_MUTEX_NOT_LOCKED
01731 
01733 #define CKR_ARGUMENTS_BAD
01734 
01736 #define CKR_ATTRIBUTE_READ_ONLY
01737 
01739 #define CKR_ATTRIBUTE_SENSITIVE
01740 
01742 #define CKR_ATTRIBUTE_TYPE_INVALID
01743 
01745 #define CKR_ATTRIBUTE_VALUE_INVALID
01746 
01748 #define CKR_BUFFER_TOO_SMALL
01749 
01751 #define CKR_CANT_LOCK
01752 
01754 #define CKR_CRYPTOKI_ALREADY_INITIALIZED
01755 
01757 #define CKR_CRYPTOKI_NOT_INITIALIZED
01758 
01760 #define CKR_DATA_INVALID
01761 
01763 #define CKR_DATA_LEN_RANGE
01764 
01766 #define CKR_ENCRYPTED_DATA_INVALID
01767 
01769 #define CKR_ENCRYPTED_DATA_LEN_RANGE
01770 
01772 #define CKR_FUNCTION_CANCELED
01773 
01775 #define CKR_FUNCTION_NOT_PARALLEL
01776 
01778 #define CKR_FUNCTION_NOT_SUPPORTED
01779 
01781 #define CKR_INFORMATION_SENSITIVE
01782 
01784 #define CKR_KEY_CHANGED
01785 
01787 #define CKR_KEY_FUNCTION_NOT_PERMITTED
01788 
01790 #define CKR_KEY_HANDLE_INVALID
01791 
01793 #define CKR_KEY_INDIGESTIBLE
01794 
01796 #define CKR_KEY_NEEDED
01797 
01799 #define CKR_KEY_NOT_NEEDED
01800 
01802 #define CKR_KEY_NOT_WRAPPABLE
01803 
01805 #define CKR_KEY_SIZE_RANGE
01806 
01808 #define CKR_KEY_TYPE_INCONSISTENT
01809 
01811 #define CKR_KEY_UNEXTRACTABLE
01812 
01814 #define CKR_MECHANISM_INVALID
01815 
01817 #define CKR_MECHANISM_PARAM_INVALID
01818 
01820 #define CKR_NEED_TO_CREATE_THREADS
01821 
01823 #define CKR_NO_EVENT
01824 
01826 #define CKR_OBJECT_HANDLE_INVALID
01827 
01829 #define CKR_OPERATION_ACTIVE
01830 
01832 #define CKR_OPERATION_NOT_INITIALIZED
01833 
01835 #define CKR_PIN_EXPIRED
01836 
01838 #define CKR_PIN_INCORRECT
01839 
01841 #define CKR_PIN_INVALID
01842 
01844 #define CKR_PIN_LEN_RANGE
01845 
01847 #define CKR_PIN_LOCKED
01848 
01850 #define CKR_RANDOM_NO_RNG
01851 
01853 #define CKR_RANDOM_SEED_NOT_SUPPORTED
01854 
01856 #define CKR_SAVED_STATE_INVALID
01857 
01859 #define CKR_SESSION_COUNT
01860 
01862 #define CKR_SESSION_EXISTS
01863 
01865 #define CKR_SESSION_PARALLEL_NOT_SUPPORTED
01866 
01868 #define CKR_SESSION_READ_ONLY
01869 
01871 #define CKR_SESSION_READ_ONLY_EXISTS
01872 
01874 #define CKR_SESSION_READ_WRITE_SO_EXISTS
01875 
01877 #define CKR_SIGNATURE_LEN_RANGE
01878 
01880 #define CKR_SIGNATURE_INVALID
01881 
01883 #define CKR_SLOT_ID_INVALID
01884 
01886 #define CKR_STATE_UNSAVEABLE
01887 
01889 #define CKR_TEMPLATE_INCOMPLETE
01890 
01892 #define CKR_TEMPLATE_INCONSISTENT
01893 
01895 #define CKR_TOKEN_NOT_RECOGNIZED
01896 
01898 #define CKR_TOKEN_WRITE_PROTECTED
01899 
01901 #define CKR_UNWRAPPING_KEY_HANDLE_INVALID
01902 
01904 #define CKR_UNWRAPPING_KEY_SIZE_RANGE
01905 
01907 #define CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT
01908 
01910 #define CKR_USER_ALREADY_LOGGED_IN
01911 
01913 #define CKR_USER_ANOTHER_ALREADY_LOGGED_IN
01914 
01916 #define CKR_USER_NOT_LOGGED_IN
01917 
01919 #define CKR_USER_PIN_NOT_INITIALIZED
01920 
01922 #define CKR_USER_TOO_MANY_TYPES
01923 
01925 #define CKR_USER_TYPE_INVALID
01926 
01928 #define CKR_WRAPPED_KEY_INVALID
01929 
01931 #define CKR_WRAPPED_KEY_LEN_RANGE
01932 
01934 #define CKR_WRAPPING_KEY_HANDLE_INVALID
01935 
01937 #define CKR_WRAPPING_KEY_SIZE_RANGE
01938 
01940 #define CKR_WRAPPING_KEY_TYPE_INCONSISTENT
01941 
02026 CK_RV  C_Initialize( CK_VOID_PTR pInitArgs);
02027 
02028 
02059 CK_RV  C_Finalize( CK_VOID_PTR pReserved);
02060 
02061 
02075 CK_RV  C_GetInfo( CK_INFO_PTR pInfo);
02076 
02077 
02098 CK_RV  C_GetFunctionList( CK_FUNCTION_LIST_PTR_PTR ppFunctionList);
02099 
02100 
02152 CK_RV  C_GetSlotList( CK_BBOOL tokenPresent, CK_SLOT_ID_PTR pSlotList, CK_ULONG_PTR pulCount);
02153 
02154 
02168 CK_RV  C_GetSlotInfo( CK_SLOT_ID slotID, CK_SLOT_INFO_PTR pInfo);
02169 
02170 
02187 CK_RV  C_GetTokenInfo( CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo);
02188 
02189 
02247 CK_RV  C_WaitForSlotEvent( CK_FLAGS flags, CK_SLOT_ID_PTR pSlot, CK_VOID_PTR pReserved);
02248 
02249 
02286 CK_RV  C_GetMechanismList( CK_SLOT_ID slotID, CK_MECHANISM_TYPE_PTR pMechanismList, CK_ULONG_PTR pulCount);
02287 
02288 
02306 CK_RV  C_GetMechanismInfo( CK_SLOT_ID slotID, CK_MECHANISM_TYPE type, CK_MECHANISM_INFO_PTR pInfo);
02307 
02308 
02376 CK_RV  C_InitToken( CK_SLOT_ID slotID, CK_CHAR_PTR pPin, CK_ULONG ulPinLen, CK_UTF8CHAR_PTR pLabel);
02377 
02378 
02415 CK_RV  C_InitPIN( CK_SESSION_HANDLE hSession, CK_CHAR_PTR pPin, CK_ULONG ulPinLen);
02416 
02417 
02459 CK_RV  C_SetPIN( CK_SESSION_HANDLE hSession, CK_CHAR_PTR pOldPin, CK_ULONG ulOldLen, CK_CHAR_PTR pNewPin, CK_ULONG ulNewLen);
02460 
02461 
02508 CK_RV  C_OpenSession( CK_SLOT_ID slotID, CK_FLAGS flags, CK_VOID_PTR pApplication, CK_NOTIFY Notify, CK_SESSION_HANDLE_PTR phSession);
02509 
02510 
02548 CK_RV  C_CloseSession( CK_SESSION_HANDLE hSession);
02549 
02550 
02577 CK_RV  C_CloseAllSessions( CK_SLOT_ID slotID);
02578 
02579 
02596 CK_RV  C_GetSessionInfo( CK_SESSION_HANDLE hSession, CK_SESSION_INFO_PTR pInfo);
02597 
02598 
02672 CK_RV  C_GetOperationState( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pOperationState, CK_ULONG_PTR pulOperationStateLen);
02673 
02674 
02756 CK_RV  C_SetOperationState( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pOperationState, CK_ULONG ulOperationStateLen, CK_OBJECT_HANDLE hEncryptionKey, CK_OBJECT_HANDLE hAuthenticationKey);
02757 
02758 
02807 CK_RV  C_Login( CK_SESSION_HANDLE hSession, CK_USER_TYPE userType, CK_CHAR_PTR pPin, CK_ULONG ulPinLen);
02808 
02809 
02841 CK_RV  C_Logout( CK_SESSION_HANDLE hSession);
02842 
02843 
02874 CK_RV  C_CreateObject( CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phObject);
02875 
02876 
02920 CK_RV  C_CopyObject( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phNewObject);
02921 
02922 
02941 CK_RV  C_DestroyObject( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject);
02942 
02943 
02967 CK_RV  C_GetObjectSize( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ULONG_PTR pulSize);
02968 
02969 
03030 CK_RV  C_GetAttributeValue( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount);
03031 
03032 
03065 CK_RV  C_SetAttributeValue( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount);
03066 
03067 
03110 CK_RV  C_FindObjectsInit( CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount);
03111 
03112 
03134 CK_RV  C_FindObjects( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE_PTR phObject, CK_ULONG ulMaxObjectCount, CK_ULONG_PTR pulObjectCount);
03135 
03136 
03152 CK_RV  C_FindObjectsFinal( CK_SESSION_HANDLE hSession);
03153 
03154 
03185 CK_RV  C_EncryptInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03186 
03187 
03231 CK_RV  C_Encrypt( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pEncryptedData, CK_ULONG_PTR pulEncryptedDataLen);
03232 
03233 
03270 CK_RV  C_EncryptUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen);
03271 
03272 
03305 CK_RV  C_EncryptFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastEncryptedPart, CK_ULONG_PTR pulLastEncryptedPartLen);
03306 
03307 
03338 CK_RV  C_DecryptInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03339 
03340 
03383 CK_RV  C_Decrypt( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedData, CK_ULONG ulEncryptedDataLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen);
03384 
03385 
03417 CK_RV  C_DecryptUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen);
03418 
03419 
03452 CK_RV  C_DecryptFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastPart, CK_ULONG_PTR pulLastPartLen);
03453 
03454 
03480 CK_RV  C_DigestInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism);
03481 
03482 
03519 CK_RV  C_Digest( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen);
03520 
03521 
03542 CK_RV  C_DigestUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen);
03543 
03544 
03569 CK_RV  C_DigestKey( CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hKey);
03570 
03571 
03599 CK_RV  C_DigestFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen);
03600 
03601 
03632 CK_RV  C_SignInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03633 
03634 
03669 CK_RV  C_Sign( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen);
03670 
03671 
03692 CK_RV  C_SignUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen);
03693 
03694 
03722 CK_RV  C_SignFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen);
03723 
03724 
03753 CK_RV  C_SignRecoverInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03754 
03755 
03785 CK_RV  C_SignRecover( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen);
03786 
03787 
03818 CK_RV  C_VerifyInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03819 
03820 
03858 CK_RV  C_Verify( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen);
03859 
03860 
03881 CK_RV  C_VerifyUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen);
03882 
03883 
03914 CK_RV  C_VerifyFinal( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen);
03915 
03916 
03944 CK_RV  C_VerifyRecoverInit( CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey);
03945 
03946 
03988 CK_RV  C_VerifyRecover( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen);
03989 
03990 
04027 CK_RV  C_DigestEncryptUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen);
04028 
04029 
04108 CK_RV  C_DecryptDigestUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen);
04109 
04110 
04145 CK_RV  C_SignEncryptUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen);
04146 
04147 
04225 CK_RV  C_DecryptVerifyUpdate( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen);
04226 
04227 
04264 CK_RV  C_GenerateKey( CK_SESSION_HANDLE hSession CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phKey);
04265 
04266 
04316 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);
04317 
04318 
04373 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);
04374 
04375 
04427 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);
04428 
04429 
04469 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);
04470 
04471 
04488 CK_RV  C_SeedRandom( CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSeed, CK_ULONG ulSeedLen);
04489 
04490 
04509 CK_RV  C_GenerateRandom(   CK_SESSION_HANDLE hSession,  CK_BYTE_PTR pRandomData,  CK_ULONG ulRandomLen  );
04510 
04511 
04522 CK_RV  C_GetFunctionStatus( CK_SESSION_HANDLE hSession);
04523 
04524 
04535 CK_RV  C_CancelFunction( CK_SESSION_HANDLE hSession);
04536 
04537 
04544 typedef CK_ULONG CK_RSA_PKCS_MGF_TYPE;
04545 
04546 
04548 typedef CK_RSA_PKCS_MGF_TYPE CK_PTR CK_RSA_PKCS_MGF_TYPE_PTR;
04555 typedef CK_ULONG CK_RSA_PKCS_OAEP_SOURCE_TYPE;
04556 
04557 
04559 typedef CK_RSA_PKCS_OAEP_SOURCE_TYPE CK_PTR CK_RSA_PKCS_OAEP_SOURCE_TYPE_PTR;
04560 
04561 
04580 typedef struct CK_RSA_PKCS_OAEP_PARAMS {
04582 CK_MECHANISM_TYPE hashAlg;
04584 CK_RSA_PKCS_OAEP_MGF_TYPE mgf;
04586 CK_RSA_PKCS_OAEP_SOURCE_TYPE source;
04588 CK_VOID_PTR pSourceData;
04590 CK_ULONG ulSourceDataLen;
04591 } CK_RSA_PKCS_OAEP_PARAMS;
04592 
04593 
04595 typedef CK_RSA_PKCS_OAEP_PARAMS CK_PTR CK_RSA_PKCS_OAEP_PARAMS_PTR;
04596 
04597 
04628 typedef struct CK_KEA_DERIVE_PARAMS {
04630 CK_BBOOL isSender;
04632 CK_ULONG ulRandomLen;
04634 CK_BYTE_PTR pRandomA;
04636 CK_BYTE_PTR pRandomB;
04638 CK_ULONG ulPublicDataLen;
04640 CK_BYTE_PTR pPublicData;
04641 } CK_KEA_DERIVE_PARAMS;
04642 
04643 
04645 typedef CK_KEA_DERIVE_PARAMS CK_PTR CK_KEA_DERIVE_PARAMS_PTR;
04646 
04647 
04656 typedef CK_ULONG CK_RC2_PARAMS;
04657 
04658 
04660 typedef CK_RC2_PARAMS CK_PTR CK_RC2_PARAMS_PTR;
04661 
04662 
04687 typedef struct CK_RC2_CBC_PARAMS {
04689 CK_ULONG ulEffectiveBits;
04691 CK_BYTE iv[8];
04692 } CK_RC2_CBC_PARAMS;
04693 
04694 
04696 typedef CK_RC2_CBC_PARAMS CK_PTR CK_RC2_CBC_PARAMS_PTR;
04697 
04698 
04714 typedef struct CK_RC2_MAC_GENERAL_PARAMS {
04716 CK_ULONG ulEffectiveBits;
04718 CK_ULONG ulMacLength;
04719 } CK_RC2_MAC_GENERAL_PARAMS;
04720 
04721 
04723 typedef CK_RC2_MAC_GENERAL_PARAMS CK_PTR CK_RC2_MAC_GENERAL_PARAMS_PTR;
04724 
04725 
04750 typedef struct CK_RC5_PARAMS {
04752 CK_ULONG ulWordsize;
04754 CK_ULONG ulRounds;
04755 } CK_RC5_PARAMS;
04756 
04757 
04759 typedef CK_RC5_PARAMS CK_PTR CK_RC5_PARAMS_PTR;
04760 
04761 
04788 typedef struct CK_RC5_CBC_PARAMS {
04790 CK_ULONG ulWordsize;
04792 CK_ULONG ulRounds;
04794 CK_BYTE_PTR pIv;
04796 CK_ULONG ulIvLen;
04797 } CK_RC5_CBC_PARAMS;
04798 
04799 
04801 typedef CK_RC5_CBC_PARAMS CK_PTR CK_RC5_CBC_PARAMS_PTR;
04802 
04803 
04820 typedef struct CK_RC5_MAC_GENERAL_PARAMS {
04822 CK_ULONG ulWordsize;
04824 CK_ULONG ulRounds;
04826 CK_ULONG ulMacLength;
04827 } CK_RC5_MAC_GENERAL_PARAMS;
04828 
04829 
04831 typedef CK_RC5_MAC_GENERAL_PARAMS CK_PTR CK_RC5_MAC_GENERAL_PARAMS_PTR;
04839 typedef CK_ULONG CK_MAC_GENERAL_PARAMS;
04840 
04841 
04843 typedef CK_MAC_GENERAL_PARAMS CK_PTR CK_MAC_GENERAL_PARAMS_PTR;
04844 
04845 
04879 typedef struct CK_SKIPJACK_PRIVATE_WRAP_PARAMS {
04881 CK_ULONG ulPasswordLen;
04883 CK_BYTE_PTR pPassword;
04885 CK_ULONG ulPublicDataLen;
04887 CK_BYTE_PTR pPublicData;
04889 CK_ULONG ulPandGLen;
04891 CK_ULONG ulQLen;
04893 CK_ULONG ulRandomLen;
04895 CK_BYTE_PTR pRandomA;
04897 CK_BYTE_PTR pPrimeP;
04899 CK_BYTE_PTR pBaseG;
04901 CK_BYTE_PTR pSubprimeQ;
04902 } CK_SKIPJACK_PRIVATE_WRAP_PARAMS;
04903 
04904 
04906 typedef CK_PRIVATE_WRAP_PARAMS CK_PTR CK_SKIPJACK_PRIVATE_WRAP_PARAMS_PTR;
04907 
04908 
04936 typedef struct CK_SKIPJACK_RELAYX_PARAMS {
04938 CK_ULONG ulOldWrappedXLen;
04940 CK_BYTE_PTR pOldWrappedX;
04942 CK_ULONG ulOldPasswordLen;
04944 CK_BYTE_PTR pOldPassword;
04946 CK_ULONG ulOldPublicDataLen;
04948 CK_BYTE_PTR pOldPublicData;
04950 CK_ULONG ulOldRandomLen;
04952 CK_BYTE_PTR pOldRandomA;
04954 CK_ULONG ulNewPasswordLen;
04956 CK_BYTE_PTR pNewPassword;
04958 CK_ULONG ulNewPublicDataLen;
04960 CK_BYTE_PTR pNewPublicData;
04962 CK_ULONG ulNewRandomLen;
04964 CK_BYTE_PTR pNewRandomA;
04965 } CK_SKIPJACK_RELAYX_PARAMS;
04966 
04967 
04969 typedef CK_SKIPJACK_RELAYX_PARAMS CK_PTR CK_SKIPJACK_RELAYX_PARAMS_PTR;
04970 
04971 
04990 typedef struct CK_PBE_PARAMS {
04992 CK_CHAR_PTR pInitVector;
04994 CK_CHAR_PTR pPassword;
04996 CK_ULONG ulPasswordLen;
04998 CK_CHAR_PTR pSalt;
05000 CK_ULONG ulSaltLen;
05002 CK_ULONG ulIteration;
05003 } CK_PBE_PARAMS;
05004 
05005 
05007 typedef CK_PBE_PARAMS CK_PTR CK_PBE_PARAMS_PTR;
05014 typedef CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE;
05015 
05016 
05018 typedef CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE CK_PTR CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE_PTR;
05025 typedef CK_ULONG CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE;
05026 
05027 
05029 typedef CK_PKCS5_PBKD2_SALT_SOURCE_TYPE CK_PTR CK_PKCS5_PBKD2_SALT_SOURCE_TYPE_PTR;
05030 
05031 
05052 typedef struct CK_PKCS5_PBKD2_PARAMS {
05054 CK_PKCS5_PBKD2_SALT_SOURCE_TYPE saltSource;
05056 CK_VOID_PTR pSaltSourceData;
05058 CK_ULONG ulSaltSourceDataLen;
05060 CK_ULONG iterations;
05062 CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE prf;
05064 CK_VOID_PTR pPrfData;
05066 CK_ULONG ulPrfDataLen;
05067 } CK_PKCS5_PBKD2_PARAMS;
05068 
05069 
05071 typedef CK_PKCS5_PBKD2_PARAMS CK_PTR CK_PKCS5_PBKD2_PARAMS_PTR;
05072 
05073 
05090 typedef struct CK_KEY_WRAP_SET_OAEP_PARAMS {
05092 CK_BYTE bBC;
05094 CK_BYTE_PTR pX;
05096 CK_ULONG ulXLen;
05097 } CK_KEY_WRAP_SET_OAEP_PARAMS;
05098 
05099 
05101 typedef CK_KEY_WRAP_SET_OAEP_PARAMS CK_PTR CK_KEY_WRAP_SET_OAEP_PARAMS_PTR;
05102 
05103 
05127 typedef struct CK_SSL3_RANDOM_DATA {
05129 CK_BYTE_PTR pClientRandom;
05131 CK_ULONG ulClientRandomLen;
05133 CK_BYTE_PTR pServerRandom;
05135 CK_ULONG ulServerRandomLen;
05136 } CK_SSL3_RANDOM_DATA;
05137 
05138 
05139 
05140 
05171 typedef struct CK_SSL3_MASTER_KEY_DERIVE_PARAMS {
05173 CK_SSL3_RANDOM_DATA RandomInfo;
05175 CK_VERSION_PTR pVersion;
05176 } CK_SSL3_MASTER_KEY_DERIVE_PARAMS;
05177 
05178 
05180 typedef CK_SSL3_MASTER_KEY_DERIVE_PARAMS CK_PTR CK_SSL3_MASTER_KEY_DERIVE_PARAMS_PTR;
05181 
05182 
05211 typedef struct CK_SSL3_KEY_MAT_OUT {
05213 CK_OBJECT_HANDLE hClientMacSecret;
05215 CK_OBJECT_HANDLE hServerMacSecret;
05217 CK_OBJECT_HANDLE hClientKey;
05219 CK_OBJECT_HANDLE hServerKey;
05221 CK_BYTE_PTR pIVClient;
05223 CK_BYTE_PTR pIVServer;
05224 } CK_SSL3_KEY_MAT_OUT;
05225 
05226 
05228 typedef CK_SSL3_KEY_MAT_OUT CK_PTR CK_SSL3_KEY_MAT_OUT_PTR;
05229 
05230 
05250 typedef struct CK_SSL3_KEY_MAT_PARAMS {
05252 CK_ULONG ulMacSizeInBits;
05254 CK_ULONG ulKeySizeInBits;
05256 CK_ULONG ulIVSizeInBits;
05258 CK_BBOOL bIsExport;
05260 CK_SSL3_RANDOM_DATA RandomInfo;
05262 CK_SSL3_KEY_MAT_OUT_PTR pReturnedKeyMaterial;
05263 } CK_SSL3_KEY_MAT_PARAMS;
05264 
05265 
05267 typedef CK_SSL3_KEY_MAT_PARAMS CK_PTR CK_SSL3_KEY_MAT_PARAMS_PTR;
05268 
05269 
05292 typedef struct CK_KEY_DERIVATION_STRING_DATA {
05294 CK_BYTE_PTR pData;
05296 CK_ULONG ulLen;
05297 } CK_KEY_DERIVATION_STRING_DATA;
05298 
05299 
05308 typedef CK_ULONG CK_EXTRACT_PARAMS;
05309 
05310 
05312 typedef CK_EXTRACT_PARAMS CK_PTR CK_EXTRACT_PARAMS_PTR;
05313 
05314 

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