1 /*
2  * Copyright (c) 2013 .SE (The Internet Infrastructure Foundation)
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
18  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
20  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
22  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
23  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
24  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25  */
26 
27 /*****************************************************************************
28  tables.h
29 
30  Tables from PKCS#11 specs.
31  *****************************************************************************/
32 
33 #ifndef _SOFTHSM_V2_TABLES_H
34 #define _SOFTHSM_V2_TABLES_H
35 
36 #include "OSAttributes.h"
37 
38 // Attribute types
fill_CKA_table(std::map<unsigned long,std::string> & t)39 void fill_CKA_table(std::map<unsigned long, std::string> &t)
40 {
41 	t[CKA_CLASS] = "CKA_CLASS";
42 	t[CKA_TOKEN] = "CKA_TOKEN";
43 	t[CKA_PRIVATE] = "CKA_PRIVATE";
44 	t[CKA_LABEL] = "CKA_LABEL";
45 	t[CKA_APPLICATION] = "CKA_APPLICATION";
46 	t[CKA_VALUE] = "CKA_VALUE";
47 	t[CKA_OBJECT_ID] = "CKA_OBJECT_ID";
48 	t[CKA_CERTIFICATE_TYPE] = "CKA_CERTIFICATE_TYPE";
49 	t[CKA_ISSUER] = "CKA_ISSUER";
50 	t[CKA_SERIAL_NUMBER] = "CKA_SERIAL_NUMBER";
51 	t[CKA_AC_ISSUER] = "CKA_AC_ISSUER";
52 	t[CKA_OWNER] = "CKA_OWNER";
53 	t[CKA_ATTR_TYPES] = "CKA_ATTR_TYPES";
54 	t[CKA_TRUSTED] = "CKA_TRUSTED";
55 	t[CKA_CERTIFICATE_CATEGORY] = "CKA_CERTIFICATE_CATEGORY";
56 	t[CKA_JAVA_MIDP_SECURITY_DOMAIN] = "CKA_JAVA_MIDP_SECURITY_DOMAIN";
57 	t[CKA_URL] = "CKA_URL";
58 	t[CKA_HASH_OF_SUBJECT_PUBLIC_KEY] = "CKA_HASH_OF_SUBJECT_PUBLIC_KEY";
59 	t[CKA_HASH_OF_ISSUER_PUBLIC_KEY] = "CKA_HASH_OF_ISSUER_PUBLIC_KEY";
60 	t[CKA_NAME_HASH_ALGORITHM] = "CKA_NAME_HASH_ALGORITHM";
61 	t[CKA_CHECK_VALUE] = "CKA_CHECK_VALUE";
62 	t[CKA_KEY_TYPE] = "CKA_KEY_TYPE";
63 	t[CKA_SUBJECT] = "CKA_SUBJECT";
64 	t[CKA_ID] = "CKA_ID";
65 	t[CKA_SENSITIVE] = "CKA_SENSITIVE";
66 	t[CKA_ENCRYPT] = "CKA_ENCRYPT";
67 	t[CKA_DECRYPT] = "CKA_DECRYPT";
68 	t[CKA_WRAP] = "CKA_WRAP";
69 	t[CKA_UNWRAP] = "CKA_UNWRAP";
70 	t[CKA_SIGN] = "CKA_SIGN";
71 	t[CKA_SIGN_RECOVER] = "CKA_SIGN_RECOVER";
72 	t[CKA_VERIFY] = "CKA_VERIFY";
73 	t[CKA_VERIFY_RECOVER] = "CKA_VERIFY_RECOVER";
74 	t[CKA_DERIVE] = "CKA_DERIVE";
75 	t[CKA_START_DATE] = "CKA_START_DATE";
76 	t[CKA_END_DATE] = "CKA_END_DATE";
77 	t[CKA_MODULUS] = "CKA_MODULUS";
78 	t[CKA_MODULUS_BITS] = "CKA_MODULUS_BITS";
79 	t[CKA_PUBLIC_EXPONENT] = "CKA_PUBLIC_EXPONENT";
80 	t[CKA_PRIVATE_EXPONENT] = "CKA_PRIVATE_EXPONENT";
81 	t[CKA_PRIME_1] = "CKA_PRIME_1";
82 	t[CKA_PRIME_2] = "CKA_PRIME_2";
83 	t[CKA_EXPONENT_1] = "CKA_EXPONENT_1";
84 	t[CKA_EXPONENT_2] = "CKA_EXPONENT_2";
85 	t[CKA_COEFFICIENT] = "CKA_COEFFICIENT";
86 	t[CKA_PUBLIC_KEY_INFO] = "CKA_PUBLIC_KEY_INFO";
87 	t[CKA_PRIME] = "CKA_PRIME";
88 	t[CKA_SUBPRIME] = "CKA_SUBPRIME";
89 	t[CKA_BASE] = "CKA_BASE";
90 	t[CKA_PRIME_BITS] = "CKA_PRIME_BITS";
91 	t[CKA_SUB_PRIME_BITS] = "CKA_SUB_PRIME_BITS";
92 	t[CKA_VALUE_BITS] = "CKA_VALUE_BITS";
93 	t[CKA_VALUE_LEN] = "CKA_VALUE_LEN";
94 	t[CKA_EXTRACTABLE] = "CKA_EXTRACTABLE";
95 	t[CKA_LOCAL] = "CKA_LOCAL";
96 	t[CKA_NEVER_EXTRACTABLE] = "CKA_NEVER_EXTRACTABLE";
97 	t[CKA_ALWAYS_SENSITIVE] = "CKA_ALWAYS_SENSITIVE";
98 	t[CKA_KEY_GEN_MECHANISM] = "CKA_KEY_GEN_MECHANISM";
99 	t[CKA_MODIFIABLE] = "CKA_MODIFIABLE";
100 	t[CKA_COPYABLE] = "CKA_COPYABLE";
101 	t[CKA_DESTROYABLE] = "CKA_DESTROYABLE";
102 	t[CKA_EC_PARAMS] = "CKA_EC_PARAMS";
103 	t[CKA_EC_POINT] = "CKA_EC_POINT";
104 	t[CKA_SECONDARY_AUTH] = "CKA_SECONDARY_AUTH";
105 	t[CKA_AUTH_PIN_FLAGS] = "CKA_AUTH_PIN_FLAGS";
106 	t[CKA_ALWAYS_AUTHENTICATE] = "CKA_ALWAYS_AUTHENTICATE";
107 	t[CKA_WRAP_WITH_TRUSTED] = "CKA_WRAP_WITH_TRUSTED";
108 	t[CKA_WRAP_TEMPLATE] = "CKA_WRAP_TEMPLATE";
109 	t[CKA_UNWRAP_TEMPLATE] = "CKA_UNWRAP_TEMPLATE";
110 	t[CKA_DERIVE_TEMPLATE] = "CKA_DERIVE_TEMPLATE";
111 	t[CKA_OTP_FORMAT] = "CKA_OTP_FORMAT";
112 	t[CKA_OTP_LENGTH] = "CKA_OTP_LENGTH";
113 	t[CKA_OTP_TIME_INTERVAL] = "CKA_OTP_TIME_INTERVAL";
114 	t[CKA_OTP_USER_FRIENDLY_MODE] = "CKA_OTP_USER_FRIENDLY_MODE";
115 	t[CKA_OTP_CHALLENGE_REQUIREMENT] = "CKA_OTP_CHALLENGE_REQUIREMENT";
116 	t[CKA_OTP_TIME_REQUIREMENT] = "CKA_OTP_TIME_REQUIREMENT";
117 	t[CKA_OTP_COUNTER_REQUIREMENT] = "CKA_OTP_COUNTER_REQUIREMENT";
118 	t[CKA_OTP_PIN_REQUIREMENT] = "CKA_OTP_PIN_REQUIREMENT";
119 	t[CKA_OTP_COUNTER] = "CKA_OTP_COUNTER";
120 	t[CKA_OTP_TIME] = "CKA_OTP_TIME";
121 	t[CKA_OTP_USER_IDENTIFIER] = "CKA_OTP_USER_IDENTIFIER";
122 	t[CKA_OTP_SERVICE_IDENTIFIER] = "CKA_OTP_SERVICE_IDENTIFIER";
123 	t[CKA_OTP_SERVICE_LOGO] = "CKA_OTP_SERVICE_LOGO";
124 	t[CKA_OTP_SERVICE_LOGO_TYPE] = "CKA_OTP_SERVICE_LOGO_TYPE";
125 	t[CKA_GOSTR3410_PARAMS] = "CKA_GOSTR3410_PARAMS";
126 	t[CKA_GOSTR3411_PARAMS] = "CKA_GOSTR3411_PARAMS";
127 	t[CKA_GOST28147_PARAMS] = "CKA_GOST28147_PARAMS";
128 	t[CKA_HW_FEATURE_TYPE] = "CKA_HW_FEATURE_TYPE";
129 	t[CKA_RESET_ON_INIT] = "CKA_RESET_ON_INIT";
130 	t[CKA_HAS_RESET] = "CKA_HAS_RESET";
131 	t[CKA_PIXEL_X] = "CKA_PIXEL_X";
132 	t[CKA_PIXEL_Y] = "CKA_PIXEL_Y";
133 	t[CKA_RESOLUTION] = "CKA_RESOLUTION";
134 	t[CKA_CHAR_ROWS] = "CKA_CHAR_ROWS";
135 	t[CKA_CHAR_COLUMNS] = "CKA_CHAR_COLUMNS";
136 	t[CKA_COLOR] = "CKA_COLOR";
137 	t[CKA_BITS_PER_PIXEL] = "CKA_BITS_PER_PIXEL";
138 	t[CKA_CHAR_SETS] = "CKA_CHAR_SETS";
139 	t[CKA_ENCODING_METHODS] = "CKA_ENCODING_METHODS";
140 	t[CKA_MIME_TYPES] = "CKA_MIME_TYPES";
141 	t[CKA_MECHANISM_TYPE] = "CKA_MECHANISM_TYPE";
142 	t[CKA_REQUIRED_CMS_ATTRIBUTES] = "CKA_REQUIRED_CMS_ATTRIBUTES";
143 	t[CKA_DEFAULT_CMS_ATTRIBUTES] = "CKA_DEFAULT_CMS_ATTRIBUTES";
144 	t[CKA_SUPPORTED_CMS_ATTRIBUTES] = "CKA_SUPPORTED_CMS_ATTRIBUTES";
145 	t[CKA_ALLOWED_MECHANISMS] = "CKA_ALLOWED_MECHANISMS";
146 	// local extensions
147 	t[CKA_VENDOR_SOFTHSM] = "CKA_VENDOR_SOFTHSM";
148 	t[CKA_OS_TOKENLABEL] = "CKA_OS_TOKENLABEL";
149 	t[CKA_OS_TOKENSERIAL] = "CKA_OS_TOKENSERIAL";
150 	t[CKA_OS_TOKENFLAGS] = "CKA_OS_TOKENFLAGS";
151 	t[CKA_OS_SOPIN] = "CKA_OS_SOPIN";
152 	t[CKA_OS_USERPIN] = "CKA_OS_USERPIN";
153 }
154 
fill_CKM_table(std::map<unsigned long,std::string> & t)155 void fill_CKM_table(std::map<unsigned long, std::string> &t)
156 {
157 	t[CKM_RSA_PKCS_KEY_PAIR_GEN] = "CKM_RSA_PKCS_KEY_PAIR_GEN";
158 	t[CKM_RSA_PKCS] = "CKM_RSA_PKCS";
159 	t[CKM_RSA_9796] = "CKM_RSA_9796";
160 	t[CKM_RSA_X_509] = "CKM_RSA_X_509";
161 	t[CKM_MD2_RSA_PKCS] = "CKM_MD2_RSA_PKCS";
162 	t[CKM_MD5_RSA_PKCS] = "CKM_MD5_RSA_PKCS";
163 	t[CKM_SHA1_RSA_PKCS] = "CKM_SHA1_RSA_PKCS";
164 	t[CKM_RIPEMD128_RSA_PKCS] = "CKM_RIPEMD128_RSA_PKCS";
165 	t[CKM_RIPEMD160_RSA_PKCS] = "CKM_RIPEMD160_RSA_PKCS";
166 	t[CKM_RSA_PKCS_OAEP] = "CKM_RSA_PKCS_OAEP";
167 	t[CKM_RSA_X9_31_KEY_PAIR_GEN] = "CKM_RSA_X9_31_KEY_PAIR_GEN";
168 	t[CKM_RSA_X9_31] = "CKM_RSA_X9_31";
169 	t[CKM_SHA1_RSA_X9_31] = "CKM_SHA1_RSA_X9_31";
170 	t[CKM_RSA_PKCS_PSS] = "CKM_RSA_PKCS_PSS";
171 	t[CKM_SHA1_RSA_PKCS_PSS] = "CKM_SHA1_RSA_PKCS_PSS";
172 	t[CKM_DSA_KEY_PAIR_GEN] = "CKM_DSA_KEY_PAIR_GEN";
173 	t[CKM_DSA] = "CKM_DSA";
174 	t[CKM_DSA_SHA1] = "CKM_DSA_SHA1";
175 	t[CKM_DSA_SHA224] = "CKM_DSA_SHA224";
176 	t[CKM_DSA_SHA256] = "CKM_DSA_SHA256";
177 	t[CKM_DSA_SHA384] = "CKM_DSA_SHA384";
178 	t[CKM_DSA_SHA512] = "CKM_DSA_SHA512";
179 	t[CKM_DH_PKCS_KEY_PAIR_GEN] = "CKM_DH_PKCS_KEY_PAIR_GEN";
180 	t[CKM_DH_PKCS_DERIVE] = "CKM_DH_PKCS_DERIVE";
181 	t[CKM_X9_42_DH_KEY_PAIR_GEN] = "CKM_X9_42_DH_KEY_PAIR_GEN";
182 	t[CKM_X9_42_DH_DERIVE] = "CKM_X9_42_DH_DERIVE";
183 	t[CKM_X9_42_DH_HYBRID_DERIVE] = "CKM_X9_42_DH_HYBRID_DERIVE";
184 	t[CKM_X9_42_MQV_DERIVE] = "CKM_X9_42_MQV_DERIVE";
185 	t[CKM_SHA256_RSA_PKCS] = "CKM_SHA256_RSA_PKCS";
186 	t[CKM_SHA384_RSA_PKCS] = "CKM_SHA384_RSA_PKCS";
187 	t[CKM_SHA512_RSA_PKCS] = "CKM_SHA512_RSA_PKCS";
188 	t[CKM_SHA256_RSA_PKCS_PSS] = "CKM_SHA256_RSA_PKCS_PSS";
189 	t[CKM_SHA384_RSA_PKCS_PSS] = "CKM_SHA384_RSA_PKCS_PSS";
190 	t[CKM_SHA512_RSA_PKCS_PSS] = "CKM_SHA512_RSA_PKCS_PSS";
191 	t[CKM_SHA224_RSA_PKCS] = "CKM_SHA224_RSA_PKCS";
192 	t[CKM_SHA224_RSA_PKCS_PSS] = "CKM_SHA224_RSA_PKCS_PSS";
193 	t[CKM_SHA512_224] = "CKM_SHA512_224";
194 	t[CKM_SHA512_224_HMAC] = "CKM_SHA512_224_HMAC";
195 	t[CKM_SHA512_224_HMAC_GENERAL] = "CKM_SHA512_224_HMAC_GENERAL";
196 	t[CKM_SHA512_224_KEY_DERIVATION] = "CKM_SHA512_224_KEY_DERIVATION";
197 	t[CKM_SHA512_256] = "CKM_SHA512_256";
198 	t[CKM_SHA512_256_HMAC] = "CKM_SHA512_256_HMAC";
199 	t[CKM_SHA512_256_HMAC_GENERAL] = "CKM_SHA512_256_HMAC_GENERAL";
200 	t[CKM_SHA512_256_KEY_DERIVATION] = "CKM_SHA512_256_KEY_DERIVATION";
201 	t[CKM_SHA512_T] = "CKM_SHA512_T";
202 	t[CKM_SHA512_T_HMAC] = "CKM_SHA512_T_HMAC";
203 	t[CKM_SHA512_T_HMAC_GENERAL] = "CKM_SHA512_T_HMAC_GENERAL";
204 	t[CKM_SHA512_T_KEY_DERIVATION] = "CKM_SHA512_T_KEY_DERIVATION";
205 	t[CKM_RC2_KEY_GEN] = "CKM_RC2_KEY_GEN";
206 	t[CKM_RC2_ECB] = "CKM_RC2_ECB";
207 	t[CKM_RC2_CBC] = "CKM_RC2_CBC";
208 	t[CKM_RC2_MAC] = "CKM_RC2_MAC";
209 	t[CKM_RC2_MAC_GENERAL] = "CKM_RC2_MAC_GENERAL";
210 	t[CKM_RC2_CBC_PAD] = "CKM_RC2_CBC_PAD";
211 	t[CKM_RC4_KEY_GEN] = "CKM_RC4_KEY_GEN";
212 	t[CKM_RC4] = "CKM_RC4";
213 	t[CKM_DES_KEY_GEN] = "CKM_DES_KEY_GEN";
214 	t[CKM_DES_ECB] = "CKM_DES_ECB";
215 	t[CKM_DES_CBC] = "CKM_DES_CBC";
216 	t[CKM_DES_MAC] = "CKM_DES_MAC";
217 	t[CKM_DES_MAC_GENERAL] = "CKM_DES_MAC_GENERAL";
218 	t[CKM_DES_CBC_PAD] = "CKM_DES_CBC_PAD";
219 	t[CKM_DES2_KEY_GEN] = "CKM_DES2_KEY_GEN";
220 	t[CKM_DES3_KEY_GEN] = "CKM_DES3_KEY_GEN";
221 	t[CKM_DES3_ECB] = "CKM_DES3_ECB";
222 	t[CKM_DES3_CBC] = "CKM_DES3_CBC";
223 	t[CKM_DES3_MAC] = "CKM_DES3_MAC";
224 	t[CKM_DES3_MAC_GENERAL] = "CKM_DES3_MAC_GENERAL";
225 	t[CKM_DES3_CBC_PAD] = "CKM_DES3_CBC_PAD";
226 	t[CKM_DES3_CMAC_GENERAL] = "CKM_DES3_CMAC_GENERAL";
227 	t[CKM_DES3_CMAC] = "CKM_DES3_CMAC";
228 	t[CKM_CDMF_KEY_GEN] = "CKM_CDMF_KEY_GEN";
229 	t[CKM_CDMF_ECB] = "CKM_CDMF_ECB";
230 	t[CKM_CDMF_CBC] = "CKM_CDMF_CBC";
231 	t[CKM_CDMF_MAC] = "CKM_CDMF_MAC";
232 	t[CKM_CDMF_MAC_GENERAL] = "CKM_CDMF_MAC_GENERAL";
233 	t[CKM_CDMF_CBC_PAD] = "CKM_CDMF_CBC_PAD";
234 	t[CKM_DES_OFB64] = "CKM_DES_OFB64";
235 	t[CKM_DES_OFB8] = "CKM_DES_OFB8";
236 	t[CKM_DES_CFB64] = "CKM_DES_CFB64";
237 	t[CKM_DES_CFB8] = "CKM_DES_CFB8";
238 	t[CKM_MD2] = "CKM_MD2";
239 	t[CKM_MD2_HMAC] = "CKM_MD2_HMAC";
240 	t[CKM_MD2_HMAC_GENERAL] = "CKM_MD2_HMAC_GENERAL";
241 	t[CKM_MD5] = "CKM_MD5";
242 	t[CKM_MD5_HMAC] = "CKM_MD5_HMAC";
243 	t[CKM_MD5_HMAC_GENERAL] = "CKM_MD5_HMAC_GENERAL";
244 	t[CKM_SHA_1] = "CKM_SHA_1";
245 	t[CKM_SHA_1_HMAC] = "CKM_SHA_1_HMAC";
246 	t[CKM_SHA_1_HMAC_GENERAL] = "CKM_SHA_1_HMAC_GENERAL";
247 	t[CKM_RIPEMD128] = "CKM_RIPEMD128";
248 	t[CKM_RIPEMD128_HMAC] = "CKM_RIPEMD128_HMAC";
249 	t[CKM_RIPEMD128_HMAC_GENERAL] = "CKM_RIPEMD128_HMAC_GENERAL";
250 	t[CKM_RIPEMD160] = "CKM_RIPEMD160";
251 	t[CKM_RIPEMD160_HMAC] = "CKM_RIPEMD160_HMAC";
252 	t[CKM_RIPEMD160_HMAC_GENERAL] = "CKM_RIPEMD160_HMAC_GENERAL";
253 	t[CKM_SHA256] = "CKM_SHA256";
254 	t[CKM_SHA256_HMAC] = "CKM_SHA256_HMAC";
255 	t[CKM_SHA256_HMAC_GENERAL] = "CKM_SHA256_HMAC_GENERAL";
256 	t[CKM_SHA224] = "CKM_SHA224";
257 	t[CKM_SHA224_HMAC] = "CKM_SHA224_HMAC";
258 	t[CKM_SHA224_HMAC_GENERAL] = "CKM_SHA224_HMAC_GENERAL";
259 	t[CKM_SHA384] = "CKM_SHA384";
260 	t[CKM_SHA384_HMAC] = "CKM_SHA384_HMAC";
261 	t[CKM_SHA384_HMAC_GENERAL] = "CKM_SHA384_HMAC_GENERAL";
262 	t[CKM_SHA512] = "CKM_SHA512";
263 	t[CKM_SHA512_HMAC] = "CKM_SHA512_HMAC";
264 	t[CKM_SHA512_HMAC_GENERAL] = "CKM_SHA512_HMAC_GENERAL";
265 	t[CKM_SECURID_KEY_GEN] = "CKM_SECURID_KEY_GEN";
266 	t[CKM_SECURID] = "CKM_SECURID";
267 	t[CKM_HOTP_KEY_GEN] = "CKM_HOTP_KEY_GEN";
268 	t[CKM_HOTP] = "CKM_HOTP";
269 	t[CKM_ACTI] = "CKM_ACTI";
270 	t[CKM_ACTI_KEY_GEN] = "CKM_ACTI_KEY_GEN";
271 	t[CKM_CAST_KEY_GEN] = "CKM_CAST_KEY_GEN";
272 	t[CKM_CAST_ECB] = "CKM_CAST_ECB";
273 	t[CKM_CAST_CBC] = "CKM_CAST_CBC";
274 	t[CKM_CAST_MAC] = "CKM_CAST_MAC";
275 	t[CKM_CAST_MAC_GENERAL] = "CKM_CAST_MAC_GENERAL";
276 	t[CKM_CAST_CBC_PAD] = "CKM_CAST_CBC_PAD";
277 	t[CKM_CAST3_KEY_GEN] = "CKM_CAST3_KEY_GEN";
278 	t[CKM_CAST3_ECB] = "CKM_CAST3_ECB";
279 	t[CKM_CAST3_CBC] = "CKM_CAST3_CBC";
280 	t[CKM_CAST3_MAC] = "CKM_CAST3_MAC";
281 	t[CKM_CAST3_MAC_GENERAL] = "CKM_CAST3_MAC_GENERAL";
282 	t[CKM_CAST3_CBC_PAD] = "CKM_CAST3_CBC_PAD";
283 	t[CKM_CAST128_KEY_GEN] = "CKM_CAST128_KEY_GEN";
284 	t[CKM_CAST128_ECB] = "CKM_CAST128_ECB";
285 	t[CKM_CAST128_CBC] = "CKM_CAST128_CBC";
286 	t[CKM_CAST128_MAC] = "CKM_CAST128_MAC";
287 	t[CKM_CAST128_MAC_GENERAL] = "CKM_CAST128_MAC_GENERAL";
288 	t[CKM_CAST128_CBC_PAD] = "CKM_CAST128_CBC_PAD";
289 	t[CKM_RC5_KEY_GEN] = "CKM_RC5_KEY_GEN";
290 	t[CKM_RC5_ECB] = "CKM_RC5_ECB";
291 	t[CKM_RC5_CBC] = "CKM_RC5_CBC";
292 	t[CKM_RC5_MAC] = "CKM_RC5_MAC";
293 	t[CKM_RC5_MAC_GENERAL] = "CKM_RC5_MAC_GENERAL";
294 	t[CKM_RC5_CBC_PAD] = "CKM_RC5_CBC_PAD";
295 	t[CKM_IDEA_KEY_GEN] = "CKM_IDEA_KEY_GEN";
296 	t[CKM_IDEA_ECB] = "CKM_IDEA_ECB";
297 	t[CKM_IDEA_CBC] = "CKM_IDEA_CBC";
298 	t[CKM_IDEA_MAC] = "CKM_IDEA_MAC";
299 	t[CKM_IDEA_MAC_GENERAL] = "CKM_IDEA_MAC_GENERAL";
300 	t[CKM_IDEA_CBC_PAD] = "CKM_IDEA_CBC_PAD";
301 	t[CKM_GENERIC_SECRET_KEY_GEN] = "CKM_GENERIC_SECRET_KEY_GEN";
302 	t[CKM_CONCATENATE_BASE_AND_KEY] = "CKM_CONCATENATE_BASE_AND_KEY";
303 	t[CKM_CONCATENATE_BASE_AND_DATA] = "CKM_CONCATENATE_BASE_AND_DATA";
304 	t[CKM_CONCATENATE_DATA_AND_BASE] = "CKM_CONCATENATE_DATA_AND_BASE";
305 	t[CKM_XOR_BASE_AND_DATA] = "CKM_XOR_BASE_AND_DATA";
306 	t[CKM_EXTRACT_KEY_FROM_KEY] = "CKM_EXTRACT_KEY_FROM_KEY";
307 	t[CKM_SSL3_PRE_MASTER_KEY_GEN] = "CKM_SSL3_PRE_MASTER_KEY_GEN";
308 	t[CKM_SSL3_MASTER_KEY_DERIVE] = "CKM_SSL3_MASTER_KEY_DERIVE";
309 	t[CKM_SSL3_KEY_AND_MAC_DERIVE] = "CKM_SSL3_KEY_AND_MAC_DERIVE";
310 	t[CKM_SSL3_MASTER_KEY_DERIVE_DH] = "CKM_SSL3_MASTER_KEY_DERIVE_DH";
311 	t[CKM_TLS_PRE_MASTER_KEY_GEN] = "CKM_TLS_PRE_MASTER_KEY_GEN";
312 	t[CKM_TLS_MASTER_KEY_DERIVE] = "CKM_TLS_MASTER_KEY_DERIVE";
313 	t[CKM_TLS_KEY_AND_MAC_DERIVE] = "CKM_TLS_KEY_AND_MAC_DERIVE";
314 	t[CKM_TLS_MASTER_KEY_DERIVE_DH] = "CKM_TLS_MASTER_KEY_DERIVE_DH";
315 	t[CKM_TLS_PRF] = "CKM_TLS_PRF";
316 	t[CKM_SSL3_MD5_MAC] = "CKM_SSL3_MD5_MAC";
317 	t[CKM_SSL3_SHA1_MAC] = "CKM_SSL3_SHA1_MAC";
318 	t[CKM_MD5_KEY_DERIVATION] = "CKM_MD5_KEY_DERIVATION";
319 	t[CKM_MD2_KEY_DERIVATION] = "CKM_MD2_KEY_DERIVATION";
320 	t[CKM_SHA1_KEY_DERIVATION] = "CKM_SHA1_KEY_DERIVATION";
321 	t[CKM_SHA256_KEY_DERIVATION] = "CKM_SHA256_KEY_DERIVATION";
322 	t[CKM_SHA384_KEY_DERIVATION] = "CKM_SHA384_KEY_DERIVATION";
323 	t[CKM_SHA512_KEY_DERIVATION] = "CKM_SHA512_KEY_DERIVATION";
324 	t[CKM_SHA224_KEY_DERIVATION] = "CKM_SHA224_KEY_DERIVATION";
325 	t[CKM_PBE_MD2_DES_CBC] = "CKM_PBE_MD2_DES_CBC";
326 	t[CKM_PBE_MD5_DES_CBC] = "CKM_PBE_MD5_DES_CBC";
327 	t[CKM_PBE_MD5_CAST_CBC] = "CKM_PBE_MD5_CAST_CBC";
328 	t[CKM_PBE_MD5_CAST3_CBC] = "CKM_PBE_MD5_CAST3_CBC";
329 	t[CKM_PBE_MD5_CAST128_CBC] = "CKM_PBE_MD5_CAST128_CBC";
330 	t[CKM_PBE_SHA1_CAST128_CBC] = "CKM_PBE_SHA1_CAST128_CBC";
331 	t[CKM_PBE_SHA1_RC4_128] = "CKM_PBE_SHA1_RC4_128";
332 	t[CKM_PBE_SHA1_RC4_40] = "CKM_PBE_SHA1_RC4_40";
333 	t[CKM_PBE_SHA1_DES3_EDE_CBC] = "CKM_PBE_SHA1_DES3_EDE_CBC";
334 	t[CKM_PBE_SHA1_DES2_EDE_CBC] = "CKM_PBE_SHA1_DES2_EDE_CBC";
335 	t[CKM_PBE_SHA1_RC2_128_CBC] = "CKM_PBE_SHA1_RC2_128_CBC";
336 	t[CKM_PBE_SHA1_RC2_40_CBC] = "CKM_PBE_SHA1_RC2_40_CBC";
337 	t[CKM_PKCS5_PBKD2] = "CKM_PKCS5_PBKD2";
338 	t[CKM_PBA_SHA1_WITH_SHA1_HMAC] = "CKM_PBA_SHA1_WITH_SHA1_HMAC";
339 	t[CKM_WTLS_PRE_MASTER_KEY_GEN] = "CKM_WTLS_PRE_MASTER_KEY_GEN";
340 	t[CKM_WTLS_MASTER_KEY_DERIVE] = "CKM_WTLS_MASTER_KEY_DERIVE";
341 	t[CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC] = "CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC";
342 	t[CKM_WTLS_PRF] = "CKM_WTLS_PRF";
343 	t[CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE] = "CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE";
344 	t[CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE] = "CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE";
345 	t[CKM_TLS10_MAC_SERVER] = "CKM_TLS10_MAC_SERVER";
346 	t[CKM_TLS10_MAC_CLIENT] = "CKM_TLS10_MAC_CLIENT";
347 	t[CKM_TLS12_MAC] = "CKM_TLS12_MAC";
348 	t[CKM_TLS12_KDF] = "CKM_TLS12_KDF";
349 	t[CKM_TLS12_MASTER_KEY_DERIVE] = "CKM_TLS12_MASTER_KEY_DERIVE";
350 	t[CKM_TLS12_KEY_AND_MAC_DERIVE] = "CKM_TLS12_KEY_AND_MAC_DERIVE";
351 	t[CKM_TLS12_MASTER_KEY_DERIVE_DH] = "CKM_TLS12_MASTER_KEY_DERIVE_DH";
352 	t[CKM_TLS12_KEY_SAFE_DERIVE] = "CKM_TLS12_KEY_SAFE_DERIVE";
353 	t[CKM_TLS_MAC] = "CKM_TLS_MAC";
354 	t[CKM_TLS_KDF] = "CKM_TLS_KDF";
355 	t[CKM_KEY_WRAP_LYNKS] = "CKM_KEY_WRAP_LYNKS";
356 	t[CKM_KEY_WRAP_SET_OAEP] = "CKM_KEY_WRAP_SET_OAEP";
357 	t[CKM_CMS_SIG] = "CKM_CMS_SIG";
358 	t[CKM_KIP_DERIVE] = "CKM_KIP_DERIVE";
359 	t[CKM_KIP_WRAP] = "CKM_KIP_WRAP";
360 	t[CKM_KIP_MAC] = "CKM_KIP_MAC";
361 	t[CKM_CAMELLIA_KEY_GEN] = "CKM_CAMELLIA_KEY_GEN";
362 	t[CKM_CAMELLIA_ECB] = "CKM_CAMELLIA_ECB";
363 	t[CKM_CAMELLIA_CBC] = "CKM_CAMELLIA_CBC";
364 	t[CKM_CAMELLIA_MAC] = "CKM_CAMELLIA_MAC";
365 	t[CKM_CAMELLIA_MAC_GENERAL] = "CKM_CAMELLIA_MAC_GENERAL";
366 	t[CKM_CAMELLIA_CBC_PAD] = "CKM_CAMELLIA_CBC_PAD";
367 	t[CKM_CAMELLIA_ECB_ENCRYPT_DATA] = "CKM_CAMELLIA_ECB_ENCRYPT_DATA";
368 	t[CKM_CAMELLIA_CBC_ENCRYPT_DATA] = "CKM_CAMELLIA_CBC_ENCRYPT_DATA";
369 	t[CKM_CAMELLIA_CTR] = "CKM_CAMELLIA_CTR";
370 	t[CKM_ARIA_KEY_GEN] = "CKM_ARIA_KEY_GEN";
371 	t[CKM_ARIA_ECB] = "CKM_ARIA_ECB";
372 	t[CKM_ARIA_CBC] = "CKM_ARIA_CBC";
373 	t[CKM_ARIA_MAC] = "CKM_ARIA_MAC";
374 	t[CKM_ARIA_MAC_GENERAL] = "CKM_ARIA_MAC_GENERAL";
375 	t[CKM_ARIA_CBC_PAD] = "CKM_ARIA_CBC_PAD";
376 	t[CKM_ARIA_ECB_ENCRYPT_DATA] = "CKM_ARIA_ECB_ENCRYPT_DATA";
377 	t[CKM_ARIA_CBC_ENCRYPT_DATA] = "CKM_ARIA_CBC_ENCRYPT_DATA";
378 	t[CKM_SEED_KEY_GEN] = "CKM_SEED_KEY_GEN";
379 	t[CKM_SEED_ECB] = "CKM_SEED_ECB";
380 	t[CKM_SEED_CBC] = "CKM_SEED_CBC";
381 	t[CKM_SEED_MAC] = "CKM_SEED_MAC";
382 	t[CKM_SEED_MAC_GENERAL] = "CKM_SEED_MAC_GENERAL";
383 	t[CKM_SEED_CBC_PAD] = "CKM_SEED_CBC_PAD";
384 	t[CKM_SEED_ECB_ENCRYPT_DATA] = "CKM_SEED_ECB_ENCRYPT_DATA";
385 	t[CKM_SEED_CBC_ENCRYPT_DATA] = "CKM_SEED_CBC_ENCRYPT_DATA";
386 	t[CKM_SKIPJACK_KEY_GEN] = "CKM_SKIPJACK_KEY_GEN";
387 	t[CKM_SKIPJACK_ECB64] = "CKM_SKIPJACK_ECB64";
388 	t[CKM_SKIPJACK_CBC64] = "CKM_SKIPJACK_CBC64";
389 	t[CKM_SKIPJACK_OFB64] = "CKM_SKIPJACK_OFB64";
390 	t[CKM_SKIPJACK_CFB64] = "CKM_SKIPJACK_CFB64";
391 	t[CKM_SKIPJACK_CFB32] = "CKM_SKIPJACK_CFB32";
392 	t[CKM_SKIPJACK_CFB16] = "CKM_SKIPJACK_CFB16";
393 	t[CKM_SKIPJACK_CFB8] = "CKM_SKIPJACK_CFB8";
394 	t[CKM_SKIPJACK_WRAP] = "CKM_SKIPJACK_WRAP";
395 	t[CKM_SKIPJACK_PRIVATE_WRAP] = "CKM_SKIPJACK_PRIVATE_WRAP";
396 	t[CKM_SKIPJACK_RELAYX] = "CKM_SKIPJACK_RELAYX";
397 	t[CKM_KEA_KEY_PAIR_GEN] = "CKM_KEA_KEY_PAIR_GEN";
398 	t[CKM_KEA_KEY_DERIVE] = "CKM_KEA_KEY_DERIVE";
399 	t[CKM_FORTEZZA_TIMESTAMP] = "CKM_FORTEZZA_TIMESTAMP";
400 	t[CKM_BATON_KEY_GEN] = "CKM_BATON_KEY_GEN";
401 	t[CKM_BATON_ECB128] = "CKM_BATON_ECB128";
402 	t[CKM_BATON_ECB96] = "CKM_BATON_ECB96";
403 	t[CKM_BATON_CBC128] = "CKM_BATON_CBC128";
404 	t[CKM_BATON_COUNTER] = "CKM_BATON_COUNTER";
405 	t[CKM_BATON_SHUFFLE] = "CKM_BATON_SHUFFLE";
406 	t[CKM_BATON_WRAP] = "CKM_BATON_WRAP";
407 	t[CKM_EC_KEY_PAIR_GEN] = "CKM_EC_KEY_PAIR_GEN";
408 	t[CKM_ECDSA] = "CKM_ECDSA";
409 	t[CKM_ECDSA_SHA1] = "CKM_ECDSA_SHA1";
410 	t[CKM_ECDSA_SHA224] = "CKM_ECDSA_SHA224";
411 	t[CKM_ECDSA_SHA256] = "CKM_ECDSA_SHA256";
412 	t[CKM_ECDSA_SHA384] = "CKM_ECDSA_SHA384";
413 	t[CKM_ECDSA_SHA512] = "CKM_ECDSA_SHA512";
414 	t[CKM_ECDH1_DERIVE] = "CKM_ECDH1_DERIVE";
415 	t[CKM_ECDH1_COFACTOR_DERIVE] = "CKM_ECDH1_COFACTOR_DERIVE";
416 	t[CKM_ECMQV_DERIVE] = "CKM_ECMQV_DERIVE";
417 	t[CKM_ECDH_AES_KEY_WRAP] = "CKM_ECDH_AES_KEY_WRAP";
418 	t[CKM_RSA_AES_KEY_WRAP] = "CKM_RSA_AES_KEY_WRAP";
419 	t[CKM_JUNIPER_KEY_GEN] = "CKM_JUNIPER_KEY_GEN";
420 	t[CKM_JUNIPER_ECB128] = "CKM_JUNIPER_ECB128";
421 	t[CKM_JUNIPER_CBC128] = "CKM_JUNIPER_CBC128";
422 	t[CKM_JUNIPER_COUNTER] = "CKM_JUNIPER_COUNTER";
423 	t[CKM_JUNIPER_SHUFFLE] = "CKM_JUNIPER_SHUFFLE";
424 	t[CKM_JUNIPER_WRAP] = "CKM_JUNIPER_WRAP";
425 	t[CKM_FASTHASH] = "CKM_FASTHASH";
426 	t[CKM_AES_KEY_GEN] = "CKM_AES_KEY_GEN";
427 	t[CKM_AES_ECB] = "CKM_AES_ECB";
428 	t[CKM_AES_CBC] = "CKM_AES_CBC";
429 	t[CKM_AES_MAC] = "CKM_AES_MAC";
430 	t[CKM_AES_MAC_GENERAL] = "CKM_AES_MAC_GENERAL";
431 	t[CKM_AES_CBC_PAD] = "CKM_AES_CBC_PAD";
432 	t[CKM_AES_CTR] = "CKM_AES_CTR";
433 	t[CKM_AES_GCM] = "CKM_AES_GCM";
434 	t[CKM_AES_CCM] = "CKM_AES_CCM";
435 	t[CKM_AES_CTS] = "CKM_AES_CTS";
436 	t[CKM_AES_CMAC] = "CKM_AES_CMAC";
437 	t[CKM_AES_CMAC_GENERAL] = "CKM_AES_CMAC_GENERAL";
438 	t[CKM_AES_XCBC_MAC] = "CKM_AES_XCBC_MAC";
439 	t[CKM_AES_XCBC_MAC_96] = "CKM_AES_XCBC_MAC_96";
440 	t[CKM_AES_GMAC] = "CKM_AES_GMAC";
441 	t[CKM_BLOWFISH_KEY_GEN] = "CKM_BLOWFISH_KEY_GEN";
442 	t[CKM_BLOWFISH_CBC] = "CKM_BLOWFISH_CBC";
443 	t[CKM_TWOFISH_KEY_GEN] = "CKM_TWOFISH_KEY_GEN";
444 	t[CKM_TWOFISH_CBC] = "CKM_TWOFISH_CBC";
445 	t[CKM_BLOWFISH_CBC_PAD] = "CKM_BLOWFISH_CBC_PAD";
446 	t[CKM_TWOFISH_CBC_PAD] = "CKM_TWOFISH_CBC_PAD";
447 	t[CKM_DES_ECB_ENCRYPT_DATA] = "CKM_DES_ECB_ENCRYPT_DATA";
448 	t[CKM_DES_CBC_ENCRYPT_DATA] = "CKM_DES_CBC_ENCRYPT_DATA";
449 	t[CKM_DES3_ECB_ENCRYPT_DATA] = "CKM_DES3_ECB_ENCRYPT_DATA";
450 	t[CKM_DES3_CBC_ENCRYPT_DATA] = "CKM_DES3_CBC_ENCRYPT_DATA";
451 	t[CKM_AES_ECB_ENCRYPT_DATA] = "CKM_AES_ECB_ENCRYPT_DATA";
452 	t[CKM_AES_CBC_ENCRYPT_DATA] = "CKM_AES_CBC_ENCRYPT_DATA";
453 	t[CKM_GOSTR3410_KEY_PAIR_GEN] = "CKM_GOSTR3410_KEY_PAIR_GEN";
454 	t[CKM_GOSTR3410] = "CKM_GOSTR3410";
455 	t[CKM_GOSTR3410_WITH_GOSTR3411] = "CKM_GOSTR3410_WITH_GOSTR3411";
456 	t[CKM_GOSTR3410_KEY_WRAP] = "CKM_GOSTR3410_KEY_WRAP";
457 	t[CKM_GOSTR3410_DERIVE] = "CKM_GOSTR3410_DERIVE";
458 	t[CKM_GOSTR3411] = "CKM_GOSTR3411";
459 	t[CKM_GOSTR3411_HMAC] = "CKM_GOSTR3411_HMAC";
460 	t[CKM_GOST28147_KEY_GEN] = "CKM_GOST28147_KEY_GEN";
461 	t[CKM_GOST28147_ECB] = "CKM_GOST28147_ECB";
462 	t[CKM_GOST28147] = "CKM_GOST28147";
463 	t[CKM_GOST28147_MAC] = "CKM_GOST28147_MAC";
464 	t[CKM_GOST28147_KEY_WRAP] = "CKM_GOST28147_KEY_WRAP";
465 	t[CKM_DSA_PARAMETER_GEN] = "CKM_DSA_PARAMETER_GEN";
466 	t[CKM_DH_PKCS_PARAMETER_GEN] = "CKM_DH_PKCS_PARAMETER_GEN";
467 	t[CKM_X9_42_DH_PARAMETER_GEN] = "CKM_X9_42_DH_PARAMETER_GEN";
468 	t[CKM_DSA_PROBABLISTIC_PARAMETER_GEN] = "CKM_DSA_PROBABLISTIC_PARAMETER_GEN";
469 	t[CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN] = "CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN";
470 	t[CKM_AES_OFB] = "CKM_AES_OFB";
471 	t[CKM_AES_CFB64] = "CKM_AES_CFB64";
472 	t[CKM_AES_CFB8] = "CKM_AES_CFB8";
473 	t[CKM_AES_CFB128] = "CKM_AES_CFB128";
474 	t[CKM_AES_CFB1] = "CKM_AES_CFB1";
475 	t[CKM_AES_KEY_WRAP] = "CKM_AES_KEY_WRAP";
476 	t[CKM_AES_KEY_WRAP_PAD] = "CKM_AES_KEY_WRAP_PAD";
477 	t[CKM_RSA_PKCS_TPM_1_1] = "CKM_RSA_PKCS_TPM_1_1";
478 	t[CKM_RSA_PKCS_OAEP_TPM_1_1] = "CKM_RSA_PKCS_OAEP_TPM_1_1";
479 	t[CKM_EC_EDWARDS_KEY_PAIR_GEN] = "CKM_EC_EDWARDS_KEY_PAIR_GEN";
480 	t[CKM_EDDSA] = "CKM_EDDSA";
481 }
482 
fill_CKO_table(std::map<unsigned long,std::string> & t)483 void fill_CKO_table(std::map<unsigned long, std::string> &t)
484 {
485 	t[CKO_DATA] = "CKO_DATA";
486 	t[CKO_CERTIFICATE] = "CKO_CERTIFICATE";
487 	t[CKO_PUBLIC_KEY] = "CKO_PUBLIC_KEY";
488 	t[CKO_PRIVATE_KEY] = "CKO_PRIVATE_KEY";
489 	t[CKO_SECRET_KEY] = "CKO_SECRET_KEY";
490 	t[CKO_HW_FEATURE] = "CKO_HW_FEATURE";
491 	t[CKO_DOMAIN_PARAMETERS] = "CKO_DOMAIN_PARAMETERS";
492 	t[CKO_MECHANISM] = "CKO_MECHANISM";
493 	t[CKO_OTP_KEY] = "CKO_OTP_KEY";
494 }
495 
fill_CKH_table(std::map<unsigned long,std::string> & t)496 void fill_CKH_table(std::map<unsigned long, std::string> &t)
497 {
498 	t[CKH_MONOTONIC_COUNTER] = "CKH_MONOTONIC_COUNTER";
499 	t[CKH_CLOCK] = "CKH_CLOCK";
500 	t[CKH_USER_INTERFACE] = "CKH_USER_INTERFACE";
501 }
502 
fill_CKK_table(std::map<unsigned long,std::string> & t)503 void fill_CKK_table(std::map<unsigned long, std::string> &t)
504 {
505 	t[CKK_RSA] = "CKK_RSA";
506 	t[CKK_DSA] = "CKK_DSA";
507 	t[CKK_DH] = "CKK_DH";
508 	t[CKK_EC] = "CKK_EC";
509 	t[CKK_X9_42_DH] = "CKK_X9_42_DH";
510 	t[CKK_KEA] = "CKK_KEA";
511 	t[CKK_GENERIC_SECRET] = "CKK_GENERIC_SECRET";
512 	t[CKK_RC2] = "CKK_RC2";
513 	t[CKK_RC4] = "CKK_RC4";
514 	t[CKK_DES] = "CKK_DES";
515 	t[CKK_DES2] = "CKK_DES2";
516 	t[CKK_DES3] = "CKK_DES3";
517 	t[CKK_CAST] = "CKK_CAST";
518 	t[CKK_CAST3] = "CKK_CAST3";
519 	t[CKK_CAST128] = "CKK_CAST128";
520 	t[CKK_RC5] = "CKK_RC5";
521 	t[CKK_IDEA] = "CKK_IDEA";
522 	t[CKK_SKIPJACK] = "CKK_SKIPJACK";
523 	t[CKK_BATON] = "CKK_BATON";
524 	t[CKK_JUNIPER] = "CKK_JUNIPER";
525 	t[CKK_CDMF] = "CKK_CDMF";
526 	t[CKK_AES] = "CKK_AES";
527 	t[CKK_BLOWFISH] = "CKK_BLOWFISH";
528 	t[CKK_TWOFISH] = "CKK_TWOFISH";
529 	t[CKK_SECURID] = "CKK_SECURID";
530 	t[CKK_HOTP] = "CKK_HOTP";
531 	t[CKK_ACTI] = "CKK_ACTI";
532 	t[CKK_CAMELLIA] = "CKK_CAMELLIA";
533 	t[CKK_ARIA] = "CKK_ARIA";
534 	t[CKK_MD5_HMAC] = "CKK_MD5_HMAC";
535 	t[CKK_SHA_1_HMAC] = "CKK_SHA_1_HMAC";
536 	t[CKK_RIPEMD128_HMAC] = "CKK_RIPEMD128_HMAC";
537 	t[CKK_RIPEMD160_HMAC] = "CKK_RIPEMD160_HMAC";
538 	t[CKK_SHA256_HMAC] = "CKK_SHA256_HMAC";
539 	t[CKK_SHA384_HMAC] = "CKK_SHA384_HMAC";
540 	t[CKK_SHA512_HMAC] = "CKK_SHA512_HMAC";
541 	t[CKK_SHA224_HMAC] = "CKK_SHA224_HMAC";
542 	t[CKK_SEED] = "CKK_SEED";
543 	t[CKK_GOSTR3410] = "CKK_GOSTR3410";
544 	t[CKK_GOSTR3411] = "CKK_GOSTR3411";
545 	t[CKK_GOST28147] = "CKK_GOST28147";
546 	t[CKK_EC_EDWARDS] = "CKK_EC_EDWARDS";
547 }
548 
fill_CKC_table(std::map<unsigned long,std::string> & t)549 void fill_CKC_table(std::map<unsigned long, std::string> &t)
550 {
551 	t[CKC_X_509] = "CKC_X_509";
552 	t[CKC_X_509_ATTR_CERT] = "CKC_X_509_ATTR_CERT";
553 	t[CKC_WTLS] = "CKC_WTLS";
554 	t[CKC_OPENPGP] = "CKC_OPENPGP";
555 }
556 
557 #endif // !_SOFTHSM_V2_TABLES_H
558