![]() | 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 00044 #define CKA_MODULUS 00045 00047 #define CKA_MODULUS_BITS 00048 00050 #define CKA_PUBLIC_EXPONENT 00051 00052 00053 00055 #define CKA_MODULUS 00056 00058 #define CKA_PUBLIC_EXPONENT 00059 00061 #define CKA_PRIVATE_EXPONENT 00062 00064 #define CKA_PRIME_1 00065 00067 #define CKA_PRIME_2 00068 00070 #define CKA_EXPONENT_1 00071 00073 #define CKA_EXPONENT_2 00074 00076 #define CKA_COEFFICIENT 00077 00078 00079 00087 typedef CK_ULONG CK_RSA_PKCS_MGF_TYPE; 00088 00089 00091 typedef CK_RSA_PKCS_MGF_TYPE CK_PTR CK_RSA_PKCS_MGF_TYPE_PTR; 00098 typedef CK_ULONG CK_RSA_PKCS_OAEP_SOURCE_TYPE; 00099 00100 00102 typedef CK_RSA_PKCS_OAEP_SOURCE_TYPE CK_PTR CK_RSA_PKCS_OAEP_SOURCE_TYPE_PTR; 00103 00104 00123 typedef struct CK_RSA_PKCS_OAEP_PARAMS { 00125 CK_MECHANISM_TYPE hashAlg; 00127 CK_RSA_PKCS_MGF_TYPE mgf; 00129 CK_RSA_PKCS_OAEP_SOURCE_TYPE source; 00131 CK_VOID_PTR pSourceData; 00133 CK_ULONG ulSourceDataLen; 00134 } CK_RSA_PKCS_OAEP_PARAMS; 00135 00136 00138 typedef CK_RSA_PKCS_OAEP_PARAMS CK_PTR CK_RSA_PKCS_OAEP_PARAMS_PTR; 00139 00140 00157 typedef struct CK_RSA_PKCS_PSS_PARAMS { 00159 CK_MECHANISM_TYPE hashAlg; 00161 CK_RSA_PKCS_MGF_TYPE mgf; 00163 CK_ULONG sLen; 00164 } CK_RSA_PKCS_PSS_PARAMS; 00165 00166 00168 typedef CK_RSA_PKCS_PSS_PARAMS CK_PTR CK_RSA_PKCS_PSS_PARAMS_PTR; 00169 00170 00172 #define CKA_PRIME 00173 00175 #define CKA_SUBPRIME 00176 00178 #define CKA_BASE 00179 00181 #define CKA_VALUE 00182 00183 00184 00186 #define CKA_PRIME 00187 00189 #define CKA_SUBPRIME 00190 00192 #define CKA_BASE 00193 00195 #define CKA_VALUE 00196 00197 00198 00200 #define CKA_PRIME 00201 00203 #define CKA_SUBPRIME 00204 00206 #define CKA_BASE 00207 00209 #define CKA_PRIME_BITS 00210 00211 00212 00214 #define CKA_EC_PARAMS 00215 00217 #define CKA_EC_POINT 00218 00219 00220 00222 #define CKA_EC_PARAMS 00223 00225 #define CKA_VALUE 00226 00227 00228 00236 typedef CK_ULONG CK_EC_KDF_TYPE; 00237 00238 00240 typedef CK_EC_KDF_TYPE CK_PTR CK_EC_KDF_TYPE_PTR; 00241 00242 00277 typedef struct CK_ECDH1_DERIVE_PARAMS { 00279 CK_EC_KDF_TYPE kdf; 00281 CK_ULONG ulSharedDataLen; 00283 CK_BYTE_PTR pSharedData; 00285 CK_ULONG ulPublicDataLen; 00287 CK_BYTE_PTR pPublicData; 00288 } CK_ECDH1_DERIVE_PARAMS; 00289 00290 00292 typedef CK_ECDH1_DERIVE_PARAMS CK_PTR CK_ECDH1_DERIVE_PARAMS_PTR; 00293 00294 00325 typedef struct CK_ECMQV_DERIVE_PARAMS { 00327 CK_EC_KDF_TYPE kdf; 00329 CK_ULONG ulSharedDataLen; 00331 CK_BYTE_PTR pSharedData; 00333 CK_ULONG ulPublicDataLen; 00335 CK_BYTE_PTR pPublicData; 00337 CK_ULONG ulPrivateDataLen; 00339 CK_OBJECT_HANDLE hPrivateData; 00341 CK_ULONG ulPublicDataLen2; 00343 CK_BYTE_PTR pPublicData2; 00345 CK_OBJECT_HANDLE publicKey; 00346 } CK_ECMQV_DERIVE_PARAMS; 00347 00348 00350 typedef CK_ECMQV_DERIVE_PARAMS CK_PTR CK_ECMQV_DERIVE_PARAMS_PTR; 00351 00352 00354 #define CKA_PRIME 00355 00357 #define CKA_BASE 00358 00360 #define CKA_VALUE 00361 00362 00363 00365 #define CKA_PRIME 00366 00368 #define CKA_BASE 00369 00371 #define CKA_SUBPRIME 00372 00374 #define CKA_VALUE 00375 00376 00377 00379 #define CKA_PRIME 00380 00382 #define CKA_BASE 00383 00385 #define CKA_VALUE 00386 00388 #define CKA_VALUE_BITS 00389 00390 00391 00393 #define CKA_PRIME 00394 00396 #define CKA_BASE 00397 00399 #define CKA_SUBPRIME 00400 00402 #define CKA_VALUE 00403 00404 00405 00407 #define CKA_PRIME 00408 00410 #define CKA_BASE 00411 00413 #define CKA_PRIME_BITS 00414 00415 00416 00418 #define CKA_PRIME 00419 00421 #define CKA_BASE 00422 00424 #define CKA_SUBPRIME 00425 00427 #define CKA_PRIME_BITS 00428 00430 #define CKA_SUBPRIME_BITS 00431 00432 00433 00441 typedef CK_ULONG CK_X9_42_DH_KDF_TYPE; 00442 00443 00445 typedef CK_X9_42_DH_KDF_TYPE CK_PTR CK_X9_42_DH_KDF_TYPE_PTR; 00446 00447 00489 typedef struct CK_X9_42_DH1_DERIVE_PARAMS { 00491 CK_X9_42_DH_KDF_TYPE kdf; 00493 CK_ULONG ulOtherInfoLen; 00495 CK_BYTE_PTR pOtherInfo; 00497 CK_ULONG ulPublicDataLen; 00499 CK_BYTE_PTR pPublicData; 00500 } CK_X9_42_DH1_DERIVE_PARAMS; 00501 00502 00504 typedef CK_X9_42_DH1_DERIVE_PARAMS CK_PTR CK_X9_42_DH1_DERIVE_PARAMS_PTR; 00505 00506 00552 typedef struct CK_X9_42_DH2_DERIVE_PARAMS { 00554 CK_X9_42_DH_KDF_TYPE kdf; 00556 CK_ULONG ulOtherInfoLen; 00558 CK_BYTE_PTR pOtherInfo; 00560 CK_ULONG ulPublicDataLen; 00562 CK_BYTE_PTR pPublicData; 00564 CK_ULONG ulPrivateDataLen; 00566 CK_OBJECT_HANDLE hPrivateData; 00568 CK_ULONG ulPublicDataLen2; 00570 CK_BYTE_PTR pPublicData2; 00571 } CK_X9_42_DH2_DERIVE_PARAMS; 00572 00573 00575 typedef CK_X9_42_DH2_DERIVE_PARAMS CK_PTR CK_X9_42_DH2_DERIVE_PARAMS_PTR; 00576 00577 00613 typedef struct CK_X9_42_MQV_DERIVE_PARAMS { 00615 CK_X9_42_DH_KDF_TYPE kdf; 00617 CK_ULONG ulOtherInfoLen; 00619 CK_BYTE_PTR pOtherInfo; 00621 CK_ULONG ulPublicDataLen; 00623 CK_BYTE_PTR pPublicData; 00625 CK_ULONG ulPrivateDataLen; 00627 CK_OBJECT_HANDLE hPrivateData; 00629 CK_ULONG ulPublicDataLen2; 00631 CK_BYTE_PTR pPublicData2; 00633 CK_OBJECT_HANDLE publicKey; 00634 } CK_X9_42_MQV_DERIVE_PARAMS; 00635 00636 00638 typedef CK_X9_42_MQV_DERIVE_PARAMS CK_PTR CK_X9_42_MQV_DERIVE_PARAMS_PTR; 00639 00640 00642 #define CKA_VALUE 00643 00645 #define CKA_VALUE_LEN 00646 00647 00648 00650 #define CKA_VALUE 00651 00653 #define CKA_VALUE_LEN 00654 00655 00656 00657 00658 00698 typedef struct CK_AES_CTR_PARAMS { 00699 CK_ULONG ulCounterBits; 00700 CK_BYTE cb[16]; 00701 } CK_AES_CTR_PARAMS; 00702 00703 00704 00705 00730 typedef struct CK_GCM_PARAMS { 00732 CK_BYTE_PTR pIv; 00734 CK_ULONG ulIvLen; 00736 CK_BYTE_PTR pAAD; 00738 CK_ULONG ulAADLen; 00740 CK_ULONG ulTagBits; 00741 } CK_GCM_PARAMS; 00742 00743 00745 typedef CK_GCM_PARAMS CK_PTR CK_GCM_PARAMS_PTR; 00746 00747 00765 typedef struct CK_CCM_PARAMS { 00767 CK_ULONG ulDataLen; /*plaintext or ciphertext*/ 00769 CK_BYTE_PTR pNonce; 00771 CK_ULONG ulNonceLen; 00773 CK_BYTE_PTR pAAD; 00775 CK_ULONG ulAADLen; 00777 CK_ULONG ulMACLen; 00778 } CK_CCM_PARAMS; 00779 00780 00782 typedef CK_CCM_PARAMS CK_PTR CK_CCM_PARAMS_PTR; 00783 00784 00785 00786 00878 typedef struct CK_DES_CBC_ENCRYPT_DATA_PARAMS { 00879 CK_BYTE iv[8]; 00880 CK_BYTE_PTR pData; 00881 CK_ULONG length; 00882 } CK_DES_CBC_ENCRYPT_DATA_PARAMS; 00886 typedef CK_DES_CBC_ENCRYPT_DATA_PARAMS * CK_DES_CBC_ENCRYPT_DATA_PARAMS_PTR; 00887 00888 00893 typedef struct CK_AES_CBC_ENCRYPT_DATA_PARAMS { 00894 CK_BYTE iv[16]; 00895 CK_BYTE_PTR pData; 00896 CK_ULONG length; 00897 } CK_AES_CBC_ENCRYPT_DATA_PARAMS; 00898 00899 00903 typedef CK_AES_CBC_ENCRYPT_DATA_PARAMS CK_PTR 00904 CK_AES_CBC_ENCRYPT_DATA_PARAMS_PTR; 00905 00906 00908 #define CKA_VALUE 00909 00910 00911 00913 #define CKA_VALUE 00914 00915 00916 00917 00918 00937 typedef struct CK_PBE_PARAMS { 00939 CK_BYTE_PTR pInitVector; 00941 CK_UTF8CHAR_PTR pPassword; 00943 CK_ULONG ulPasswordLen; 00945 CK_BYTE_PTR pSalt; 00947 CK_ULONG ulSaltLen; 00949 CK_ULONG ulIteration; 00950 } CK_PBE_PARAMS; 00951 00952 00954 typedef CK_PBE_PARAMS CK_PTR CK_PBE_PARAMS_PTR; 00961 typedef CK_ULONG CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE; 00962 00963 00965 typedef CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE CK_PTR CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE_PTR; 00972 typedef CK_ULONG CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE; 00973 00974 00976 typedef CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE CK_PTR CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE_PTR; 00977 00978 01001 typedef struct CK_PKCS5_PBKD2_PARAMS { 01003 CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE saltSource; 01005 CK_VOID_PTR pSaltSourceData; 01007 CK_ULONG ulSaltSourceDataLen; 01009 CK_ULONG iterations; 01011 CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE prf; 01013 CK_VOID_PTR pPrfData; 01014 CK_ULONG ulPrfDataLen;CK_UTF8CHAR_PTR pPassword; 01016 CK_ULONG_PTR ulPasswordLen; 01017 } CK_PKCS5_PBKD2_PARAMS; 01018 01019 01021 typedef CK_PKCS5_PBKD2_PARAMS CK_PTR CK_PKCS5_PBKD2_PARAMS_PTR; 01022 01023 01024 01025 01049 typedef struct CK_SSL3_RANDOM_DATA { 01051 CK_BYTE_PTR pClientRandom; 01053 CK_ULONG ulClientRandomLen; 01055 CK_BYTE_PTR pServerRandom; 01057 CK_ULONG ulServerRandomLen; 01058 } CK_SSL3_RANDOM_DATA; 01059 01060 01061 01062 01093 typedef struct CK_SSL3_MASTER_KEY_DERIVE_PARAMS { 01095 CK_SSL3_RANDOM_DATA RandomInfo; 01097 CK_VERSION_PTR pVersion; 01098 } CK_SSL3_MASTER_KEY_DERIVE_PARAMS; 01099 01100 01102 typedef CK_SSL3_MASTER_KEY_DERIVE_PARAMS CK_PTR CK_SSL3_MASTER_KEY_DERIVE_PARAMS_PTR; 01103 01104 01133 typedef struct CK_SSL3_KEY_MAT_OUT { 01135 CK_OBJECT_HANDLE hClientMacSecret; 01137 CK_OBJECT_HANDLE hServerMacSecret; 01139 CK_OBJECT_HANDLE hClientKey; 01141 CK_OBJECT_HANDLE hServerKey; 01143 CK_BYTE_PTR pIVClient; 01145 CK_BYTE_PTR pIVServer; 01146 } CK_SSL3_KEY_MAT_OUT; 01147 01148 01150 typedef CK_SSL3_KEY_MAT_OUT CK_PTR CK_SSL3_KEY_MAT_OUT_PTR; 01151 01152 01172 typedef struct CK_SSL3_KEY_MAT_PARAMS { 01174 CK_ULONG ulMacSizeInBits; 01176 CK_ULONG ulKeySizeInBits; 01178 CK_ULONG ulIVSizeInBits; 01180 CK_BBOOL bIsExport; 01182 CK_SSL3_RANDOM_DATA RandomInfo; 01184 CK_SSL3_KEY_MAT_OUT_PTR pReturnedKeyMaterial; 01185 } CK_SSL3_KEY_MAT_PARAMS; 01186 01187 01189 typedef CK_SSL3_KEY_MAT_PARAMS CK_PTR CK_SSL3_KEY_MAT_PARAMS_PTR; 01190 01191 01192 01193 01233 typedef struct CK_TLS_PRF_PARAMS { 01234 CK_BYTE_PTR pSeed; 01235 CK_ULONG ulSeedLen; 01236 CK_BYTE_PTR pLabel; 01237 CK_ULONG ulLabelLen; 01238 CK_BYTE_PTR pOutput; 01239 CK_ULONG_PTR pulOutputLen; 01240 } CK_TLS_PRF_PARAMS; 01241 01242 01244 typedef CK_TLS_PRF_PARAMS CK_PTR CK_TLS_PRF_PARAMS_PTR; 01245 01246 01247 01248 01289 typedef struct CK_WTLS_RANDOM_DATA { 01290 CK_BYTE_PTR pClientRandom; 01291 CK_ULONG ulClientRandomLen; 01292 CK_BYTE_PTR pServerRandom; 01293 CK_ULONG ulServerRandomLen; 01294 } CK_WTLS_RANDOM_DATA; 01295 01296 01298 typedef CK_WTLS_RANDOM_DATA CK_PTR CK_WTLS_RANDOM_DATA_PTR ; 01299 01300 01340 typedef struct CK_WTLS_MASTER_KEY_DERIVE_PARAMS { 01341 CK_MECHANISM_TYPE DigestMechanism; 01342 CK_WTLS_RANDOM_DATA RandomInfo; 01343 CK_BYTE_PTR pVersion; 01344 } CK_WTLS_MASTER_KEY_DERIVE_PARAMS; 01345 01346 01348 typedef CK_WTLS_MASTER_KEY_DERIVE_PARAMS CK_PTR CK_WTLS_MASTER_KEY_DERIVE_PARAMS_PTR ; 01349 01350 01407 typedef struct CK_WTLS_PRF_PARAMS { 01408 CK_MECHANISM_TYPE DigestMechanism; 01409 CK_BYTE_PTR pSeed; 01410 CK_ULONG ulSeedLen; 01411 CK_BYTE_PTR pLabel; 01412 CK_ULONG ulLabelLen; 01413 CK_BYTE_PTR pOutput; 01414 CK_ULONG_PTR pulOutputLen; 01415 } CK_WTLS_PRF_PARAMS; 01416 01417 01419 typedef CK_WTLS_PRF_PARAMS CK_PTR CK_WTLS_PRF_PARAMS_PTR ; 01420 01421 01464 typedef struct CK_WTLS_KEY_MAT_OUT { 01465 CK_OBJECT_HANDLE hMacSecret; 01466 CK_OBJECT_HANDLE hKey; 01467 CK_BYTE_PTR pIV; 01468 } CK_WTLS_KEY_MAT_OUT; 01469 01470 01472 typedef CK_WTLS_KEY_MAT_OUT CK_PTR CK_WTLS_KEY_MAT_OUT_PTR ; 01473 01474 01538 typedef struct CK_WTLS_KEY_MAT_PARAMS { 01539 CK_MECHANISM_TYPE DigestMechanism; 01540 CK_ULONG ulMacSizeInBits; 01541 CK_ULONG ulKeySizeInBits; 01542 CK_ULONG ulIVSizeInBits; 01543 CK_ULONG ulSequenceNumber; 01544 CK_BBOOL bIsExport; 01545 CK_WTLS_RANDOM_DATA RandomInfo; 01546 CK_WTLS_KEY_MAT_OUT_PTR pReturnedKeyMaterial; 01547 } CK_WTLS_KEY_MAT_PARAMS; 01548 01549 01551 typedef CK_WTLS_KEY_MAT_PARAMS CK_PTR CK_WTLS_KEY_MAT_PARAMS_PTR ; 01552 01553 01554 01555 01578 typedef struct CK_KEY_DERIVATION_STRING_DATA { 01580 CK_BYTE_PTR pData; 01582 CK_ULONG ulLen; 01583 } CK_KEY_DERIVATION_STRING_DATA; 01584 01585 01594 typedef CK_ULONG CK_EXTRACT_PARAMS; 01595 01596 01598 typedef CK_EXTRACT_PARAMS CK_PTR CK_EXTRACT_PARAMS_PTR; 01599 01600 01602 #define CKA_REQUIRED_CMS_ATTRIBUTES 01603 01605 #define CKA_DEFAULT_CMS_ATTRIBUTES 01606 01608 #define CKA_SUPPORTED_CMS_ATTRIBUTES 01609 01610 01611 01612 01613 01629 typedef struct CK_CMS_SIG_PARAMS { 01630 CK_OBJECT_HANDLEcertificateHandle; 01631 CK_MECHANISM_PTRpSigningMechanism; 01632 CK_MECHANISM_PTRpDigestMechanism; 01633 CK_UTF8CHAR_PTRpContentType; 01634 CK_BYTE_PTRpRequestedAttributes; 01635 CK_ULONGulRequestedAttributesLen; 01636 CK_BYTE_PTRpRequiredAttributes; 01637 CK_ULONGulRequiredAttributesLen; 01638 } CK_CMS_SIG_PARAMS; 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 01665 01666 01671 typedef struct CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS { 01672 CK_BYTE iv[16]; 01673 CK_BYTE_PTR pData; 01674 CK_ULONG length; 01675 } CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS; 01676 01677 01681 typedef CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS CK_PTR 01682 CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS_PTR; 01683 01684 01686 #define CKA_VALUE 01687 01689 #define CKA_VALUE_LEN 01690 01691 01692 01693 01694 01699 typedef struct CK_ARIA_CBC_ENCRYPT_DATA_PARAMS { 01700 CK_BYTE iv[16]; 01701 CK_BYTE_PTR pData; 01702 CK_ULONG length; 01703 } CK_ARIA_CBC_ENCRYPT_DATA_PARAMS; 01704 01705 01709 typedef CK_ARIA_CBC_ENCRYPT_DATA_PARAMS CK_PTR 01710 CK_ARIA_CBC_ENCRYPT_DATA_PARAMS_PTR; 01711 01712 01714 #define CKA_VALUE 01715 01716 01717 01718 01719 01724 typedef struct CK_SEED_CBC_ENCRYPT_DATA_PARAMS CK_CBC_ENCRYPT_DATA_PARAMS; 01725 01726 01730 typedef CK_CBC_ENCRYPT_DATA_PARAMS CK_PTR 01731 CK_CBC_ENCRYPT_DATA_PARAMS_PTR; 01732 01733 01735 #define CKA_OTP_FORMAT 01736 01738 #define CKA_OTP_LENGTH 01739 01741 #define CKA_OTP_USER_FRIENDLY_MODE 01742 01744 #define CKA_OTP_CHALLENGE_REQUIREMENT 01745 01747 #define CKA_OTP_TIME_REQUIREMENT 01748 01750 #define CKA_OTP_COUNTER_REQUIREMENT 01751 01753 #define CKA_OTP_PIN_REQUIREMENT 01754 01756 #define CKA_OTP_COUNTER 01757 01759 #define CKA_OTP_TIME 01760 01762 #define CKA_OTP_USER_IDENTIFIER 01763 01765 #define CKA_OTP_SERVICE_IDENTIFIER 01766 01768 #define CKA_OTP_SERVICE_LOGO 01769 01771 #define CKA_OTP_SERVICE_LOGO_TYPE 01772 01774 #define CKA_VALUE 01775 01777 #define CKA_VALUE_LEN 01778 01784 typedef CK_ULONG CK_PARAM_TYPE; 01785 01786 01788 #define CK_OTP_PIN 01789 01791 #define CK_OTP_CHALLENGE 01792 01794 #define CK_OTP_TIME 01795 01797 #define CK_OTP_COUNTER 01798 01800 #define CK_OTP_FLAGS 01801 01803 #define CK_OTP_OUTPUT_LENGTH 01804 01806 #define CK_OTP_FORMAT 01807 01809 #define CK_OTP_VALUE 01810 01812 #define CKF_NEXT_OTP 01813 01815 #define CKF_EXCLUDE_TIME 01816 01818 #define CKF_EXCLUDE_COUNTER 01819 01821 #define CKF_EXCLUDE_CHALLENGE 01822 01824 #define CKF_EXCLUDE_PIN 01825 01827 #define CKF_USER_FRIENDLY_OTP 01828 01829 01830 01857 typedef struct CK_OTP_PARAM { 01858 CK_PARAM_TYPE type; 01859 CK_VOID_PTR pValue; 01860 CK_ULONGulValueLen; 01861 } CK_OTP_PARAM; 01862 01863 01865 typedef CK_OTP_PARAM CK_PTR CK_OTP_PARAM_PTR; 01866 01867 01905 typedef struct CK_OTP_PARAMS { 01907 CK_OTP_PARAM_PTR pParams; 01909 CK_ULONG ulCount; 01910 } CK_OTP_PARAMS; 01911 01912 01914 typedef CK_OTP_PARAMS CK_PTR CK_OTP_PARAMS_PTR; 01915 01916 01917 01918 01968 typedef struct CK_OTP_SIGNATURE_INFO { 01970 CK_OTP_PARAM_PTR pParams; 01972 CK_ULONG ulCount; 01973 } CK_OTP_SIGNATURE_INFO; 01974 01975 01977 #define CKA_OTP_TIME_INTERVAL 01978 01979 01980 01982 #define CKR_NEW_PIN_MODE 01983 01985 #define CKR_NEXT_OTP 01986 01987 01988 01989 01990 02009 typedef struct CK_KIP_PARAMS { 02011 CK_MECHANISM_PTR pMechanism; 02013 CK_OBJECT_HANDLE hKey; 02015 CK_BYTE_PTR pSeed; 02017 CK_ULONG ulSeedLen; 02018 } CK_KIP_PARAMS; 02019 02020 02022 #define CKA_VALUE 02023 02025 #define CKA_GOST28147_PARAMS 02026 02027 02028 02030 #define CKA_VALUE 02031 02033 #define CKA_OBJECT_ID 02034 02035 02036 02038 #define CKA_VALUE 02039 02041 #define CKA_OBJECT_ID 02042 02043 02044 02046 #define CKA_VALUE 02047 02049 #define CKA_GOSTR3410PARAMS 02050 02052 #define CKA_GOSTR3411PARAMS 02053 02055 #define CKA_GOST28147_PARAMS 02056 02057 02058 02060 #define CKA_VALUE 02061 02063 #define CKA_GOSTR3410PARAMS 02064 02066 #define CKA_GOSTR3411PARAMS 02067 02069 #define CKA_GOST28147_PARAMS4 02070 02071 02072 02074 #define CKA_VALUE 02075 02077 #define CKA_OBJECT_ID 02078 02079 02080 02081 02082 02143 typedef struct CK_GOSTR3410_KEY_WRAP_PARAMS { 02144 CK_BYTE_PTR pWrapOID; 02145 CK_ULONG ulWrapOIDLen; 02146 CK_BYTE_PTR pUKM; 02147 CK_ULONG ulUKMLen; 02148 CK_OBJECT_HANDLE hKey; 02149 } CK_GOSTR3410_KEY_WRAP_PARAMS; 02150 02151 02152 02153 02184 typedef struct CK_GOSTR3410_DERIVE_PARAMS { 02185 CK_EC_KDF_TYPE kdf; 02186 CK_BYTE_PTR pPublicData; 02187 CK_ULONG ulPublicDataLen; 02188 CK_BYTE_PTR pUKM; 02189 CK_ULONG ulUKMLen; 02190 } CK_GOSTR3410_DERIVE_PARAMS; 02191 02192