20 typedef unsigned char CK_BYTE;
23 typedef CK_BYTE CK_CHAR;
26 typedef CK_BYTE CK_UTF8CHAR;
29 typedef CK_BYTE CK_BBOOL;
32 typedef unsigned long int CK_ULONG;
36 typedef long int CK_LONG;
39 typedef CK_ULONG CK_FLAGS;
43 #define CK_UNAVAILABLE_INFORMATION (~0UL)
44 #define CK_EFFECTIVELY_INFINITE 0
47 typedef CK_BYTE CK_PTR CK_BYTE_PTR;
48 typedef CK_CHAR CK_PTR CK_CHAR_PTR;
49 typedef CK_UTF8CHAR CK_PTR CK_UTF8CHAR_PTR;
50 typedef CK_ULONG CK_PTR CK_ULONG_PTR;
51 typedef void CK_PTR CK_VOID_PTR;
54 typedef CK_VOID_PTR CK_PTR CK_VOID_PTR_PTR;
59 #define CK_INVALID_HANDLE 0
74 CK_UTF8CHAR manufacturerID[32];
78 CK_UTF8CHAR libraryDescription[32];
82 typedef CK_INFO CK_PTR CK_INFO_PTR;
89 typedef CK_ULONG CK_NOTIFICATION;
90 #define CKN_SURRENDER 0
93 typedef CK_ULONG CK_SLOT_ID;
95 typedef CK_SLOT_ID CK_PTR CK_SLOT_ID_PTR;
102 CK_UTF8CHAR slotDescription[64];
103 CK_UTF8CHAR manufacturerID[32];
114 #define CKF_TOKEN_PRESENT 0x00000001
115 #define CKF_REMOVABLE_DEVICE 0x00000002
116 #define CKF_HW_SLOT 0x00000004
125 CK_UTF8CHAR label[32];
126 CK_UTF8CHAR manufacturerID[32];
127 CK_UTF8CHAR model[16];
128 CK_CHAR serialNumber[16];
134 CK_ULONG ulMaxSessionCount;
135 CK_ULONG ulSessionCount;
136 CK_ULONG ulMaxRwSessionCount;
137 CK_ULONG ulRwSessionCount;
138 CK_ULONG ulMaxPinLen;
139 CK_ULONG ulMinPinLen;
140 CK_ULONG ulTotalPublicMemory;
141 CK_ULONG ulFreePublicMemory;
142 CK_ULONG ulTotalPrivateMemory;
143 CK_ULONG ulFreePrivateMemory;
155 #define CKF_RNG 0x00000001
157 #define CKF_WRITE_PROTECTED 0x00000002
160 #define CKF_LOGIN_REQUIRED 0x00000004
162 #define CKF_USER_PIN_INITIALIZED 0x00000008
169 #define CKF_RESTORE_KEY_NOT_NEEDED 0x00000020
174 #define CKF_CLOCK_ON_TOKEN 0x00000040
179 #define CKF_PROTECTED_AUTHENTICATION_PATH 0x00000100
186 #define CKF_DUAL_CRYPTO_OPERATIONS 0x00000200
193 #define CKF_TOKEN_INITIALIZED 0x00000400
198 #define CKF_SECONDARY_AUTHENTICATION 0x00000800
203 #define CKF_USER_PIN_COUNT_LOW 0x00010000
207 #define CKF_USER_PIN_FINAL_TRY 0x00020000
212 #define CKF_USER_PIN_LOCKED 0x00040000
218 #define CKF_USER_PIN_TO_BE_CHANGED 0x00080000
223 #define CKF_SO_PIN_COUNT_LOW 0x00100000
227 #define CKF_SO_PIN_FINAL_TRY 0x00200000
232 #define CKF_SO_PIN_LOCKED 0x00400000
238 #define CKF_SO_PIN_TO_BE_CHANGED 0x00800000
245 typedef CK_ULONG CK_SESSION_HANDLE;
247 typedef CK_SESSION_HANDLE CK_PTR CK_SESSION_HANDLE_PTR;
253 typedef CK_ULONG CK_USER_TYPE;
263 typedef CK_ULONG CK_STATE;
264 #define CKS_RO_PUBLIC_SESSION 0
265 #define CKS_RO_USER_FUNCTIONS 1
266 #define CKS_RW_PUBLIC_SESSION 2
267 #define CKS_RW_USER_FUNCTIONS 3
268 #define CKS_RW_SO_FUNCTIONS 4
279 CK_ULONG ulDeviceError;
285 #define CKF_RW_SESSION 0x00000002
286 #define CKF_SERIAL_SESSION 0x00000004
293 typedef CK_ULONG CK_OBJECT_HANDLE;
295 typedef CK_OBJECT_HANDLE CK_PTR CK_OBJECT_HANDLE_PTR;
303 typedef CK_ULONG CK_OBJECT_CLASS;
308 #define CKO_DATA 0x00000000
309 #define CKO_CERTIFICATE 0x00000001
310 #define CKO_PUBLIC_KEY 0x00000002
311 #define CKO_PRIVATE_KEY 0x00000003
312 #define CKO_SECRET_KEY 0x00000004
313 #define CKO_HW_FEATURE 0x00000005
314 #define CKO_DOMAIN_PARAMETERS 0x00000006
315 #define CKO_VENDOR_DEFINED 0x80000000
317 typedef CK_OBJECT_CLASS CK_PTR CK_OBJECT_CLASS_PTR;
322 typedef CK_ULONG CK_HW_FEATURE_TYPE;
325 #define CKH_MONOTONIC_COUNTER 0x00000001
326 #define CKH_CLOCK 0x00000002
327 #define CKH_VENDOR_DEFINED 0x80000000
331 typedef CK_ULONG CK_KEY_TYPE;
334 #define CKK_RSA 0x00000000
335 #define CKK_DSA 0x00000001
336 #define CKK_DH 0x00000002
340 #define CKK_ECDSA 0x00000003
341 #define CKK_EC 0x00000003
342 #define CKK_X9_42_DH 0x00000004
343 #define CKK_KEA 0x00000005
345 #define CKK_GENERIC_SECRET 0x00000010
346 #define CKK_RC2 0x00000011
347 #define CKK_RC4 0x00000012
348 #define CKK_DES 0x00000013
349 #define CKK_DES2 0x00000014
350 #define CKK_DES3 0x00000015
353 #define CKK_CAST 0x00000016
354 #define CKK_CAST3 0x00000017
356 #define CKK_CAST5 0x00000018
357 #define CKK_CAST128 0x00000018
358 #define CKK_RC5 0x00000019
359 #define CKK_IDEA 0x0000001A
360 #define CKK_SKIPJACK 0x0000001B
361 #define CKK_BATON 0x0000001C
362 #define CKK_JUNIPER 0x0000001D
363 #define CKK_CDMF 0x0000001E
364 #define CKK_AES 0x0000001F
366 #define CKK_VENDOR_DEFINED 0x80000000
373 typedef CK_ULONG CK_CERTIFICATE_TYPE;
377 #define CKC_X_509 0x00000000
378 #define CKC_X_509_ATTR_CERT 0x00000001
379 #define CKC_VENDOR_DEFINED 0x80000000
386 typedef CK_ULONG CK_ATTRIBUTE_TYPE;
389 #define CKA_CLASS 0x00000000
390 #define CKA_TOKEN 0x00000001
391 #define CKA_PRIVATE 0x00000002
392 #define CKA_LABEL 0x00000003
393 #define CKA_APPLICATION 0x00000010
394 #define CKA_VALUE 0x00000011
397 #define CKA_OBJECT_ID 0x00000012
399 #define CKA_CERTIFICATE_TYPE 0x00000080
400 #define CKA_ISSUER 0x00000081
401 #define CKA_SERIAL_NUMBER 0x00000082
405 #define CKA_AC_ISSUER 0x00000083
406 #define CKA_OWNER 0x00000084
407 #define CKA_ATTR_TYPES 0x00000085
410 #define CKA_TRUSTED 0x00000086
412 #define CKA_KEY_TYPE 0x00000100
413 #define CKA_SUBJECT 0x00000101
414 #define CKA_ID 0x00000102
415 #define CKA_SENSITIVE 0x00000103
416 #define CKA_ENCRYPT 0x00000104
417 #define CKA_DECRYPT 0x00000105
418 #define CKA_WRAP 0x00000106
419 #define CKA_UNWRAP 0x00000107
420 #define CKA_SIGN 0x00000108
421 #define CKA_SIGN_RECOVER 0x00000109
422 #define CKA_VERIFY 0x0000010A
423 #define CKA_VERIFY_RECOVER 0x0000010B
424 #define CKA_DERIVE 0x0000010C
425 #define CKA_START_DATE 0x00000110
426 #define CKA_END_DATE 0x00000111
427 #define CKA_MODULUS 0x00000120
428 #define CKA_MODULUS_BITS 0x00000121
429 #define CKA_PUBLIC_EXPONENT 0x00000122
430 #define CKA_PRIVATE_EXPONENT 0x00000123
431 #define CKA_PRIME_1 0x00000124
432 #define CKA_PRIME_2 0x00000125
433 #define CKA_EXPONENT_1 0x00000126
434 #define CKA_EXPONENT_2 0x00000127
435 #define CKA_COEFFICIENT 0x00000128
436 #define CKA_PRIME 0x00000130
437 #define CKA_SUBPRIME 0x00000131
438 #define CKA_BASE 0x00000132
441 #define CKA_PRIME_BITS 0x00000133
442 #define CKA_SUB_PRIME_BITS 0x00000134
444 #define CKA_VALUE_BITS 0x00000160
445 #define CKA_VALUE_LEN 0x00000161
450 #define CKA_EXTRACTABLE 0x00000162
451 #define CKA_LOCAL 0x00000163
452 #define CKA_NEVER_EXTRACTABLE 0x00000164
453 #define CKA_ALWAYS_SENSITIVE 0x00000165
456 #define CKA_KEY_GEN_MECHANISM 0x00000166
458 #define CKA_MODIFIABLE 0x00000170
462 #define CKA_ECDSA_PARAMS 0x00000180
463 #define CKA_EC_PARAMS 0x00000180
465 #define CKA_EC_POINT 0x00000181
470 #define CKA_SECONDARY_AUTH 0x00000200
471 #define CKA_AUTH_PIN_FLAGS 0x00000201
472 #define CKA_HW_FEATURE_TYPE 0x00000300
473 #define CKA_RESET_ON_INIT 0x00000301
474 #define CKA_HAS_RESET 0x00000302
476 #define CKA_VENDOR_DEFINED 0x80000000
482 CK_ATTRIBUTE_TYPE type;
504 typedef CK_ULONG CK_MECHANISM_TYPE;
507 #define CKM_RSA_PKCS_KEY_PAIR_GEN 0x00000000
508 #define CKM_RSA_PKCS 0x00000001
509 #define CKM_RSA_9796 0x00000002
510 #define CKM_RSA_X_509 0x00000003
514 #define CKM_MD2_RSA_PKCS 0x00000004
515 #define CKM_MD5_RSA_PKCS 0x00000005
516 #define CKM_SHA1_RSA_PKCS 0x00000006
520 #define CKM_RIPEMD128_RSA_PKCS 0x00000007
521 #define CKM_RIPEMD160_RSA_PKCS 0x00000008
522 #define CKM_RSA_PKCS_OAEP 0x00000009
526 #define CKM_RSA_X9_31_KEY_PAIR_GEN 0x0000000A
527 #define CKM_RSA_X9_31 0x0000000B
528 #define CKM_SHA1_RSA_X9_31 0x0000000C
529 #define CKM_RSA_PKCS_PSS 0x0000000D
530 #define CKM_SHA1_RSA_PKCS_PSS 0x0000000E
532 #define CKM_DSA_KEY_PAIR_GEN 0x00000010
533 #define CKM_DSA 0x00000011
534 #define CKM_DSA_SHA1 0x00000012
535 #define CKM_DH_PKCS_KEY_PAIR_GEN 0x00000020
536 #define CKM_DH_PKCS_DERIVE 0x00000021
541 #define CKM_X9_42_DH_KEY_PAIR_GEN 0x00000030
542 #define CKM_X9_42_DH_DERIVE 0x00000031
543 #define CKM_X9_42_DH_HYBRID_DERIVE 0x00000032
544 #define CKM_X9_42_MQV_DERIVE 0x00000033
546 #define CKM_RC2_KEY_GEN 0x00000100
547 #define CKM_RC2_ECB 0x00000101
548 #define CKM_RC2_CBC 0x00000102
549 #define CKM_RC2_MAC 0x00000103
552 #define CKM_RC2_MAC_GENERAL 0x00000104
553 #define CKM_RC2_CBC_PAD 0x00000105
555 #define CKM_RC4_KEY_GEN 0x00000110
556 #define CKM_RC4 0x00000111
557 #define CKM_DES_KEY_GEN 0x00000120
558 #define CKM_DES_ECB 0x00000121
559 #define CKM_DES_CBC 0x00000122
560 #define CKM_DES_MAC 0x00000123
563 #define CKM_DES_MAC_GENERAL 0x00000124
564 #define CKM_DES_CBC_PAD 0x00000125
566 #define CKM_DES2_KEY_GEN 0x00000130
567 #define CKM_DES3_KEY_GEN 0x00000131
568 #define CKM_DES3_ECB 0x00000132
569 #define CKM_DES3_CBC 0x00000133
570 #define CKM_DES3_MAC 0x00000134
575 #define CKM_DES3_MAC_GENERAL 0x00000135
576 #define CKM_DES3_CBC_PAD 0x00000136
577 #define CKM_CDMF_KEY_GEN 0x00000140
578 #define CKM_CDMF_ECB 0x00000141
579 #define CKM_CDMF_CBC 0x00000142
580 #define CKM_CDMF_MAC 0x00000143
581 #define CKM_CDMF_MAC_GENERAL 0x00000144
582 #define CKM_CDMF_CBC_PAD 0x00000145
584 #define CKM_MD2 0x00000200
587 #define CKM_MD2_HMAC 0x00000201
588 #define CKM_MD2_HMAC_GENERAL 0x00000202
590 #define CKM_MD5 0x00000210
593 #define CKM_MD5_HMAC 0x00000211
594 #define CKM_MD5_HMAC_GENERAL 0x00000212
596 #define CKM_SHA_1 0x00000220
599 #define CKM_SHA_1_HMAC 0x00000221
600 #define CKM_SHA_1_HMAC_GENERAL 0x00000222
605 #define CKM_RIPEMD128 0x00000230
606 #define CKM_RIPEMD128_HMAC 0x00000231
607 #define CKM_RIPEMD128_HMAC_GENERAL 0x00000232
608 #define CKM_RIPEMD160 0x00000240
609 #define CKM_RIPEMD160_HMAC 0x00000241
610 #define CKM_RIPEMD160_HMAC_GENERAL 0x00000242
614 #define CKM_CAST_KEY_GEN 0x00000300
615 #define CKM_CAST_ECB 0x00000301
616 #define CKM_CAST_CBC 0x00000302
617 #define CKM_CAST_MAC 0x00000303
618 #define CKM_CAST_MAC_GENERAL 0x00000304
619 #define CKM_CAST_CBC_PAD 0x00000305
620 #define CKM_CAST3_KEY_GEN 0x00000310
621 #define CKM_CAST3_ECB 0x00000311
622 #define CKM_CAST3_CBC 0x00000312
623 #define CKM_CAST3_MAC 0x00000313
624 #define CKM_CAST3_MAC_GENERAL 0x00000314
625 #define CKM_CAST3_CBC_PAD 0x00000315
626 #define CKM_CAST5_KEY_GEN 0x00000320
627 #define CKM_CAST128_KEY_GEN 0x00000320
628 #define CKM_CAST5_ECB 0x00000321
629 #define CKM_CAST128_ECB 0x00000321
630 #define CKM_CAST5_CBC 0x00000322
631 #define CKM_CAST128_CBC 0x00000322
632 #define CKM_CAST5_MAC 0x00000323
633 #define CKM_CAST128_MAC 0x00000323
634 #define CKM_CAST5_MAC_GENERAL 0x00000324
635 #define CKM_CAST128_MAC_GENERAL 0x00000324
636 #define CKM_CAST5_CBC_PAD 0x00000325
637 #define CKM_CAST128_CBC_PAD 0x00000325
638 #define CKM_RC5_KEY_GEN 0x00000330
639 #define CKM_RC5_ECB 0x00000331
640 #define CKM_RC5_CBC 0x00000332
641 #define CKM_RC5_MAC 0x00000333
642 #define CKM_RC5_MAC_GENERAL 0x00000334
643 #define CKM_RC5_CBC_PAD 0x00000335
644 #define CKM_IDEA_KEY_GEN 0x00000340
645 #define CKM_IDEA_ECB 0x00000341
646 #define CKM_IDEA_CBC 0x00000342
647 #define CKM_IDEA_MAC 0x00000343
648 #define CKM_IDEA_MAC_GENERAL 0x00000344
649 #define CKM_IDEA_CBC_PAD 0x00000345
650 #define CKM_GENERIC_SECRET_KEY_GEN 0x00000350
651 #define CKM_CONCATENATE_BASE_AND_KEY 0x00000360
652 #define CKM_CONCATENATE_BASE_AND_DATA 0x00000362
653 #define CKM_CONCATENATE_DATA_AND_BASE 0x00000363
654 #define CKM_XOR_BASE_AND_DATA 0x00000364
655 #define CKM_EXTRACT_KEY_FROM_KEY 0x00000365
656 #define CKM_SSL3_PRE_MASTER_KEY_GEN 0x00000370
657 #define CKM_SSL3_MASTER_KEY_DERIVE 0x00000371
658 #define CKM_SSL3_KEY_AND_MAC_DERIVE 0x00000372
663 #define CKM_SSL3_MASTER_KEY_DERIVE_DH 0x00000373
664 #define CKM_TLS_PRE_MASTER_KEY_GEN 0x00000374
665 #define CKM_TLS_MASTER_KEY_DERIVE 0x00000375
666 #define CKM_TLS_KEY_AND_MAC_DERIVE 0x00000376
667 #define CKM_TLS_MASTER_KEY_DERIVE_DH 0x00000377
669 #define CKM_SSL3_MD5_MAC 0x00000380
670 #define CKM_SSL3_SHA1_MAC 0x00000381
671 #define CKM_MD5_KEY_DERIVATION 0x00000390
672 #define CKM_MD2_KEY_DERIVATION 0x00000391
673 #define CKM_SHA1_KEY_DERIVATION 0x00000392
674 #define CKM_PBE_MD2_DES_CBC 0x000003A0
675 #define CKM_PBE_MD5_DES_CBC 0x000003A1
676 #define CKM_PBE_MD5_CAST_CBC 0x000003A2
677 #define CKM_PBE_MD5_CAST3_CBC 0x000003A3
678 #define CKM_PBE_MD5_CAST5_CBC 0x000003A4
679 #define CKM_PBE_MD5_CAST128_CBC 0x000003A4
680 #define CKM_PBE_SHA1_CAST5_CBC 0x000003A5
681 #define CKM_PBE_SHA1_CAST128_CBC 0x000003A5
682 #define CKM_PBE_SHA1_RC4_128 0x000003A6
683 #define CKM_PBE_SHA1_RC4_40 0x000003A7
684 #define CKM_PBE_SHA1_DES3_EDE_CBC 0x000003A8
685 #define CKM_PBE_SHA1_DES2_EDE_CBC 0x000003A9
686 #define CKM_PBE_SHA1_RC2_128_CBC 0x000003AA
687 #define CKM_PBE_SHA1_RC2_40_CBC 0x000003AB
690 #define CKM_PKCS5_PBKD2 0x000003B0
692 #define CKM_PBA_SHA1_WITH_SHA1_HMAC 0x000003C0
693 #define CKM_KEY_WRAP_LYNKS 0x00000400
694 #define CKM_KEY_WRAP_SET_OAEP 0x00000401
697 #define CKM_SKIPJACK_KEY_GEN 0x00001000
698 #define CKM_SKIPJACK_ECB64 0x00001001
699 #define CKM_SKIPJACK_CBC64 0x00001002
700 #define CKM_SKIPJACK_OFB64 0x00001003
701 #define CKM_SKIPJACK_CFB64 0x00001004
702 #define CKM_SKIPJACK_CFB32 0x00001005
703 #define CKM_SKIPJACK_CFB16 0x00001006
704 #define CKM_SKIPJACK_CFB8 0x00001007
705 #define CKM_SKIPJACK_WRAP 0x00001008
706 #define CKM_SKIPJACK_PRIVATE_WRAP 0x00001009
707 #define CKM_SKIPJACK_RELAYX 0x0000100a
708 #define CKM_KEA_KEY_PAIR_GEN 0x00001010
709 #define CKM_KEA_KEY_DERIVE 0x00001011
710 #define CKM_FORTEZZA_TIMESTAMP 0x00001020
711 #define CKM_BATON_KEY_GEN 0x00001030
712 #define CKM_BATON_ECB128 0x00001031
713 #define CKM_BATON_ECB96 0x00001032
714 #define CKM_BATON_CBC128 0x00001033
715 #define CKM_BATON_COUNTER 0x00001034
716 #define CKM_BATON_SHUFFLE 0x00001035
717 #define CKM_BATON_WRAP 0x00001036
721 #define CKM_ECDSA_KEY_PAIR_GEN 0x00001040
722 #define CKM_EC_KEY_PAIR_GEN 0x00001040
724 #define CKM_ECDSA 0x00001041
725 #define CKM_ECDSA_SHA1 0x00001042
729 #define CKM_ECDH1_DERIVE 0x00001050
730 #define CKM_ECDH1_COFACTOR_DERIVE 0x00001051
731 #define CKM_ECMQV_DERIVE 0x00001052
733 #define CKM_JUNIPER_KEY_GEN 0x00001060
734 #define CKM_JUNIPER_ECB128 0x00001061
735 #define CKM_JUNIPER_CBC128 0x00001062
736 #define CKM_JUNIPER_COUNTER 0x00001063
737 #define CKM_JUNIPER_SHUFFLE 0x00001064
738 #define CKM_JUNIPER_WRAP 0x00001065
739 #define CKM_FASTHASH 0x00001070
745 #define CKM_AES_KEY_GEN 0x00001080
746 #define CKM_AES_ECB 0x00001081
747 #define CKM_AES_CBC 0x00001082
748 #define CKM_AES_MAC 0x00001083
749 #define CKM_AES_MAC_GENERAL 0x00001084
750 #define CKM_AES_CBC_PAD 0x00001085
751 #define CKM_DSA_PARAMETER_GEN 0x00002000
752 #define CKM_DH_PKCS_PARAMETER_GEN 0x00002001
753 #define CKM_X9_42_DH_PARAMETER_GEN 0x00002002
755 #define CKM_VENDOR_DEFINED 0x80000000
757 typedef CK_MECHANISM_TYPE CK_PTR CK_MECHANISM_TYPE_PTR;
763 CK_MECHANISM_TYPE mechanism;
764 CK_VOID_PTR pParameter;
768 CK_ULONG ulParameterLen;
777 CK_ULONG ulMinKeySize;
778 CK_ULONG ulMaxKeySize;
784 #define CKF_HW 0x00000001
791 #define CKF_ENCRYPT 0x00000100
792 #define CKF_DECRYPT 0x00000200
793 #define CKF_DIGEST 0x00000400
794 #define CKF_SIGN 0x00000800
795 #define CKF_SIGN_RECOVER 0x00001000
796 #define CKF_VERIFY 0x00002000
797 #define CKF_VERIFY_RECOVER 0x00004000
798 #define CKF_GENERATE 0x00008000
799 #define CKF_GENERATE_KEY_PAIR 0x00010000
800 #define CKF_WRAP 0x00020000
801 #define CKF_UNWRAP 0x00040000
802 #define CKF_DERIVE 0x00080000
808 #define CKF_EC_F_P 0x00100000
809 #define CKF_EC_F_2M 0x00200000
810 #define CKF_EC_ECPARAMETERS 0x00400000
811 #define CKF_EC_NAMEDCURVE 0x00800000
812 #define CKF_EC_UNCOMPRESS 0x01000000
813 #define CKF_EC_COMPRESS 0x02000000
815 #define CKF_EXTENSION 0x80000000
823 typedef CK_ULONG CK_RV;
825 #define CKR_OK 0x00000000
826 #define CKR_CANCEL 0x00000001
827 #define CKR_HOST_MEMORY 0x00000002
828 #define CKR_SLOT_ID_INVALID 0x00000003
833 #define CKR_GENERAL_ERROR 0x00000005
834 #define CKR_FUNCTION_FAILED 0x00000006
838 #define CKR_ARGUMENTS_BAD 0x00000007
839 #define CKR_NO_EVENT 0x00000008
840 #define CKR_NEED_TO_CREATE_THREADS 0x00000009
841 #define CKR_CANT_LOCK 0x0000000A
843 #define CKR_ATTRIBUTE_READ_ONLY 0x00000010
844 #define CKR_ATTRIBUTE_SENSITIVE 0x00000011
845 #define CKR_ATTRIBUTE_TYPE_INVALID 0x00000012
846 #define CKR_ATTRIBUTE_VALUE_INVALID 0x00000013
847 #define CKR_DATA_INVALID 0x00000020
848 #define CKR_DATA_LEN_RANGE 0x00000021
849 #define CKR_DEVICE_ERROR 0x00000030
850 #define CKR_DEVICE_MEMORY 0x00000031
851 #define CKR_DEVICE_REMOVED 0x00000032
852 #define CKR_ENCRYPTED_DATA_INVALID 0x00000040
853 #define CKR_ENCRYPTED_DATA_LEN_RANGE 0x00000041
854 #define CKR_FUNCTION_CANCELED 0x00000050
855 #define CKR_FUNCTION_NOT_PARALLEL 0x00000051
858 #define CKR_FUNCTION_NOT_SUPPORTED 0x00000054
860 #define CKR_KEY_HANDLE_INVALID 0x00000060
864 #define CKR_KEY_SIZE_RANGE 0x00000062
865 #define CKR_KEY_TYPE_INCONSISTENT 0x00000063
871 #define CKR_KEY_NOT_NEEDED 0x00000064
872 #define CKR_KEY_CHANGED 0x00000065
873 #define CKR_KEY_NEEDED 0x00000066
874 #define CKR_KEY_INDIGESTIBLE 0x00000067
875 #define CKR_KEY_FUNCTION_NOT_PERMITTED 0x00000068
876 #define CKR_KEY_NOT_WRAPPABLE 0x00000069
877 #define CKR_KEY_UNEXTRACTABLE 0x0000006A
879 #define CKR_MECHANISM_INVALID 0x00000070
880 #define CKR_MECHANISM_PARAM_INVALID 0x00000071
884 #define CKR_OBJECT_HANDLE_INVALID 0x00000082
885 #define CKR_OPERATION_ACTIVE 0x00000090
886 #define CKR_OPERATION_NOT_INITIALIZED 0x00000091
887 #define CKR_PIN_INCORRECT 0x000000A0
888 #define CKR_PIN_INVALID 0x000000A1
889 #define CKR_PIN_LEN_RANGE 0x000000A2
892 #define CKR_PIN_EXPIRED 0x000000A3
893 #define CKR_PIN_LOCKED 0x000000A4
895 #define CKR_SESSION_CLOSED 0x000000B0
896 #define CKR_SESSION_COUNT 0x000000B1
897 #define CKR_SESSION_HANDLE_INVALID 0x000000B3
898 #define CKR_SESSION_PARALLEL_NOT_SUPPORTED 0x000000B4
899 #define CKR_SESSION_READ_ONLY 0x000000B5
900 #define CKR_SESSION_EXISTS 0x000000B6
904 #define CKR_SESSION_READ_ONLY_EXISTS 0x000000B7
905 #define CKR_SESSION_READ_WRITE_SO_EXISTS 0x000000B8
907 #define CKR_SIGNATURE_INVALID 0x000000C0
908 #define CKR_SIGNATURE_LEN_RANGE 0x000000C1
909 #define CKR_TEMPLATE_INCOMPLETE 0x000000D0
910 #define CKR_TEMPLATE_INCONSISTENT 0x000000D1
911 #define CKR_TOKEN_NOT_PRESENT 0x000000E0
912 #define CKR_TOKEN_NOT_RECOGNIZED 0x000000E1
913 #define CKR_TOKEN_WRITE_PROTECTED 0x000000E2
914 #define CKR_UNWRAPPING_KEY_HANDLE_INVALID 0x000000F0
915 #define CKR_UNWRAPPING_KEY_SIZE_RANGE 0x000000F1
916 #define CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT 0x000000F2
917 #define CKR_USER_ALREADY_LOGGED_IN 0x00000100
918 #define CKR_USER_NOT_LOGGED_IN 0x00000101
919 #define CKR_USER_PIN_NOT_INITIALIZED 0x00000102
920 #define CKR_USER_TYPE_INVALID 0x00000103
924 #define CKR_USER_ANOTHER_ALREADY_LOGGED_IN 0x00000104
925 #define CKR_USER_TOO_MANY_TYPES 0x00000105
927 #define CKR_WRAPPED_KEY_INVALID 0x00000110
928 #define CKR_WRAPPED_KEY_LEN_RANGE 0x00000112
929 #define CKR_WRAPPING_KEY_HANDLE_INVALID 0x00000113
930 #define CKR_WRAPPING_KEY_SIZE_RANGE 0x00000114
931 #define CKR_WRAPPING_KEY_TYPE_INCONSISTENT 0x00000115
932 #define CKR_RANDOM_SEED_NOT_SUPPORTED 0x00000120
935 #define CKR_RANDOM_NO_RNG 0x00000121
938 #define CKR_DOMAIN_PARAMS_INVALID 0x00000130
941 #define CKR_BUFFER_TOO_SMALL 0x00000150
942 #define CKR_SAVED_STATE_INVALID 0x00000160
943 #define CKR_INFORMATION_SENSITIVE 0x00000170
944 #define CKR_STATE_UNSAVEABLE 0x00000180
947 #define CKR_CRYPTOKI_NOT_INITIALIZED 0x00000190
948 #define CKR_CRYPTOKI_ALREADY_INITIALIZED 0x00000191
949 #define CKR_MUTEX_BAD 0x000001A0
950 #define CKR_MUTEX_NOT_LOCKED 0x000001A1
952 #define CKR_VENDOR_DEFINED 0x80000000
956 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_NOTIFY)(
957 CK_SESSION_HANDLE hSession,
958 CK_NOTIFICATION event,
959 CK_VOID_PTR pApplication
971 typedef CK_FUNCTION_LIST_PTR CK_PTR CK_FUNCTION_LIST_PTR_PTR;
976 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_CREATEMUTEX)(
977 CK_VOID_PTR_PTR ppMutex
983 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_DESTROYMUTEX)(
989 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_LOCKMUTEX)(
996 typedef CK_CALLBACK_FUNCTION(CK_RV, CK_UNLOCKMUTEX)(
1004 CK_CREATEMUTEX CreateMutex;
1005 CK_DESTROYMUTEX DestroyMutex;
1006 CK_LOCKMUTEX LockMutex;
1007 CK_UNLOCKMUTEX UnlockMutex;
1009 CK_VOID_PTR pReserved;
1015 #define CKF_LIBRARY_CANT_CREATE_OS_THREADS 0x00000001
1016 #define CKF_OS_LOCKING_OK 0x00000002
1024 #define CKF_DONT_BLOCK 1
1031 typedef CK_ULONG CK_RSA_PKCS_MGF_TYPE;
1033 typedef CK_RSA_PKCS_MGF_TYPE CK_PTR CK_RSA_PKCS_MGF_TYPE_PTR;
1036 #define CKG_MGF1_SHA1 0x00000001
1042 typedef CK_ULONG CK_RSA_PKCS_OAEP_SOURCE_TYPE;
1044 typedef CK_RSA_PKCS_OAEP_SOURCE_TYPE CK_PTR CK_RSA_PKCS_OAEP_SOURCE_TYPE_PTR;
1047 #define CKZ_DATA_SPECIFIED 0x00000001
1053 CK_MECHANISM_TYPE hashAlg;
1054 CK_RSA_PKCS_MGF_TYPE mgf;
1055 CK_RSA_PKCS_OAEP_SOURCE_TYPE source;
1056 CK_VOID_PTR pSourceData;
1057 CK_ULONG ulSourceDataLen;
1066 CK_MECHANISM_TYPE hashAlg;
1067 CK_RSA_PKCS_MGF_TYPE mgf;
1076 CK_ULONG ulRandomLen;
1077 CK_BYTE_PTR pRandomA;
1078 CK_BYTE_PTR pRandomB;
1079 CK_ULONG ulPublicDataLen;
1080 CK_BYTE_PTR pPublicData;
1089 typedef CK_ULONG CK_RC2_PARAMS;
1091 typedef CK_RC2_PARAMS CK_PTR CK_RC2_PARAMS_PTR;
1099 CK_ULONG ulEffectiveBits;
1111 CK_ULONG ulEffectiveBits;
1112 CK_ULONG ulMacLength;
1116 CK_RC2_MAC_GENERAL_PARAMS_PTR;
1123 CK_ULONG ulWordsize;
1134 CK_ULONG ulWordsize;
1147 CK_ULONG ulWordsize;
1149 CK_ULONG ulMacLength;
1153 CK_RC5_MAC_GENERAL_PARAMS_PTR;
1160 typedef CK_ULONG CK_MAC_GENERAL_PARAMS;
1162 typedef CK_MAC_GENERAL_PARAMS CK_PTR CK_MAC_GENERAL_PARAMS_PTR;
1169 CK_ULONG ulPasswordLen;
1170 CK_BYTE_PTR pPassword;
1171 CK_ULONG ulPublicDataLen;
1172 CK_BYTE_PTR pPublicData;
1173 CK_ULONG ulPAndGLen;
1175 CK_ULONG ulRandomLen;
1176 CK_BYTE_PTR pRandomA;
1177 CK_BYTE_PTR pPrimeP;
1179 CK_BYTE_PTR pSubprimeQ;
1183 CK_SKIPJACK_PRIVATE_WRAP_PTR;
1190 CK_ULONG ulOldWrappedXLen;
1191 CK_BYTE_PTR pOldWrappedX;
1192 CK_ULONG ulOldPasswordLen;
1193 CK_BYTE_PTR pOldPassword;
1194 CK_ULONG ulOldPublicDataLen;
1195 CK_BYTE_PTR pOldPublicData;
1196 CK_ULONG ulOldRandomLen;
1197 CK_BYTE_PTR pOldRandomA;
1198 CK_ULONG ulNewPasswordLen;
1199 CK_BYTE_PTR pNewPassword;
1200 CK_ULONG ulNewPublicDataLen;
1201 CK_BYTE_PTR pNewPublicData;
1202 CK_ULONG ulNewRandomLen;
1203 CK_BYTE_PTR pNewRandomA;
1207 CK_SKIPJACK_RELAYX_PARAMS_PTR;
1211 CK_BYTE_PTR pInitVector;
1212 CK_UTF8CHAR_PTR pPassword;
1213 CK_ULONG ulPasswordLen;
1216 CK_ULONG ulIteration;
1232 CK_KEY_WRAP_SET_OAEP_PARAMS_PTR;
1236 CK_BYTE_PTR pClientRandom;
1237 CK_ULONG ulClientRandomLen;
1238 CK_BYTE_PTR pServerRandom;
1239 CK_ULONG ulServerRandomLen;
1245 CK_VERSION_PTR pVersion;
1249 CK_SSL3_MASTER_KEY_DERIVE_PARAMS_PTR;
1253 CK_OBJECT_HANDLE hClientMacSecret;
1254 CK_OBJECT_HANDLE hServerMacSecret;
1255 CK_OBJECT_HANDLE hClientKey;
1256 CK_OBJECT_HANDLE hServerKey;
1257 CK_BYTE_PTR pIVClient;
1258 CK_BYTE_PTR pIVServer;
1265 CK_ULONG ulMacSizeInBits;
1266 CK_ULONG ulKeySizeInBits;
1267 CK_ULONG ulIVSizeInBits;
1270 CK_SSL3_KEY_MAT_OUT_PTR pReturnedKeyMaterial;
1282 CK_KEY_DERIVATION_STRING_DATA_PTR;
1290 typedef CK_ULONG CK_EXTRACT_PARAMS;
1292 typedef CK_EXTRACT_PARAMS CK_PTR CK_EXTRACT_PARAMS_PTR;
1298 typedef CK_ULONG CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE;
1300 typedef CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE CK_PTR CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE_PTR;
1303 #define CKP_PKCS5_PBKD2_HMAC_SHA1 0x00000001
1310 typedef CK_ULONG CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE;
1312 typedef CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE CK_PTR CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE_PTR;
1315 #define CKZ_SALT_SPECIFIED 0x00000001
1321 CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE saltSource;
1322 CK_VOID_PTR pSaltSourceData;
1323 CK_ULONG ulSaltSourceDataLen;
1324 CK_ULONG iterations;
1325 CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE prf;
1326 CK_VOID_PTR pPrfData;
1327 CK_ULONG ulPrfDataLen;
1328 CK_UTF8CHAR_PTR pPassword;
1329 CK_ULONG_PTR ulPasswordLen;
Definition: pkcs11t.h:476
Definition: pkcs11t.h:998
Definition: pkcs11t.h:488
Definition: pkcs11t.h:1069
Definition: pkcs11t.h:1271
Definition: pkcs11t.h:1220
Definition: pkcs11t.h:771
Definition: pkcs11t.h:757
Definition: pkcs11t.h:1205
Definition: pkcs11t.h:1315
Definition: pkcs11t.h:1091
Definition: pkcs11t.h:1105
Definition: pkcs11t.h:1128
Definition: pkcs11t.h:1141
Definition: pkcs11t.h:1117
Definition: pkcs11t.h:1047
Definition: pkcs11t.h:1060
Definition: pkcs11t.h:267
Definition: pkcs11t.h:1163
Definition: pkcs11t.h:1184
Definition: pkcs11t.h:1247
Definition: pkcs11t.h:1259
Definition: pkcs11t.h:1238
Definition: pkcs11t.h:1230
Definition: pkcs11t.h:122