home *** CD-ROM | disk | FTP | other *** search
/ ftp.rsa.com / 2014.05.ftp.rsa.com.tar / ftp.rsa.com / pub / pkcs / pkcs-11 / v2-20 / pkcs-11v2-20a3.h < prev    next >
C/C++ Source or Header  |  2014-05-02  |  4KB  |  125 lines

  1. /* pkcs-11v2-20a3.h include file for the PKCS #11 Version 2.20 Amendment 3
  2.    document. */
  3.  
  4. /* $Revision: 1.4 $ */
  5.  
  6. /* License to copy and use this software is granted provided that it is
  7.  * identified as "RSA Security Inc. PKCS #11 Cryptographic Token Interface
  8.  * (Cryptoki) Version 2.20 Amendment 3" in all material mentioning or
  9.  * referencing this software.
  10.  
  11.  * RSA Security Inc. makes no representations concerning either the 
  12.  * merchantability of this software or the suitability of this software for
  13.  * any particular purpose. It is provided "as is" without express or implied
  14.  * warranty of any kind.
  15.  */
  16.  
  17. /* This file is preferably included after inclusion of pkcs11.h */
  18.  
  19. #ifndef _PKCS_11V2_20A3_H_
  20. #define _PKCS_11V2_20A3_H_ 1
  21.  
  22. /* Are the definitions of this file already included in pkcs11t.h ? */
  23. #ifndef CKK_CAMELLIA
  24.  
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif
  28.  
  29. /* Key types */
  30.  
  31. /* Camellia is new for PKCS #11 v2.20 amendment 3 */
  32. #define CKK_CAMELLIA                   0x00000025
  33. /* ARIA is new for PKCS #11 v2.20 amendment 3 */
  34. #define CKK_ARIA                       0x00000026
  35.  
  36.  
  37. /* Mask-generating functions */
  38.  
  39. /* SHA-224 is new for PKCS #11 v2.20 amendment 3 */
  40. #define CKG_MGF1_SHA224                0x00000005
  41.  
  42.  
  43. /* Mechanism Identifiers */
  44.  
  45. /* SHA-224 is new for PKCS #11 v2.20 amendment 3 */
  46. #define CKM_SHA224                     0x00000255
  47. #define CKM_SHA224_HMAC                0x00000256
  48. #define CKM_SHA224_HMAC_GENERAL        0x00000257
  49.  
  50. /* SHA-224 key derivation is new for PKCS #11 v2.20 amendment 3 */
  51. #define CKM_SHA224_KEY_DERIVATION      0x00000396
  52.  
  53. /* SHA-224 RSA mechanisms are new for PKCS #11 v2.20 amendment 3 */
  54. #define CKM_SHA224_RSA_PKCS            0x00000046
  55. #define CKM_SHA224_RSA_PKCS_PSS        0x00000047
  56.  
  57. /* AES counter mode is new for PKCS #11 v2.20 amendment 3 */
  58. #define CKM_AES_CTR                    0x00001086
  59.  
  60. /* Camellia is new for PKCS #11 v2.20 amendment 3 */
  61. #define CKM_CAMELLIA_KEY_GEN           0x00000550
  62. #define CKM_CAMELLIA_ECB               0x00000551
  63. #define CKM_CAMELLIA_CBC               0x00000552
  64. #define CKM_CAMELLIA_MAC               0x00000553
  65. #define CKM_CAMELLIA_MAC_GENERAL       0x00000554
  66. #define CKM_CAMELLIA_CBC_PAD           0x00000555
  67. #define CKM_CAMELLIA_ECB_ENCRYPT_DATA  0x00000556
  68. #define CKM_CAMELLIA_CBC_ENCRYPT_DATA  0x00000557
  69. #define CKM_CAMELLIA_CTR               0x00000558
  70.  
  71. /* ARIA is new for PKCS #11 v2.20 amendment 3 */
  72. #define CKM_ARIA_KEY_GEN               0x00000560
  73. #define CKM_ARIA_ECB                   0x00000561
  74. #define CKM_ARIA_CBC                   0x00000562
  75. #define CKM_ARIA_MAC                   0x00000563
  76. #define CKM_ARIA_MAC_GENERAL           0x00000564
  77. #define CKM_ARIA_CBC_PAD               0x00000565
  78. #define CKM_ARIA_ECB_ENCRYPT_DATA      0x00000566
  79. #define CKM_ARIA_CBC_ENCRYPT_DATA      0x00000567
  80.  
  81.  
  82. /* Mechanism parameters */
  83.  
  84. /* CK_AES_CTR_PARAMS is new for PKCS #11 v2.20 amendment 3 */
  85. typedef struct CK_AES_CTR_PARAMS {
  86.     CK_ULONG ulCounterBits;
  87.     CK_BYTE cb[16];
  88. } CK_AES_CTR_PARAMS;
  89.  
  90. typedef CK_AES_CTR_PARAMS CK_PTR CK_AES_CTR_PARAMS_PTR;
  91.  
  92. /* CK_CAMELLIA_CTR_PARAMS is new for PKCS #11 v2.20 amendment 3 */
  93. typedef struct CK_CAMELLIA_CTR_PARAMS {
  94.     CK_ULONG ulCounterBits;
  95.     CK_BYTE cb[16];
  96. } CK_CAMELLIA_CTR_PARAMS;
  97.  
  98. typedef CK_CAMELLIA_CTR_PARAMS CK_PTR CK_CAMELLIA_CTR_PARAMS_PTR;
  99.  
  100. /* CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS is new for PKCS #11 v2.20 amendment 3 */
  101. typedef struct CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS {
  102.     CK_BYTE      iv[16];
  103.     CK_BYTE_PTR  pData;
  104.     CK_ULONG     length;
  105. } CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS;
  106.  
  107. typedef CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS CK_PTR CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS_PTR;
  108.  
  109. /* CK_ARIA_CBC_ENCRYPT_DATA_PARAMS is new for PKCS #11 v2.20 amendment 3 */
  110. typedef struct CK_ARIA_CBC_ENCRYPT_DATA_PARAMS {
  111.     CK_BYTE      iv[16];
  112.     CK_BYTE_PTR  pData;
  113.     CK_ULONG     length;
  114. } CK_ARIA_CBC_ENCRYPT_DATA_PARAMS;
  115.  
  116. typedef CK_ARIA_CBC_ENCRYPT_DATA_PARAMS CK_PTR CK_ARIA_CBC_ENCRYPT_DATA_PARAMS_PTR;
  117.  
  118. #ifdef __cplusplus
  119. }
  120. #endif
  121.  
  122. #endif
  123.  
  124. #endif
  125.