1 /*
2  * COPYRIGHT (c) International Business Machines Corp. 2013-2017
3  *
4  * This program is provided under the terms of the Common Public License,
5  * version 1.0 (CPL-1.0). Any use, reproduction or distribution for this
6  * software constitutes recipient's acceptance of CPL-1.0 terms which can be
7  * found in the file LICENSE file or at
8  * https://opensource.org/licenses/cpl1.0.php
9  */
10 
11 #ifndef _MECH_TO_STR_
12 #define _MECH_TO_STR_
13 #include "pkcs11types.h"
14 
15 /*
16  * List generate with:
17  *
18  * grep CKM_ ../../usr/include/pkcs11/pkcs11types.h |
19  *   awk '/^#/ { printf("\tif (mech == %s)\n\t\treturn \"%s\";\n", $2, $2); }'
20  *
21  */
mech_to_str(CK_ULONG mech)22 static inline const char *mech_to_str(CK_ULONG mech)
23 {
24     if (mech == CKM_RSA_PKCS_KEY_PAIR_GEN)
25         return "CKM_RSA_PKCS_KEY_PAIR_GEN";
26     if (mech == CKM_RSA_PKCS)
27         return "CKM_RSA_PKCS";
28     if (mech == CKM_RSA_9796)
29         return "CKM_RSA_9796";
30     if (mech == CKM_RSA_X_509)
31         return "CKM_RSA_X_509";
32     if (mech == CKM_MD2_RSA_PKCS)
33         return "CKM_MD2_RSA_PKCS";
34     if (mech == CKM_MD5_RSA_PKCS)
35         return "CKM_MD5_RSA_PKCS";
36     if (mech == CKM_SHA1_RSA_PKCS)
37         return "CKM_SHA1_RSA_PKCS";
38     if (mech == CKM_RIPEMD128_RSA_PKCS)
39         return "CKM_RIPEMD128_RSA_PKCS";
40     if (mech == CKM_RIPEMD160_RSA_PKCS)
41         return "CKM_RIPEMD160_RSA_PKCS";
42     if (mech == CKM_RSA_PKCS_OAEP)
43         return "CKM_RSA_PKCS_OAEP";
44     if (mech == CKM_RSA_X9_31_KEY_PAIR_GEN)
45         return "CKM_RSA_X9_31_KEY_PAIR_GEN";
46     if (mech == CKM_RSA_X9_31)
47         return "CKM_RSA_X9_31";
48     if (mech == CKM_SHA1_RSA_X9_31)
49         return "CKM_SHA1_RSA_X9_31";
50     if (mech == CKM_RSA_PKCS_PSS)
51         return "CKM_RSA_PKCS_PSS";
52     if (mech == CKM_SHA1_RSA_PKCS_PSS)
53         return "CKM_SHA1_RSA_PKCS_PSS";
54     if (mech == CKM_DSA_KEY_PAIR_GEN)
55         return "CKM_DSA_KEY_PAIR_GEN";
56     if (mech == CKM_DSA)
57         return "CKM_DSA";
58     if (mech == CKM_DSA_SHA1)
59         return "CKM_DSA_SHA1";
60     if (mech == CKM_DH_PKCS_KEY_PAIR_GEN)
61         return "CKM_DH_PKCS_KEY_PAIR_GEN";
62     if (mech == CKM_DH_PKCS_DERIVE)
63         return "CKM_DH_PKCS_DERIVE";
64     if (mech == CKM_X9_42_DH_KEY_PAIR_GEN)
65         return "CKM_X9_42_DH_KEY_PAIR_GEN";
66     if (mech == CKM_X9_42_DH_DERIVE)
67         return "CKM_X9_42_DH_DERIVE";
68     if (mech == CKM_X9_42_DH_HYBRID_DERIVE)
69         return "CKM_X9_42_DH_HYBRID_DERIVE";
70     if (mech == CKM_X9_42_MQV_DERIVE)
71         return "CKM_X9_42_MQV_DERIVE";
72     if (mech == CKM_SHA224_RSA_PKCS)
73         return "CKM_SHA224_RSA_PKCS";
74     if (mech == CKM_SHA256_RSA_PKCS)
75         return "CKM_SHA256_RSA_PKCS";
76     if (mech == CKM_SHA384_RSA_PKCS)
77         return "CKM_SHA384_RSA_PKCS";
78     if (mech == CKM_SHA512_RSA_PKCS)
79         return "CKM_SHA512_RSA_PKCS";
80     if (mech == CKM_RC2_KEY_GEN)
81         return "CKM_RC2_KEY_GEN";
82     if (mech == CKM_RC2_ECB)
83         return "CKM_RC2_ECB";
84     if (mech == CKM_RC2_CBC)
85         return "CKM_RC2_CBC";
86     if (mech == CKM_RC2_MAC)
87         return "CKM_RC2_MAC";
88     if (mech == CKM_RC2_MAC_GENERAL)
89         return "CKM_RC2_MAC_GENERAL";
90     if (mech == CKM_RC2_CBC_PAD)
91         return "CKM_RC2_CBC_PAD";
92     if (mech == CKM_RC4_KEY_GEN)
93         return "CKM_RC4_KEY_GEN";
94     if (mech == CKM_RC4)
95         return "CKM_RC4";
96     if (mech == CKM_DES_KEY_GEN)
97         return "CKM_DES_KEY_GEN";
98     if (mech == CKM_DES_ECB)
99         return "CKM_DES_ECB";
100     if (mech == CKM_DES_CBC)
101         return "CKM_DES_CBC";
102     if (mech == CKM_DES_MAC)
103         return "CKM_DES_MAC";
104     if (mech == CKM_DES_MAC_GENERAL)
105         return "CKM_DES_MAC_GENERAL";
106     if (mech == CKM_DES_CBC_PAD)
107         return "CKM_DES_CBC_PAD";
108     if (mech == CKM_DES_OFB64)
109         return "CKM_DES_OFB64";
110     if (mech == CKM_DES_CFB64)
111         return "CKM_DES_CFB64";
112     if (mech == CKM_DES_CFB8)
113         return "CKM_DES_CFB8";
114     if (mech == CKM_DES2_KEY_GEN)
115         return "CKM_DES2_KEY_GEN";
116     if (mech == CKM_DES3_KEY_GEN)
117         return "CKM_DES3_KEY_GEN";
118     if (mech == CKM_DES3_ECB)
119         return "CKM_DES3_ECB";
120     if (mech == CKM_DES3_CBC)
121         return "CKM_DES3_CBC";
122     if (mech == CKM_DES3_MAC)
123         return "CKM_DES3_MAC";
124     if (mech == CKM_DES3_MAC_GENERAL)
125         return "CKM_DES3_MAC_GENERAL";
126     if (mech == CKM_DES3_CBC_PAD)
127         return "CKM_DES3_CBC_PAD";
128     if (mech == CKM_CDMF_KEY_GEN)
129         return "CKM_CDMF_KEY_GEN";
130     if (mech == CKM_CDMF_ECB)
131         return "CKM_CDMF_ECB";
132     if (mech == CKM_CDMF_CBC)
133         return "CKM_CDMF_CBC";
134     if (mech == CKM_CDMF_MAC)
135         return "CKM_CDMF_MAC";
136     if (mech == CKM_CDMF_MAC_GENERAL)
137         return "CKM_CDMF_MAC_GENERAL";
138     if (mech == CKM_CDMF_CBC_PAD)
139         return "CKM_CDMF_CBC_PAD";
140     if (mech == CKM_MD2)
141         return "CKM_MD2";
142     if (mech == CKM_MD2_HMAC)
143         return "CKM_MD2_HMAC";
144     if (mech == CKM_MD2_HMAC_GENERAL)
145         return "CKM_MD2_HMAC_GENERAL";
146     if (mech == CKM_MD5)
147         return "CKM_MD5";
148     if (mech == CKM_MD5_HMAC)
149         return "CKM_MD5_HMAC";
150     if (mech == CKM_MD5_HMAC_GENERAL)
151         return "CKM_MD5_HMAC_GENERAL";
152     if (mech == CKM_SHA_1)
153         return "CKM_SHA_1";
154     if (mech == CKM_SHA_1_HMAC)
155         return "CKM_SHA_1_HMAC";
156     if (mech == CKM_SHA_1_HMAC_GENERAL)
157         return "CKM_SHA_1_HMAC_GENERAL";
158     if (mech == CKM_RIPEMD128)
159         return "CKM_RIPEMD128";
160     if (mech == CKM_RIPEMD128_HMAC)
161         return "CKM_RIPEMD128_HMAC";
162     if (mech == CKM_RIPEMD128_HMAC_GENERAL)
163         return "CKM_RIPEMD128_HMAC_GENERAL";
164     if (mech == CKM_RIPEMD160)
165         return "CKM_RIPEMD160";
166     if (mech == CKM_RIPEMD160_HMAC)
167         return "CKM_RIPEMD160_HMAC";
168     if (mech == CKM_RIPEMD160_HMAC_GENERAL)
169         return "CKM_RIPEMD160_HMAC_GENERAL";
170     if (mech == CKM_SHA224)
171         return "CKM_SHA224";
172     if (mech == CKM_SHA224_HMAC)
173         return "CKM_SHA224_HMAC";
174     if (mech == CKM_SHA224_HMAC_GENERAL)
175         return "CKM_SHA224_HMAC_GENERAL";
176     if (mech == CKM_SHA256)
177         return "CKM_SHA256";
178     if (mech == CKM_SHA256_HMAC)
179         return "CKM_SHA256_HMAC";
180     if (mech == CKM_SHA256_HMAC_GENERAL)
181         return "CKM_SHA256_HMAC_GENERAL";
182     if (mech == CKM_SHA384)
183         return "CKM_SHA384";
184     if (mech == CKM_SHA384_HMAC)
185         return "CKM_SHA384_HMAC";
186     if (mech == CKM_SHA384_HMAC_GENERAL)
187         return "CKM_SHA384_HMAC_GENERAL";
188     if (mech == CKM_SHA512)
189         return "CKM_SHA512";
190     if (mech == CKM_SHA512_HMAC)
191         return "CKM_SHA512_HMAC";
192     if (mech == CKM_SHA512_HMAC_GENERAL)
193         return "CKM_SHA512_HMAC_GENERAL";
194     if (mech == CKM_SHA512_224)
195         return "CKM_SHA512_224";
196     if (mech == CKM_SHA512_224_HMAC)
197         return "CKM_SHA512_224_HMAC";
198     if (mech == CKM_SHA512_224_HMAC_GENERAL)
199         return "CKM_SHA512_224_HMAC_GENERAL";
200     if (mech == CKM_SHA512_256)
201         return "CKM_SHA512_256";
202     if (mech == CKM_SHA512_256_HMAC)
203         return "CKM_SHA512_256_HMAC";
204     if (mech == CKM_SHA512_256_HMAC_GENERAL)
205         return "CKM_SHA512_256_HMAC_GENERAL";
206     if (mech == CKM_CAST_KEY_GEN)
207         return "CKM_CAST_KEY_GEN";
208     if (mech == CKM_CAST_ECB)
209         return "CKM_CAST_ECB";
210     if (mech == CKM_CAST_CBC)
211         return "CKM_CAST_CBC";
212     if (mech == CKM_CAST_MAC)
213         return "CKM_CAST_MAC";
214     if (mech == CKM_CAST_MAC_GENERAL)
215         return "CKM_CAST_MAC_GENERAL";
216     if (mech == CKM_CAST_CBC_PAD)
217         return "CKM_CAST_CBC_PAD";
218     if (mech == CKM_CAST3_KEY_GEN)
219         return "CKM_CAST3_KEY_GEN";
220     if (mech == CKM_CAST3_ECB)
221         return "CKM_CAST3_ECB";
222     if (mech == CKM_CAST3_CBC)
223         return "CKM_CAST3_CBC";
224     if (mech == CKM_CAST3_MAC)
225         return "CKM_CAST3_MAC";
226     if (mech == CKM_CAST3_MAC_GENERAL)
227         return "CKM_CAST3_MAC_GENERAL";
228     if (mech == CKM_CAST3_CBC_PAD)
229         return "CKM_CAST3_CBC_PAD";
230     if (mech == CKM_CAST5_KEY_GEN)
231         return "CKM_CAST5_KEY_GEN";
232     if (mech == CKM_CAST128_KEY_GEN)
233         return "CKM_CAST128_KEY_GEN";
234     if (mech == CKM_CAST5_ECB)
235         return "CKM_CAST5_ECB";
236     if (mech == CKM_CAST128_ECB)
237         return "CKM_CAST128_ECB";
238     if (mech == CKM_CAST5_CBC)
239         return "CKM_CAST5_CBC";
240     if (mech == CKM_CAST128_CBC)
241         return "CKM_CAST128_CBC";
242     if (mech == CKM_CAST5_MAC)
243         return "CKM_CAST5_MAC";
244     if (mech == CKM_CAST128_MAC)
245         return "CKM_CAST128_MAC";
246     if (mech == CKM_CAST5_MAC_GENERAL)
247         return "CKM_CAST5_MAC_GENERAL";
248     if (mech == CKM_CAST128_MAC_GENERAL)
249         return "CKM_CAST128_MAC_GENERAL";
250     if (mech == CKM_CAST5_CBC_PAD)
251         return "CKM_CAST5_CBC_PAD";
252     if (mech == CKM_CAST128_CBC_PAD)
253         return "CKM_CAST128_CBC_PAD";
254     if (mech == CKM_RC5_KEY_GEN)
255         return "CKM_RC5_KEY_GEN";
256     if (mech == CKM_RC5_ECB)
257         return "CKM_RC5_ECB";
258     if (mech == CKM_RC5_CBC)
259         return "CKM_RC5_CBC";
260     if (mech == CKM_RC5_MAC)
261         return "CKM_RC5_MAC";
262     if (mech == CKM_RC5_MAC_GENERAL)
263         return "CKM_RC5_MAC_GENERAL";
264     if (mech == CKM_RC5_CBC_PAD)
265         return "CKM_RC5_CBC_PAD";
266     if (mech == CKM_IDEA_KEY_GEN)
267         return "CKM_IDEA_KEY_GEN";
268     if (mech == CKM_IDEA_ECB)
269         return "CKM_IDEA_ECB";
270     if (mech == CKM_IDEA_CBC)
271         return "CKM_IDEA_CBC";
272     if (mech == CKM_IDEA_MAC)
273         return "CKM_IDEA_MAC";
274     if (mech == CKM_IDEA_MAC_GENERAL)
275         return "CKM_IDEA_MAC_GENERAL";
276     if (mech == CKM_IDEA_CBC_PAD)
277         return "CKM_IDEA_CBC_PAD";
278     if (mech == CKM_GENERIC_SECRET_KEY_GEN)
279         return "CKM_GENERIC_SECRET_KEY_GEN";
280     if (mech == CKM_CONCATENATE_BASE_AND_KEY)
281         return "CKM_CONCATENATE_BASE_AND_KEY";
282     if (mech == CKM_CONCATENATE_BASE_AND_DATA)
283         return "CKM_CONCATENATE_BASE_AND_DATA";
284     if (mech == CKM_CONCATENATE_DATA_AND_BASE)
285         return "CKM_CONCATENATE_DATA_AND_BASE";
286     if (mech == CKM_XOR_BASE_AND_DATA)
287         return "CKM_XOR_BASE_AND_DATA";
288     if (mech == CKM_EXTRACT_KEY_FROM_KEY)
289         return "CKM_EXTRACT_KEY_FROM_KEY";
290     if (mech == CKM_SSL3_PRE_MASTER_KEY_GEN)
291         return "CKM_SSL3_PRE_MASTER_KEY_GEN";
292     if (mech == CKM_SSL3_MASTER_KEY_DERIVE)
293         return "CKM_SSL3_MASTER_KEY_DERIVE";
294     if (mech == CKM_SSL3_KEY_AND_MAC_DERIVE)
295         return "CKM_SSL3_KEY_AND_MAC_DERIVE";
296     if (mech == CKM_SSL3_MASTER_KEY_DERIVE_DH)
297         return "CKM_SSL3_MASTER_KEY_DERIVE_DH";
298     if (mech == CKM_TLS_PRE_MASTER_KEY_GEN)
299         return "CKM_TLS_PRE_MASTER_KEY_GEN";
300     if (mech == CKM_TLS_MASTER_KEY_DERIVE)
301         return "CKM_TLS_MASTER_KEY_DERIVE";
302     if (mech == CKM_TLS_KEY_AND_MAC_DERIVE)
303         return "CKM_TLS_KEY_AND_MAC_DERIVE";
304     if (mech == CKM_TLS_MASTER_KEY_DERIVE_DH)
305         return "CKM_TLS_MASTER_KEY_DERIVE_DH";
306     if (mech == CKM_SSL3_MD5_MAC)
307         return "CKM_SSL3_MD5_MAC";
308     if (mech == CKM_SSL3_SHA1_MAC)
309         return "CKM_SSL3_SHA1_MAC";
310     if (mech == CKM_MD5_KEY_DERIVATION)
311         return "CKM_MD5_KEY_DERIVATION";
312     if (mech == CKM_MD2_KEY_DERIVATION)
313         return "CKM_MD2_KEY_DERIVATION";
314     if (mech == CKM_SHA1_KEY_DERIVATION)
315         return "CKM_SHA1_KEY_DERIVATION";
316     if (mech == CKM_SHA224_KEY_DERIVATION)
317         return "CKM_SHA224_KEY_DERIVATION";
318     if (mech == CKM_SHA256_KEY_DERIVATION)
319         return "CKM_SHA256_KEY_DERIVATION";
320     if (mech == CKM_SHA384_KEY_DERIVATION)
321         return "CKM_SHA384_KEY_DERIVATION";
322     if (mech == CKM_SHA512_KEY_DERIVATION)
323         return "CKM_SHA512_KEY_DERIVATION";
324     if (mech == CKM_PBE_MD2_DES_CBC)
325         return "CKM_PBE_MD2_DES_CBC";
326     if (mech == CKM_PBE_MD5_DES_CBC)
327         return "CKM_PBE_MD5_DES_CBC";
328     if (mech == CKM_PBE_MD5_CAST_CBC)
329         return "CKM_PBE_MD5_CAST_CBC";
330     if (mech == CKM_PBE_MD5_CAST3_CBC)
331         return "CKM_PBE_MD5_CAST3_CBC";
332     if (mech == CKM_PBE_MD5_CAST5_CBC)
333         return "CKM_PBE_MD5_CAST5_CBC";
334     if (mech == CKM_PBE_MD5_CAST128_CBC)
335         return "CKM_PBE_MD5_CAST128_CBC";
336     if (mech == CKM_PBE_SHA1_CAST5_CBC)
337         return "CKM_PBE_SHA1_CAST5_CBC";
338     if (mech == CKM_PBE_SHA1_CAST128_CBC)
339         return "CKM_PBE_SHA1_CAST128_CBC";
340     if (mech == CKM_PBE_SHA1_RC4_128)
341         return "CKM_PBE_SHA1_RC4_128";
342     if (mech == CKM_PBE_SHA1_RC4_40)
343         return "CKM_PBE_SHA1_RC4_40";
344     if (mech == CKM_PBE_SHA1_DES3_EDE_CBC)
345         return "CKM_PBE_SHA1_DES3_EDE_CBC";
346     if (mech == CKM_PBE_SHA1_DES2_EDE_CBC)
347         return "CKM_PBE_SHA1_DES2_EDE_CBC";
348     if (mech == CKM_PBE_SHA1_RC2_128_CBC)
349         return "CKM_PBE_SHA1_RC2_128_CBC";
350     if (mech == CKM_PBE_SHA1_RC2_40_CBC)
351         return "CKM_PBE_SHA1_RC2_40_CBC";
352     if (mech == CKM_PKCS5_PBKD2)
353         return "CKM_PKCS5_PBKD2";
354     if (mech == CKM_PBA_SHA1_WITH_SHA1_HMAC)
355         return "CKM_PBA_SHA1_WITH_SHA1_HMAC";
356     if (mech == CKM_KEY_WRAP_LYNKS)
357         return "CKM_KEY_WRAP_LYNKS";
358     if (mech == CKM_KEY_WRAP_SET_OAEP)
359         return "CKM_KEY_WRAP_SET_OAEP";
360     if (mech == CKM_SKIPJACK_KEY_GEN)
361         return "CKM_SKIPJACK_KEY_GEN";
362     if (mech == CKM_SKIPJACK_ECB64)
363         return "CKM_SKIPJACK_ECB64";
364     if (mech == CKM_SKIPJACK_CBC64)
365         return "CKM_SKIPJACK_CBC64";
366     if (mech == CKM_SKIPJACK_OFB64)
367         return "CKM_SKIPJACK_OFB64";
368     if (mech == CKM_SKIPJACK_CFB64)
369         return "CKM_SKIPJACK_CFB64";
370     if (mech == CKM_SKIPJACK_CFB32)
371         return "CKM_SKIPJACK_CFB32";
372     if (mech == CKM_SKIPJACK_CFB16)
373         return "CKM_SKIPJACK_CFB16";
374     if (mech == CKM_SKIPJACK_CFB8)
375         return "CKM_SKIPJACK_CFB8";
376     if (mech == CKM_SKIPJACK_WRAP)
377         return "CKM_SKIPJACK_WRAP";
378     if (mech == CKM_SKIPJACK_PRIVATE_WRAP)
379         return "CKM_SKIPJACK_PRIVATE_WRAP";
380     if (mech == CKM_SKIPJACK_RELAYX)
381         return "CKM_SKIPJACK_RELAYX";
382     if (mech == CKM_KEA_KEY_PAIR_GEN)
383         return "CKM_KEA_KEY_PAIR_GEN";
384     if (mech == CKM_KEA_KEY_DERIVE)
385         return "CKM_KEA_KEY_DERIVE";
386     if (mech == CKM_FORTEZZA_TIMESTAMP)
387         return "CKM_FORTEZZA_TIMESTAMP";
388     if (mech == CKM_BATON_KEY_GEN)
389         return "CKM_BATON_KEY_GEN";
390     if (mech == CKM_BATON_ECB128)
391         return "CKM_BATON_ECB128";
392     if (mech == CKM_BATON_ECB96)
393         return "CKM_BATON_ECB96";
394     if (mech == CKM_BATON_CBC128)
395         return "CKM_BATON_CBC128";
396     if (mech == CKM_BATON_COUNTER)
397         return "CKM_BATON_COUNTER";
398     if (mech == CKM_BATON_SHUFFLE)
399         return "CKM_BATON_SHUFFLE";
400     if (mech == CKM_BATON_WRAP)
401         return "CKM_BATON_WRAP";
402     if (mech == CKM_ECDSA_KEY_PAIR_GEN)
403         return "CKM_ECDSA_KEY_PAIR_GEN";
404     if (mech == CKM_EC_KEY_PAIR_GEN)
405         return "CKM_EC_KEY_PAIR_GEN";
406     if (mech == CKM_ECDSA)
407         return "CKM_ECDSA";
408     if (mech == CKM_ECDSA_SHA1)
409         return "CKM_ECDSA_SHA1";
410     if (mech == CKM_ECDSA_SHA224)
411         return "CKM_ECDSA_SHA224";
412     if (mech == CKM_ECDSA_SHA256)
413         return "CKM_ECDSA_SHA256";
414     if (mech == CKM_ECDSA_SHA384)
415         return "CKM_ECDSA_SHA384";
416     if (mech == CKM_ECDSA_SHA512)
417         return "CKM_ECDSA_SHA512";
418     if (mech == CKM_ECDH1_DERIVE)
419         return "CKM_ECDH1_DERIVE";
420     if (mech == CKM_ECDH1_COFACTOR_DERIVE)
421         return "CKM_ECDH1_COFACTOR_DERIVE";
422     if (mech == CKM_ECMQV_DERIVE)
423         return "CKM_ECMQV_DERIVE";
424     if (mech == CKM_JUNIPER_KEY_GEN)
425         return "CKM_JUNIPER_KEY_GEN";
426     if (mech == CKM_JUNIPER_ECB128)
427         return "CKM_JUNIPER_ECB128";
428     if (mech == CKM_JUNIPER_CBC128)
429         return "CKM_JUNIPER_CBC128";
430     if (mech == CKM_JUNIPER_COUNTER)
431         return "CKM_JUNIPER_COUNTER";
432     if (mech == CKM_JUNIPER_SHUFFLE)
433         return "CKM_JUNIPER_SHUFFLE";
434     if (mech == CKM_JUNIPER_WRAP)
435         return "CKM_JUNIPER_WRAP";
436     if (mech == CKM_FASTHASH)
437         return "CKM_FASTHASH";
438     if (mech == CKM_AES_KEY_GEN)
439         return "CKM_AES_KEY_GEN";
440     if (mech == CKM_AES_ECB)
441         return "CKM_AES_ECB";
442     if (mech == CKM_AES_CBC)
443         return "CKM_AES_CBC";
444     if (mech == CKM_AES_MAC)
445         return "CKM_AES_MAC";
446     if (mech == CKM_AES_MAC_GENERAL)
447         return "CKM_AES_MAC_GENERAL";
448     if (mech == CKM_AES_CBC_PAD)
449         return "CKM_AES_CBC_PAD";
450     if (mech == CKM_AES_CTR)
451         return "CKM_AES_CTR";
452     if (mech == CKM_AES_GCM)
453         return "CKM_AES_GCM";
454     if (mech == CKM_AES_OFB)
455         return "CKM_AES_OFB";
456     if (mech == CKM_AES_CFB128)
457         return "CKM_AES_CFB128";
458     if (mech == CKM_AES_CFB64)
459         return "CKM_AES_CFB64";
460     if (mech == CKM_AES_CFB8)
461         return "CKM_AES_CFB8";
462     if (mech == CKM_DSA_PARAMETER_GEN)
463         return "CKM_DSA_PARAMETER_GEN";
464     if (mech == CKM_DH_PKCS_PARAMETER_GEN)
465         return "CKM_DH_PKCS_PARAMETER_GEN";
466     if (mech == CKM_X9_42_DH_PARAMETER_GEN)
467         return "CKM_X9_42_DH_PARAMETER_GEN";
468     if (mech == CKM_VENDOR_DEFINED)
469         return "CKM_VENDOR_DEFINED";
470 
471     return "(unknown mech)";
472 }
473 
474 #endif
475