|
Packit |
8681c6 |
/*
|
|
Packit |
8681c6 |
* COPYRIGHT (c) International Business Machines Corp. 2005-2017
|
|
Packit |
8681c6 |
*
|
|
Packit |
8681c6 |
* This program is provided under the terms of the Common Public License,
|
|
Packit |
8681c6 |
* version 1.0 (CPL-1.0). Any use, reproduction or distribution for this
|
|
Packit |
8681c6 |
* software constitutes recipient's acceptance of CPL-1.0 terms which can be
|
|
Packit |
8681c6 |
* found in the file LICENSE file or at
|
|
Packit |
8681c6 |
* https://opensource.org/licenses/cpl1.0.php
|
|
Packit |
8681c6 |
*/
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#ifndef _MECH_LIST_TYPES_H
|
|
Packit |
8681c6 |
#define _MECH_LIST_TYPES_H
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/**
|
|
Packit |
8681c6 |
* These defines are copied over from the pkcs11types.h file found in
|
|
Packit |
8681c6 |
* the openCryptoki package.
|
|
Packit |
8681c6 |
*/
|
|
Packit |
8681c6 |
/* An unsigned value, at least 32 bits long */
|
|
Packit |
8681c6 |
typedef unsigned long int CK_ULONG;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* A signed value, the same size as a CK_ULONG */
|
|
Packit |
8681c6 |
/* CK_LONG is new for v2.0 */
|
|
Packit |
8681c6 |
typedef long int CK_LONG;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* At least 32 bits; each bit is a Boolean flag */
|
|
Packit |
8681c6 |
typedef CK_ULONG CK_FLAGS;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* CK_MECHANISM_TYPE is a value that identifies a mechanism
|
|
Packit |
8681c6 |
* type */
|
|
Packit |
8681c6 |
typedef CK_ULONG CK_MECHANISM_TYPE;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* The following mechanism types are defined: */
|
|
Packit |
8681c6 |
#define CKM_RSA_PKCS_KEY_PAIR_GEN 0x00000000
|
|
Packit |
8681c6 |
#define CKM_RSA_PKCS 0x00000001
|
|
Packit |
8681c6 |
#define CKM_RSA_9796 0x00000002
|
|
Packit |
8681c6 |
#define CKM_RSA_X_509 0x00000003
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* CKM_MD2_RSA_PKCS, CKM_MD5_RSA_PKCS, and CKM_SHA1_RSA_PKCS
|
|
Packit |
8681c6 |
* are new for v2.0. They are mechanisms which hash and sign */
|
|
Packit |
8681c6 |
#define CKM_MD2_RSA_PKCS 0x00000004
|
|
Packit |
8681c6 |
#define CKM_MD5_RSA_PKCS 0x00000005
|
|
Packit |
8681c6 |
#define CKM_SHA1_RSA_PKCS 0x00000006
|
|
Packit |
8681c6 |
/* The following are new for v2.11: */
|
|
Packit |
8681c6 |
#define CKM_RIPEMD128_RSA_PKCS 0x00000007
|
|
Packit |
8681c6 |
#define CKM_RIPEMD160_RSA_PKCS 0x00000008
|
|
Packit |
8681c6 |
#define CKM_RSA_PKCS_OAEP 0x00000009
|
|
Packit |
8681c6 |
#define CKM_RSA_X9_31_KEY_PAIR_GEN 0x0000000A
|
|
Packit |
8681c6 |
#define CKM_RSA_X9_31 0x0000000B
|
|
Packit |
8681c6 |
#define CKM_SHA1_RSA_X9_31 0x0000000C
|
|
Packit |
8681c6 |
#define CKM_RSA_PKCS_PSS 0x0000000D
|
|
Packit |
8681c6 |
#define CKM_SHA1_RSA_PKCS_PSS 0x0000000E
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define CKM_DSA_KEY_PAIR_GEN 0x00000010
|
|
Packit |
8681c6 |
#define CKM_DSA 0x00000011
|
|
Packit |
8681c6 |
#define CKM_DSA_SHA1 0x00000012
|
|
Packit |
8681c6 |
#define CKM_DH_PKCS_KEY_PAIR_GEN 0x00000020
|
|
Packit |
8681c6 |
#define CKM_DH_PKCS_DERIVE 0x00000021
|
|
Packit |
8681c6 |
/* The following are new for v2.11 */
|
|
Packit |
8681c6 |
#define CKM_X9_42_DH_KEY_PAIR_GEN 0x00000030
|
|
Packit |
8681c6 |
#define CKM_X9_42_DH_DERIVE 0x00000031
|
|
Packit |
8681c6 |
#define CKM_X9_42_DH_HYBRID_DERIVE 0x00000032
|
|
Packit |
8681c6 |
#define CKM_X9_42_MQV_DERIVE 0x00000033
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define CKM_RC2_KEY_GEN 0x00000100
|
|
Packit |
8681c6 |
#define CKM_RC2_ECB 0x00000101
|
|
Packit |
8681c6 |
#define CKM_RC2_CBC 0x00000102
|
|
Packit |
8681c6 |
#define CKM_RC2_MAC 0x00000103
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* CKM_RC2_MAC_GENERAL and CKM_RC2_CBC_PAD are new for v2.0 */
|
|
Packit |
8681c6 |
#define CKM_RC2_MAC_GENERAL 0x00000104
|
|
Packit |
8681c6 |
#define CKM_RC2_CBC_PAD 0x00000105
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define CKM_RC4_KEY_GEN 0x00000110
|
|
Packit |
8681c6 |
#define CKM_RC4 0x00000111
|
|
Packit |
8681c6 |
#define CKM_DES_KEY_GEN 0x00000120
|
|
Packit |
8681c6 |
#define CKM_DES_ECB 0x00000121
|
|
Packit |
8681c6 |
#define CKM_DES_CBC 0x00000122
|
|
Packit |
8681c6 |
#define CKM_DES_MAC 0x00000123
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* CKM_DES_MAC_GENERAL and CKM_DES_CBC_PAD are new for v2.0 */
|
|
Packit |
8681c6 |
#define CKM_DES_MAC_GENERAL 0x00000124
|
|
Packit |
8681c6 |
#define CKM_DES_CBC_PAD 0x00000125
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define CKM_DES2_KEY_GEN 0x00000130
|
|
Packit |
8681c6 |
#define CKM_DES3_KEY_GEN 0x00000131
|
|
Packit |
8681c6 |
#define CKM_DES3_ECB 0x00000132
|
|
Packit |
8681c6 |
#define CKM_DES3_CBC 0x00000133
|
|
Packit |
8681c6 |
#define CKM_DES3_MAC 0x00000134
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* CKM_DES3_MAC_GENERAL, CKM_DES3_CBC_PAD, CKM_CDMF_KEY_GEN,
|
|
Packit |
8681c6 |
* CKM_CDMF_ECB, CKM_CDMF_CBC, CKM_CDMF_MAC,
|
|
Packit |
8681c6 |
* CKM_CDMF_MAC_GENERAL, and CKM_CDMF_CBC_PAD are new for v2.0 */
|
|
Packit |
8681c6 |
#define CKM_DES3_MAC_GENERAL 0x00000135
|
|
Packit |
8681c6 |
#define CKM_DES3_CBC_PAD 0x00000136
|
|
Packit |
8681c6 |
#define CKM_DES3_CMAC_GENERAL 0x00000137
|
|
Packit |
8681c6 |
#define CKM_DES3_CMAC 0x00000138
|
|
Packit |
8681c6 |
#define CKM_CDMF_KEY_GEN 0x00000140
|
|
Packit |
8681c6 |
#define CKM_CDMF_ECB 0x00000141
|
|
Packit |
8681c6 |
#define CKM_CDMF_CBC 0x00000142
|
|
Packit |
8681c6 |
#define CKM_CDMF_MAC 0x00000143
|
|
Packit |
8681c6 |
#define CKM_CDMF_MAC_GENERAL 0x00000144
|
|
Packit |
8681c6 |
#define CKM_CDMF_CBC_PAD 0x00000145
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define CKM_MD2 0x00000200
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* CKM_MD2_HMAC and CKM_MD2_HMAC_GENERAL are new for v2.0 */
|
|
Packit |
8681c6 |
#define CKM_MD2_HMAC 0x00000201
|
|
Packit |
8681c6 |
#define CKM_MD2_HMAC_GENERAL 0x00000202
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define CKM_MD5 0x00000210
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* CKM_MD5_HMAC and CKM_MD5_HMAC_GENERAL are new for v2.0 */
|
|
Packit |
8681c6 |
#define CKM_MD5_HMAC 0x00000211
|
|
Packit |
8681c6 |
#define CKM_MD5_HMAC_GENERAL 0x00000212
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define CKM_SHA_1 0x00000220
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* CKM_SHA_1_HMAC and CKM_SHA_1_HMAC_GENERAL are new for v2.0 */
|
|
Packit |
8681c6 |
#define CKM_SHA_1_HMAC 0x00000221
|
|
Packit |
8681c6 |
#define CKM_SHA_1_HMAC_GENERAL 0x00000222
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* The following are new for v2.11 */
|
|
Packit |
8681c6 |
#define CKM_RIPEMD128 0x00000230
|
|
Packit |
8681c6 |
#define CKM_RIPEMD128_HMAC 0x00000231
|
|
Packit |
8681c6 |
#define CKM_RIPEMD128_HMAC_GENERAL 0x00000232
|
|
Packit |
8681c6 |
#define CKM_RIPEMD160 0x00000240
|
|
Packit |
8681c6 |
#define CKM_RIPEMD160_HMAC 0x00000241
|
|
Packit |
8681c6 |
#define CKM_RIPEMD160_HMAC_GENERAL 0x00000242
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* All of the following mechanisms are new for v2.0 */
|
|
Packit |
8681c6 |
/* Note that CAST128 and CAST5 are the same algorithm */
|
|
Packit |
8681c6 |
#define CKM_CAST_KEY_GEN 0x00000300
|
|
Packit |
8681c6 |
#define CKM_CAST_ECB 0x00000301
|
|
Packit |
8681c6 |
#define CKM_CAST_CBC 0x00000302
|
|
Packit |
8681c6 |
#define CKM_CAST_MAC 0x00000303
|
|
Packit |
8681c6 |
#define CKM_CAST_MAC_GENERAL 0x00000304
|
|
Packit |
8681c6 |
#define CKM_CAST_CBC_PAD 0x00000305
|
|
Packit |
8681c6 |
#define CKM_CAST3_KEY_GEN 0x00000310
|
|
Packit |
8681c6 |
#define CKM_CAST3_ECB 0x00000311
|
|
Packit |
8681c6 |
#define CKM_CAST3_CBC 0x00000312
|
|
Packit |
8681c6 |
#define CKM_CAST3_MAC 0x00000313
|
|
Packit |
8681c6 |
#define CKM_CAST3_MAC_GENERAL 0x00000314
|
|
Packit |
8681c6 |
#define CKM_CAST3_CBC_PAD 0x00000315
|
|
Packit |
8681c6 |
#define CKM_CAST5_KEY_GEN 0x00000320
|
|
Packit |
8681c6 |
#define CKM_CAST128_KEY_GEN 0x00000320
|
|
Packit |
8681c6 |
#define CKM_CAST5_ECB 0x00000321
|
|
Packit |
8681c6 |
#define CKM_CAST128_ECB 0x00000321
|
|
Packit |
8681c6 |
#define CKM_CAST5_CBC 0x00000322
|
|
Packit |
8681c6 |
#define CKM_CAST128_CBC 0x00000322
|
|
Packit |
8681c6 |
#define CKM_CAST5_MAC 0x00000323
|
|
Packit |
8681c6 |
#define CKM_CAST128_MAC 0x00000323
|
|
Packit |
8681c6 |
#define CKM_CAST5_MAC_GENERAL 0x00000324
|
|
Packit |
8681c6 |
#define CKM_CAST128_MAC_GENERAL 0x00000324
|
|
Packit |
8681c6 |
#define CKM_CAST5_CBC_PAD 0x00000325
|
|
Packit |
8681c6 |
#define CKM_CAST128_CBC_PAD 0x00000325
|
|
Packit |
8681c6 |
#define CKM_RC5_KEY_GEN 0x00000330
|
|
Packit |
8681c6 |
#define CKM_RC5_ECB 0x00000331
|
|
Packit |
8681c6 |
#define CKM_RC5_CBC 0x00000332
|
|
Packit |
8681c6 |
#define CKM_RC5_MAC 0x00000333
|
|
Packit |
8681c6 |
#define CKM_RC5_MAC_GENERAL 0x00000334
|
|
Packit |
8681c6 |
#define CKM_RC5_CBC_PAD 0x00000335
|
|
Packit |
8681c6 |
#define CKM_IDEA_KEY_GEN 0x00000340
|
|
Packit |
8681c6 |
#define CKM_IDEA_ECB 0x00000341
|
|
Packit |
8681c6 |
#define CKM_IDEA_CBC 0x00000342
|
|
Packit |
8681c6 |
#define CKM_IDEA_MAC 0x00000343
|
|
Packit |
8681c6 |
#define CKM_IDEA_MAC_GENERAL 0x00000344
|
|
Packit |
8681c6 |
#define CKM_IDEA_CBC_PAD 0x00000345
|
|
Packit |
8681c6 |
#define CKM_GENERIC_SECRET_KEY_GEN 0x00000350
|
|
Packit |
8681c6 |
#define CKM_CONCATENATE_BASE_AND_KEY 0x00000360
|
|
Packit |
8681c6 |
#define CKM_CONCATENATE_BASE_AND_DATA 0x00000362
|
|
Packit |
8681c6 |
#define CKM_CONCATENATE_DATA_AND_BASE 0x00000363
|
|
Packit |
8681c6 |
#define CKM_XOR_BASE_AND_DATA 0x00000364
|
|
Packit |
8681c6 |
#define CKM_EXTRACT_KEY_FROM_KEY 0x00000365
|
|
Packit |
8681c6 |
#define CKM_SSL3_PRE_MASTER_KEY_GEN 0x00000370
|
|
Packit |
8681c6 |
#define CKM_SSL3_MASTER_KEY_DERIVE 0x00000371
|
|
Packit |
8681c6 |
#define CKM_SSL3_KEY_AND_MAC_DERIVE 0x00000372
|
|
Packit |
8681c6 |
/* The following are new for v2.11 */
|
|
Packit |
8681c6 |
#define CKM_SSL3_MASTER_KEY_DERIVE_DH 0x00000373
|
|
Packit |
8681c6 |
#define CKM_TLS_PRE_MASTER_KEY_GEN 0x00000374
|
|
Packit |
8681c6 |
#define CKM_TLS_MASTER_KEY_DERIVE 0x00000375
|
|
Packit |
8681c6 |
#define CKM_TLS_KEY_AND_MAC_DERIVE 0x00000376
|
|
Packit |
8681c6 |
#define CKM_TLS_MASTER_KEY_DERIVE_DH 0x00000377
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define CKM_SSL3_MD5_MAC 0x00000380
|
|
Packit |
8681c6 |
#define CKM_SSL3_SHA1_MAC 0x00000381
|
|
Packit |
8681c6 |
#define CKM_MD5_KEY_DERIVATION 0x00000390
|
|
Packit |
8681c6 |
#define CKM_MD2_KEY_DERIVATION 0x00000391
|
|
Packit |
8681c6 |
#define CKM_SHA1_KEY_DERIVATION 0x00000392
|
|
Packit |
8681c6 |
#define CKM_PBE_MD2_DES_CBC 0x000003A0
|
|
Packit |
8681c6 |
#define CKM_PBE_MD5_DES_CBC 0x000003A1
|
|
Packit |
8681c6 |
#define CKM_PBE_MD5_CAST_CBC 0x000003A2
|
|
Packit |
8681c6 |
#define CKM_PBE_MD5_CAST3_CBC 0x000003A3
|
|
Packit |
8681c6 |
#define CKM_PBE_MD5_CAST5_CBC 0x000003A4
|
|
Packit |
8681c6 |
#define CKM_PBE_MD5_CAST128_CBC 0x000003A4
|
|
Packit |
8681c6 |
#define CKM_PBE_SHA1_CAST5_CBC 0x000003A5
|
|
Packit |
8681c6 |
#define CKM_PBE_SHA1_CAST128_CBC 0x000003A5
|
|
Packit |
8681c6 |
#define CKM_PBE_SHA1_RC4_128 0x000003A6
|
|
Packit |
8681c6 |
#define CKM_PBE_SHA1_RC4_40 0x000003A7
|
|
Packit |
8681c6 |
#define CKM_PBE_SHA1_DES3_EDE_CBC 0x000003A8
|
|
Packit |
8681c6 |
#define CKM_PBE_SHA1_DES2_EDE_CBC 0x000003A9
|
|
Packit |
8681c6 |
#define CKM_PBE_SHA1_RC2_128_CBC 0x000003AA
|
|
Packit |
8681c6 |
#define CKM_PBE_SHA1_RC2_40_CBC 0x000003AB
|
|
Packit |
8681c6 |
/* CKM_PKCS5_PBKD2 is new for v2.11 */
|
|
Packit |
8681c6 |
#define CKM_PKCS5_PBKD2 0x000003B0
|
|
Packit |
8681c6 |
#define CKM_PBA_SHA1_WITH_SHA1_HMAC 0x000003C0
|
|
Packit |
8681c6 |
#define CKM_KEY_WRAP_LYNKS 0x00000400
|
|
Packit |
8681c6 |
#define CKM_KEY_WRAP_SET_OAEP 0x00000401
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* Fortezza mechanisms */
|
|
Packit |
8681c6 |
#define CKM_SKIPJACK_KEY_GEN 0x00001000
|
|
Packit |
8681c6 |
#define CKM_SKIPJACK_ECB64 0x00001001
|
|
Packit |
8681c6 |
#define CKM_SKIPJACK_CBC64 0x00001002
|
|
Packit |
8681c6 |
#define CKM_SKIPJACK_OFB64 0x00001003
|
|
Packit |
8681c6 |
#define CKM_SKIPJACK_CFB64 0x00001004
|
|
Packit |
8681c6 |
#define CKM_SKIPJACK_CFB32 0x00001005
|
|
Packit |
8681c6 |
#define CKM_SKIPJACK_CFB16 0x00001006
|
|
Packit |
8681c6 |
#define CKM_SKIPJACK_CFB8 0x00001007
|
|
Packit |
8681c6 |
#define CKM_SKIPJACK_WRAP 0x00001008
|
|
Packit |
8681c6 |
#define CKM_SKIPJACK_PRIVATE_WRAP 0x00001009
|
|
Packit |
8681c6 |
#define CKM_SKIPJACK_RELAYX 0x0000100a
|
|
Packit |
8681c6 |
#define CKM_KEA_KEY_PAIR_GEN 0x00001010
|
|
Packit |
8681c6 |
#define CKM_KEA_KEY_DERIVE 0x00001011
|
|
Packit |
8681c6 |
#define CKM_FORTEZZA_TIMESTAMP 0x00001020
|
|
Packit |
8681c6 |
#define CKM_BATON_KEY_GEN 0x00001030
|
|
Packit |
8681c6 |
#define CKM_BATON_ECB128 0x00001031
|
|
Packit |
8681c6 |
#define CKM_BATON_ECB96 0x00001032
|
|
Packit |
8681c6 |
#define CKM_BATON_CBC128 0x00001033
|
|
Packit |
8681c6 |
#define CKM_BATON_COUNTER 0x00001034
|
|
Packit |
8681c6 |
#define CKM_BATON_SHUFFLE 0x00001035
|
|
Packit |
8681c6 |
#define CKM_BATON_WRAP 0x00001036
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* CKM_ECDSA_KEY_PAIR_GEN is deprecated in v2.11,
|
|
Packit |
8681c6 |
* CKM_EC_KEY_PAIR_GEN is preferred. */
|
|
Packit |
8681c6 |
#define CKM_ECDSA_KEY_PAIR_GEN 0x00001040
|
|
Packit |
8681c6 |
#define CKM_EC_KEY_PAIR_GEN 0x00001040
|
|
Packit |
8681c6 |
#define CKM_ECDSA 0x00001041
|
|
Packit |
8681c6 |
#define CKM_ECDSA_SHA1 0x00001042
|
|
Packit |
8681c6 |
/* The following are new for v2.3 */
|
|
Packit |
8681c6 |
#define CKM_ECDSA_SHA224 0x00001043
|
|
Packit |
8681c6 |
#define CKM_ECDSA_SHA256 0x00001044
|
|
Packit |
8681c6 |
#define CKM_ECDSA_SHA384 0x00001045
|
|
Packit |
8681c6 |
#define CKM_ECDSA_SHA512 0x00001046
|
|
Packit |
8681c6 |
/* The following are new for v2.11 */
|
|
Packit |
8681c6 |
#define CKM_ECDH1_DERIVE 0x00001050
|
|
Packit |
8681c6 |
#define CKM_ECDH1_COFACTOR_DERIVE 0x00001051
|
|
Packit |
8681c6 |
#define CKM_ECMQV_DERIVE 0x00001052
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define CKM_JUNIPER_KEY_GEN 0x00001060
|
|
Packit |
8681c6 |
#define CKM_JUNIPER_ECB128 0x00001061
|
|
Packit |
8681c6 |
#define CKM_JUNIPER_CBC128 0x00001062
|
|
Packit |
8681c6 |
#define CKM_JUNIPER_COUNTER 0x00001063
|
|
Packit |
8681c6 |
#define CKM_JUNIPER_SHUFFLE 0x00001064
|
|
Packit |
8681c6 |
#define CKM_JUNIPER_WRAP 0x00001065
|
|
Packit |
8681c6 |
#define CKM_FASTHASH 0x00001070
|
|
Packit |
8681c6 |
/* The following are new for v2.11 */
|
|
Packit |
8681c6 |
#define CKM_AES_KEY_GEN 0x00001080
|
|
Packit |
8681c6 |
#define CKM_AES_ECB 0x00001081
|
|
Packit |
8681c6 |
#define CKM_AES_CBC 0x00001082
|
|
Packit |
8681c6 |
#define CKM_AES_MAC 0x00001083
|
|
Packit |
8681c6 |
#define CKM_AES_MAC_GENERAL 0x00001084
|
|
Packit |
8681c6 |
#define CKM_AES_CBC_PAD 0x00001085
|
|
Packit |
8681c6 |
#define CKM_AES_CMAC_GENERAL 0x00001089
|
|
Packit |
8681c6 |
#define CKM_AES_CMAC 0x0000108A
|
|
Packit |
8681c6 |
#define CKM_DSA_PARAMETER_GEN 0x00002000
|
|
Packit |
8681c6 |
#define CKM_DH_PKCS_PARAMETER_GEN 0x00002001
|
|
Packit |
8681c6 |
#define CKM_X9_42_DH_PARAMETER_GEN 0x00002002
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define CKM_VENDOR_DEFINED 0x80000000
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define CK_PTR *
|
|
Packit |
8681c6 |
typedef void CK_PTR CK_VOID_PTR;
|
|
Packit |
8681c6 |
typedef CK_VOID_PTR CK_PTR CK_VOID_PTR_PTR;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* CK_MECHANISM is a structure that specifies a particular
|
|
Packit |
8681c6 |
* mechanism */
|
|
Packit |
8681c6 |
typedef struct CK_MECHANISM {
|
|
Packit |
8681c6 |
CK_MECHANISM_TYPE mechanism;
|
|
Packit |
8681c6 |
CK_VOID_PTR pParameter;
|
|
Packit |
8681c6 |
CK_ULONG ulParameterLen; /* in bytes */
|
|
Packit |
8681c6 |
} CK_MECHANISM;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
typedef CK_MECHANISM CK_PTR CK_MECHANISM_PTR;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* CK_MECHANISM_INFO provides information about a particular
|
|
Packit |
8681c6 |
* mechanism */
|
|
Packit |
8681c6 |
typedef struct CK_MECHANISM_INFO {
|
|
Packit |
8681c6 |
CK_ULONG ulMinKeySize;
|
|
Packit |
8681c6 |
CK_ULONG ulMaxKeySize;
|
|
Packit |
8681c6 |
CK_FLAGS flags;
|
|
Packit |
8681c6 |
} CK_MECHANISM_INFO;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* The flags are defined as follows:
|
|
Packit |
8681c6 |
* Bit Flag Mask Meaning */
|
|
Packit |
8681c6 |
#define CKF_HW 0x00000001 /* performed by HW */
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* The flags CKF_ENCRYPT, CKF_DECRYPT, CKF_DIGEST, CKF_SIGN,
|
|
Packit |
8681c6 |
* CKG_SIGN_RECOVER, CKF_VERIFY, CKF_VERIFY_RECOVER,
|
|
Packit |
8681c6 |
* CKF_GENERATE, CKF_GENERATE_KEY_PAIR, CKF_WRAP, CKF_UNWRAP,
|
|
Packit |
8681c6 |
* and CKF_DERIVE are new for v2.0. They specify whether or not
|
|
Packit |
8681c6 |
* a mechanism can be used for a particular task */
|
|
Packit |
8681c6 |
#define CKF_ENCRYPT 0x00000100
|
|
Packit |
8681c6 |
#define CKF_DECRYPT 0x00000200
|
|
Packit |
8681c6 |
#define CKF_DIGEST 0x00000400
|
|
Packit |
8681c6 |
#define CKF_SIGN 0x00000800
|
|
Packit |
8681c6 |
#define CKF_SIGN_RECOVER 0x00001000
|
|
Packit |
8681c6 |
#define CKF_VERIFY 0x00002000
|
|
Packit |
8681c6 |
#define CKF_VERIFY_RECOVER 0x00004000
|
|
Packit |
8681c6 |
#define CKF_GENERATE 0x00008000
|
|
Packit |
8681c6 |
#define CKF_GENERATE_KEY_PAIR 0x00010000
|
|
Packit |
8681c6 |
#define CKF_WRAP 0x00020000
|
|
Packit |
8681c6 |
#define CKF_UNWRAP 0x00040000
|
|
Packit |
8681c6 |
#define CKF_DERIVE 0x00080000
|
|
Packit |
8681c6 |
/* The following are new for v2.11 */
|
|
Packit |
8681c6 |
#define CKF_EC_F_P 0x00100000
|
|
Packit |
8681c6 |
#define CKF_EC_F_2M 0x00200000
|
|
Packit |
8681c6 |
#define CKF_EC_ECPARAMETERS 0x00400000
|
|
Packit |
8681c6 |
#define CKF_EC_NAMEDCURVE 0x00800000
|
|
Packit |
8681c6 |
#define CKF_EC_UNCOMPRESS 0x01000000
|
|
Packit |
8681c6 |
#define CKF_EC_COMPRESS 0x02000000
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define CKF_EXTENSION 0x80000000 /* FALSE for 2.01 */
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
typedef CK_MECHANISM_INFO CK_PTR CK_MECHANISM_INFO_PTR;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define CKR_MECHANISM_INVALID 0x00000070
|
|
Packit |
8681c6 |
#define CKR_MECHANISM_PARAM_INVALID 0x00000071
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* From common/host_defs.h in openCryptoki */
|
|
Packit |
8681c6 |
typedef struct _MECH_LIST_ELEMENT
|
|
Packit |
8681c6 |
{
|
|
Packit |
8681c6 |
CK_MECHANISM_TYPE mech_type;
|
|
Packit |
8681c6 |
CK_MECHANISM_INFO mech_info;
|
|
Packit |
8681c6 |
} MECH_LIST_ELEMENT;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
struct mech_list;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
struct mech_list {
|
|
Packit |
8681c6 |
struct mech_list *next;
|
|
Packit |
8681c6 |
MECH_LIST_ELEMENT element;
|
|
Packit |
8681c6 |
};
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#endif
|