/* pkcs-11v2-20a3.h include file for the PKCS #11 Version 2.20 Amendment 3 document. */ /* $Revision: 1.4 $ */ /* License to copy and use this software is granted provided that it is * identified as "RSA Security Inc. PKCS #11 Cryptographic Token Interface * (Cryptoki) Version 2.20 Amendment 3" in all material mentioning or * referencing this software. * RSA Security Inc. makes no representations concerning either the * merchantability of this software or the suitability of this software for * any particular purpose. It is provided "as is" without express or implied * warranty of any kind. */ /* This file is preferably included after inclusion of pkcs11.h */ #ifndef _PKCS_11V2_20A3_H_ #define _PKCS_11V2_20A3_H_ 1 /* Are the definitions of this file already included in pkcs11t.h ? */ #ifndef CKK_CAMELLIA #ifdef __cplusplus extern "C" { #endif /* Key types */ /* Camellia is new for PKCS #11 v2.20 amendment 3 */ #define CKK_CAMELLIA 0x00000025 /* ARIA is new for PKCS #11 v2.20 amendment 3 */ #define CKK_ARIA 0x00000026 /* Mask-generating functions */ /* SHA-224 is new for PKCS #11 v2.20 amendment 3 */ #define CKG_MGF1_SHA224 0x00000005 /* Mechanism Identifiers */ /* SHA-224 is new for PKCS #11 v2.20 amendment 3 */ #define CKM_SHA224 0x00000255 #define CKM_SHA224_HMAC 0x00000256 #define CKM_SHA224_HMAC_GENERAL 0x00000257 /* SHA-224 key derivation is new for PKCS #11 v2.20 amendment 3 */ #define CKM_SHA224_KEY_DERIVATION 0x00000396 /* SHA-224 RSA mechanisms are new for PKCS #11 v2.20 amendment 3 */ #define CKM_SHA224_RSA_PKCS 0x00000046 #define CKM_SHA224_RSA_PKCS_PSS 0x00000047 /* AES counter mode is new for PKCS #11 v2.20 amendment 3 */ #define CKM_AES_CTR 0x00001086 /* Camellia is new for PKCS #11 v2.20 amendment 3 */ #define CKM_CAMELLIA_KEY_GEN 0x00000550 #define CKM_CAMELLIA_ECB 0x00000551 #define CKM_CAMELLIA_CBC 0x00000552 #define CKM_CAMELLIA_MAC 0x00000553 #define CKM_CAMELLIA_MAC_GENERAL 0x00000554 #define CKM_CAMELLIA_CBC_PAD 0x00000555 #define CKM_CAMELLIA_ECB_ENCRYPT_DATA 0x00000556 #define CKM_CAMELLIA_CBC_ENCRYPT_DATA 0x00000557 #define CKM_CAMELLIA_CTR 0x00000558 /* ARIA is new for PKCS #11 v2.20 amendment 3 */ #define CKM_ARIA_KEY_GEN 0x00000560 #define CKM_ARIA_ECB 0x00000561 #define CKM_ARIA_CBC 0x00000562 #define CKM_ARIA_MAC 0x00000563 #define CKM_ARIA_MAC_GENERAL 0x00000564 #define CKM_ARIA_CBC_PAD 0x00000565 #define CKM_ARIA_ECB_ENCRYPT_DATA 0x00000566 #define CKM_ARIA_CBC_ENCRYPT_DATA 0x00000567 /* Mechanism parameters */ /* CK_AES_CTR_PARAMS is new for PKCS #11 v2.20 amendment 3 */ typedef struct CK_AES_CTR_PARAMS { CK_ULONG ulCounterBits; CK_BYTE cb[16]; } CK_AES_CTR_PARAMS; typedef CK_AES_CTR_PARAMS CK_PTR CK_AES_CTR_PARAMS_PTR; /* CK_CAMELLIA_CTR_PARAMS is new for PKCS #11 v2.20 amendment 3 */ typedef struct CK_CAMELLIA_CTR_PARAMS { CK_ULONG ulCounterBits; CK_BYTE cb[16]; } CK_CAMELLIA_CTR_PARAMS; typedef CK_CAMELLIA_CTR_PARAMS CK_PTR CK_CAMELLIA_CTR_PARAMS_PTR; /* CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS is new for PKCS #11 v2.20 amendment 3 */ typedef struct CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS { CK_BYTE iv[16]; CK_BYTE_PTR pData; CK_ULONG length; } CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS; typedef CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS CK_PTR CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS_PTR; /* CK_ARIA_CBC_ENCRYPT_DATA_PARAMS is new for PKCS #11 v2.20 amendment 3 */ typedef struct CK_ARIA_CBC_ENCRYPT_DATA_PARAMS { CK_BYTE iv[16]; CK_BYTE_PTR pData; CK_ULONG length; } CK_ARIA_CBC_ENCRYPT_DATA_PARAMS; typedef CK_ARIA_CBC_ENCRYPT_DATA_PARAMS CK_PTR CK_ARIA_CBC_ENCRYPT_DATA_PARAMS_PTR; #ifdef __cplusplus } #endif #endif #endif