1 /*
2  * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
3  */
4 
5 /* Copyright  (c) 2002 Graz University of Technology. All rights reserved.
6  *
7  * Redistribution and use in  source and binary forms, with or without
8  * modification, are permitted  provided that the following conditions are met:
9  *
10  * 1. Redistributions of  source code must retain the above copyright notice,
11  *    this list of conditions and the following disclaimer.
12  *
13  * 2. Redistributions in  binary form must reproduce the above copyright notice,
14  *    this list of conditions and the following disclaimer in the documentation
15  *    and/or other materials provided with the distribution.
16  *
17  * 3. The end-user documentation included with the redistribution, if any, must
18  *    include the following acknowledgment:
19  *
20  *    "This product includes software developed by IAIK of Graz University of
21  *     Technology."
22  *
23  *    Alternately, this acknowledgment may appear in the software itself, if
24  *    and wherever such third-party acknowledgments normally appear.
25  *
26  * 4. The names "Graz University of Technology" and "IAIK of Graz University of
27  *    Technology" must not be used to endorse or promote products derived from
28  *    this software without prior written permission.
29  *
30  * 5. Products derived from this software may not be called
31  *    "IAIK PKCS Wrapper", nor may "IAIK" appear in their name, without prior
32  *    written permission of Graz University of Technology.
33  *
34  *  THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
35  *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
36  *  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
37  *  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE LICENSOR BE
38  *  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
39  *  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
40  *  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
41  *  OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
42  *  ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
43  *  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
44  *  OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
45  *  POSSIBILITY  OF SUCH DAMAGE.
46  */
47 
48 package sun.security.pkcs11.wrapper;
49 
50 /**
51  * This interface holds constants of the PKCS#11 v3.00 standard.
52  * This is mainly the content of the 'pkcs11t.h' header file.
53  *
54  * Mapping of primitiv data types to Java types:
55  * <pre>
56  *   TRUE .......................................... true
57  *   FALSE ......................................... false
58  *   CK_BYTE ....................................... byte
59  *   CK_CHAR ....................................... char
60  *   CK_UTF8CHAR ................................... char
61  *   CK_BBOOL ...................................... boolean
62  *   CK_ULONG ...................................... long
63  *   CK_LONG ....................................... long
64  *   CK_FLAGS ...................................... long
65  *   CK_BYTE_PTR ................................... byte[]
66  *   CK_CHAR_PTR ................................... char[]
67  *   CK_UTF8CHAR_PTR ............................... char[]
68  *   CK_ULONG_PTR .................................. long[]
69  *   CK_VOID_PTR ................................... Object[]
70  *   CK_NOTIFICATION ............................... long
71  *   CK_SLOT_ID .................................... long
72  *   CK_SESSION_HANDLE ............................. long
73  *   CK_USER_TYPE .................................. long
74  *   CK_STATE ...................................... long
75  *   CK_OBJECT_HANDLE .............................. long
76  *   CK_OBJECT_CLASS ............................... long
77  *   CK_HW_FEATURE_TYPE ............................ long
78  *   CK_KEY_TYPE ................................... long
79  *   CK_CERTIFICATE_TYPE ........................... long
80  *   CK_ATTRIBUTE_TYPE ............................. long
81  *   CK_MECHANISM_TYPE ............................. long
82  *   CK_RV ......................................... long
83  *   CK_RSA_PKCS_MGF_TYPE .......................... long
84  *   CK_RSA_PKCS_OAEP_SOURCE_TYPE .................. long
85  *   CK_EC_KDF_TYPE ................................ long
86  *   CK_X9_42_DH_KDF_TYPE .......................... long
87  *   CK_RC2_PARAMS ................................. long
88  *   CK_MAC_GENERAL_PARAMS ......................... long
89  *   CK_EXTRACT_PARAMS ............................. long
90  *   CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE .... long
91  *   CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE .............. long
92  *   CK_OTP_PARAM_TYPE / CK_PARAM_TYPE ............. long
93  *   CK_GENERATOR_FUNCTION ......................... long
94  *   CK_JAVA_MIDP_SECURITY_DOMAIN .................. long
95  *   CK_CERTIFICATE_CATEGORY ....................... long
96  *   CK_PROFILE_ID ................................. long
97  *   CK_PRF_DATA_TYPE .............................. long
98  *   CK_SP800_108_DKM_LENGTH_METHOD ................ long
99  *   CK_X3DH_KDF_TYPE .............................. long
100  *   CK_X2RATCHET_KDF_TYPE ......................... long
101  *   CK_XEDDSA_HASH_TYPE ........................... long
102  * </pre>
103  *
104  * @author <a href="mailto:Karl.Scheibelhofer@iaik.at"> Karl Scheibelhofer </a>
105  * @invariants
106  */
107 public interface PKCS11Constants {
108 
109     public static final boolean TRUE = true;
110 
111     public static final boolean FALSE = false;
112 
113     public static final Object NULL_PTR = null;
114 
115     /* some special values for certain CK_ULONG variables */
116 
117     // Cryptoki defines CK_UNAVAILABLE_INFORMATION as (~0UL)
118     // This means it is 0xffffffff in ILP32/LLP64 but 0xffffffffffffffff in LP64.
119     // To avoid these differences on the Java side, the native code treats
120     // CK_UNAVAILABLE_INFORMATION specially and always returns (long)-1 for it.
121     // See ckULongSpecialToJLong() in pkcs11wrapper.h
122     public static final long CK_UNAVAILABLE_INFORMATION = -1;
123     public static final long CK_EFFECTIVELY_INFINITE = 0L;
124 
125     /* The following value is always invalid if used as a session */
126     /* handle or object handle */
127     public static final long CK_INVALID_HANDLE = 0L;
128 
129     /* CK_NOTIFICATION enumerates the types of notifications that
130      * Cryptoki provides to an application */
131     /* CK_NOTIFICATION has been changed from an enum to a CK_ULONG
132      * for v2.0 */
133     public static final long CKN_SURRENDER = 0L;
134 
135     /* flags: bit flags that provide capabilities of the slot
136      *      Bit Flag              Mask        Meaning
137      */
138     public static final long CKF_TOKEN_PRESENT = 0x00000001L;
139     public static final long CKF_REMOVABLE_DEVICE = 0x00000002L;
140     public static final long CKF_HW_SLOT = 0x00000004L;
141 
142     /* The flags parameter is defined as follows:
143      *      Bit Flag                    Mask        Meaning
144      */
145     /* has random # generator */
146     public static final long  CKF_RNG                     = 0x00000001L;
147 
148     /* token is write-protected */
149     public static final long  CKF_WRITE_PROTECTED         = 0x00000002L;
150 
151     /* user must login */
152     public static final long  CKF_LOGIN_REQUIRED          = 0x00000004L;
153 
154     /* normal user's PIN is set */
155     public static final long  CKF_USER_PIN_INITIALIZED    = 0x00000008L;
156 
157     public static final long  CKF_RESTORE_KEY_NOT_NEEDED  = 0x00000020L;
158 
159     public static final long  CKF_CLOCK_ON_TOKEN          = 0x00000040L;
160 
161     public static final long  CKF_PROTECTED_AUTHENTICATION_PATH = 0x00000100L;
162 
163     public static final long  CKF_DUAL_CRYPTO_OPERATIONS  = 0x00000200L;
164 
165     public static final long  CKF_TOKEN_INITIALIZED       = 0x00000400L;
166 
167     public static final long  CKF_SECONDARY_AUTHENTICATION  = 0x00000800L;
168 
169     public static final long  CKF_USER_PIN_COUNT_LOW       = 0x00010000L;
170 
171     public static final long  CKF_USER_PIN_FINAL_TRY       = 0x00020000L;
172 
173     public static final long  CKF_USER_PIN_LOCKED          = 0x00040000L;
174 
175     public static final long  CKF_USER_PIN_TO_BE_CHANGED   = 0x00080000L;
176 
177     public static final long  CKF_SO_PIN_COUNT_LOW         = 0x00100000L;
178 
179     public static final long  CKF_SO_PIN_FINAL_TRY         = 0x00200000L;
180 
181     public static final long  CKF_SO_PIN_LOCKED            = 0x00400000L;
182 
183     public static final long  CKF_SO_PIN_TO_BE_CHANGED     = 0x00800000L;
184 
185     /* Security Officer */
186     public static final long CKU_SO = 0L;
187     /* Normal user */
188     public static final long CKU_USER = 1L;
189 
190     /* CK_STATE enumerates the session states */
191     public static final long  CKS_RO_PUBLIC_SESSION = 0L;
192     public static final long  CKS_RO_USER_FUNCTIONS = 1L;
193     public static final long  CKS_RW_PUBLIC_SESSION = 2L;
194     public static final long  CKS_RW_USER_FUNCTIONS = 3L;
195     public static final long  CKS_RW_SO_FUNCTIONS   = 4L;
196 
197     /* The flags are defined in the following table:
198      *      Bit Flag                Mask        Meaning
199      */
200     /* session is r/w */
201     public static final long  CKF_RW_SESSION        = 0x00000002L;
202     /* no parallel */
203     public static final long  CKF_SERIAL_SESSION    = 0x00000004L;
204 
205 
206     /* The following classes of objects are defined: */
207     public static final long  CKO_DATA              = 0x00000000L;
208     public static final long  CKO_CERTIFICATE       = 0x00000001L;
209     public static final long  CKO_PUBLIC_KEY        = 0x00000002L;
210     public static final long  CKO_PRIVATE_KEY       = 0x00000003L;
211     public static final long  CKO_SECRET_KEY        = 0x00000004L;
212     public static final long  CKO_HW_FEATURE        = 0x00000005L;
213     public static final long  CKO_DOMAIN_PARAMETERS = 0x00000006L;
214     public static final long  CKO_MECHANISM         = 0x00000007L;
215     public static final long  CKO_OTP_KEY           = 0x00000008L;
216     public static final long  CKO_PROFILE           = 0x00000009L;
217 
218     public static final long  CKO_VENDOR_DEFINED    = 0x80000000L;
219 
220     // pseudo object class ANY (for template manager)
221     public static final long  PCKO_ANY              = 0x7FFFFF23L;
222 
223     /* Uncomment when actually used
224     // Profile ID's
225     public static final long  CKP_INVALID_ID                = 0x00000000L;
226     public static final long  CKP_BASELINE_PROVIDER         = 0x00000001L;
227     public static final long  CKP_EXTENDED_PROVIDER         = 0x00000002L;
228     public static final long  CKP_AUTHENTICATION_TOKEN      = 0x00000003L;
229     public static final long  CKP_PUBLIC_CERTIFICATES_TOKEN = 0x00000004L;
230     public static final long  CKP_VENDOR_DEFINED            = 0x80000000L;
231 
232     // The following hardware feature types are defined
233     public static final long  CKH_MONOTONIC_COUNTER = 0x00000001L;
234     public static final long  CKH_CLOCK             = 0x00000002L;
235     public static final long  CKH_USER_INTERFACE    = 0x00000003L;
236     public static final long  CKH_VENDOR_DEFINED    = 0x80000000L;
237     */
238 
239     /* the following key types are defined: */
240     public static final long  CKK_RSA                  = 0x00000000L;
241     public static final long  CKK_DSA                  = 0x00000001L;
242     public static final long  CKK_DH                   = 0x00000002L;
243     public static final long  CKK_ECDSA /*deprecated*/ = 0x00000003L;
244     public static final long  CKK_EC                   = 0x00000003L;
245     public static final long  CKK_X9_42_DH             = 0x00000004L;
246     public static final long  CKK_KEA                  = 0x00000005L;
247     public static final long  CKK_GENERIC_SECRET       = 0x00000010L;
248     public static final long  CKK_RC2                  = 0x00000011L;
249     public static final long  CKK_RC4                  = 0x00000012L;
250     public static final long  CKK_DES                  = 0x00000013L;
251     public static final long  CKK_DES2                 = 0x00000014L;
252     public static final long  CKK_DES3                 = 0x00000015L;
253 
254     public static final long  CKK_CAST                 = 0x00000016L;
255     public static final long  CKK_CAST3                = 0x00000017L;
256     public static final long  CKK_CAST5 /*deprecated*/ = 0x00000018L;
257     public static final long  CKK_CAST128              = 0x00000018L;
258     public static final long  CKK_RC5                  = 0x00000019L;
259     public static final long  CKK_IDEA                 = 0x0000001AL;
260     public static final long  CKK_SKIPJACK             = 0x0000001BL;
261     public static final long  CKK_BATON                = 0x0000001CL;
262     public static final long  CKK_JUNIPER              = 0x0000001DL;
263     public static final long  CKK_CDMF                 = 0x0000001EL;
264     public static final long  CKK_AES                  = 0x0000001FL;
265     public static final long  CKK_BLOWFISH             = 0x00000020L;
266     public static final long  CKK_TWOFISH              = 0x00000021L;
267     public static final long  CKK_SECURID              = 0x00000022L;
268     public static final long  CKK_HOTP                 = 0x00000023L;
269     public static final long  CKK_ACTI                 = 0x00000024L;
270     public static final long  CKK_CAMELLIA             = 0x00000025L;
271     public static final long  CKK_ARIA                 = 0x00000026L;
272 
273     public static final long  CKK_MD5_HMAC             = 0x00000027L;
274     public static final long  CKK_SHA_1_HMAC           = 0x00000028L;
275     public static final long  CKK_RIPEMD128_HMAC       = 0x00000029L;
276     public static final long  CKK_RIPEMD160_HMAC       = 0x0000002AL;
277     public static final long  CKK_SHA256_HMAC          = 0x0000002BL;
278     public static final long  CKK_SHA384_HMAC          = 0x0000002CL;
279     public static final long  CKK_SHA512_HMAC          = 0x0000002DL;
280     public static final long  CKK_SHA224_HMAC          = 0x0000002EL;
281 
282     public static final long  CKK_SEED                 = 0x0000002FL;
283     public static final long  CKK_GOSTR3410            = 0x00000030L;
284     public static final long  CKK_GOSTR3411            = 0x00000031L;
285     public static final long  CKK_GOST28147            = 0x00000032L;
286     public static final long  CKK_CHACHA20             = 0x00000033L;
287     public static final long  CKK_POLY1305             = 0x00000034L;
288     public static final long  CKK_AES_XTS              = 0x00000035L;
289 
290     public static final long  CKK_SHA3_224_HMAC        = 0x00000036L;
291     public static final long  CKK_SHA3_256_HMAC        = 0x00000037L;
292     public static final long  CKK_SHA3_384_HMAC        = 0x00000038L;
293     public static final long  CKK_SHA3_512_HMAC        = 0x00000039L;
294 
295     public static final long  CKK_BLAKE2B_160_HMAC     = 0x0000003aL;
296     public static final long  CKK_BLAKE2B_256_HMAC     = 0x0000003bL;
297     public static final long  CKK_BLAKE2B_384_HMAC     = 0x0000003cL;
298     public static final long  CKK_BLAKE2B_512_HMAC     = 0x0000003dL;
299     public static final long  CKK_SALSA20              = 0x0000003eL;
300     public static final long  CKK_X2RATCHET            = 0x0000003fL;
301     public static final long  CKK_EC_EDWARDS           = 0x00000040L;
302     public static final long  CKK_EC_MONTGOMERY        = 0x00000041L;
303     public static final long  CKK_HKDF                 = 0x00000042L;
304 
305     public static final long  CKK_SHA512_224_HMAC      = 0x00000043L;
306     public static final long  CKK_SHA512_256_HMAC      = 0x00000044L;
307     public static final long  CKK_SHA512_T_HMAC        = 0x00000045L;
308 
309     public static final long  CKK_VENDOR_DEFINED       = 0x80000000L;
310 
311     // pseudo key type ANY (for template manager)
312     public static final long  PCKK_ANY                 = 0x7FFFFF22L;
313 
314     public static final long  PCKK_HMAC                = 0x7FFFFF23L;
315     public static final long  PCKK_SSLMAC              = 0x7FFFFF24L;
316     public static final long  PCKK_TLSPREMASTER        = 0x7FFFFF25L;
317     public static final long  PCKK_TLSRSAPREMASTER     = 0x7FFFFF26L;
318     public static final long  PCKK_TLSMASTER           = 0x7FFFFF27L;
319 
320     /* Uncomment when actually used
321     public static final long  CK_CERTIFICATE_CATEGORY_UNSPECIFIED   = 0L;
322     public static final long  CK_CERTIFICATE_CATEGORY_TOKEN_USER    = 1L;
323     public static final long  CK_CERTIFICATE_CATEGORY_AUTHORITY     = 2L;
324     public static final long  CK_CERTIFICATE_CATEGORY_OTHER_ENTITY  = 3L;
325 
326     public static final long  CK_SECURITY_DOMAIN_UNSPECIFIED   = 0L;
327     public static final long  CK_SECURITY_DOMAIN_MANUFACTURER  = 1L;
328     public static final long  CK_SECURITY_DOMAIN_OPERATOR      = 2L;
329     public static final long  CK_SECURITY_DOMAIN_THIRD_PARTY   = 3L;
330     */
331 
332     /* The following certificate types are defined: */
333     public static final long  CKC_X_509                = 0x00000000L;
334     public static final long  CKC_X_509_ATTR_CERT      = 0x00000001L;
335     public static final long  CKC_WTLS                 = 0x00000002L;
336     public static final long  CKC_VENDOR_DEFINED       = 0x80000000L;
337 
338     /* The CKF_ARRAY_ATTRIBUTE flag identifies an attribute which
339      * consists of an array of values.
340      */
341     public static final long  CKF_ARRAY_ATTRIBUTE      = 0x40000000L;
342 
343     /* Uncomment when actually used
344     public static final long  CK_OTP_FORMAT_DECIMAL         = 0L;
345     public static final long  CK_OTP_FORMAT_HEXADECIMAL     = 1L;
346     public static final long  CK_OTP_FORMAT_ALPHANUMERIC    = 2L;
347     public static final long  CK_OTP_FORMAT_BINARY          = 3L;
348 
349     public static final long  CK_OTP_PARAM_IGNORED          = 0L;
350     public static final long  CK_OTP_PARAM_OPTIONAL         = 1L;
351     public static final long  CK_OTP_PARAM_MANDATORY        = 2L;
352     */
353 
354     /* The following attribute types are defined: */
355     public static final long  CKA_CLASS              = 0x00000000L;
356     public static final long  CKA_TOKEN              = 0x00000001L;
357     public static final long  CKA_PRIVATE            = 0x00000002L;
358     public static final long  CKA_LABEL              = 0x00000003L;
359     public static final long  CKA_UNIQUE_ID          = 0x00000004L;
360     public static final long  CKA_APPLICATION        = 0x00000010L;
361     public static final long  CKA_VALUE              = 0x00000011L;
362     public static final long  CKA_OBJECT_ID          = 0x00000012L;
363     public static final long  CKA_CERTIFICATE_TYPE   = 0x00000080L;
364     public static final long  CKA_ISSUER             = 0x00000081L;
365     public static final long  CKA_SERIAL_NUMBER      = 0x00000082L;
366     public static final long  CKA_AC_ISSUER          = 0x00000083L;
367     public static final long  CKA_OWNER              = 0x00000084L;
368     public static final long  CKA_ATTR_TYPES         = 0x00000085L;
369     public static final long  CKA_TRUSTED            = 0x00000086L;
370     public static final long  CKA_CERTIFICATE_CATEGORY
371                                                      = 0x00000087L;
372     public static final long  CKA_JAVA_MIDP_SECURITY_DOMAIN
373                                                      = 0x00000088L;
374     public static final long  CKA_URL                = 0x00000089L;
375     public static final long  CKA_HASH_OF_SUBJECT_PUBLIC_KEY
376                                                      = 0x0000008AL;
377     public static final long  CKA_HASH_OF_ISSUER_PUBLIC_KEY
378                                                      = 0x0000008BL;
379     public static final long  CKA_NAME_HASH_ALGORITHM
380                                                      = 0x0000008CL;
381     public static final long  CKA_CHECK_VALUE        = 0x00000090L;
382 
383     public static final long  CKA_KEY_TYPE           = 0x00000100L;
384     public static final long  CKA_SUBJECT            = 0x00000101L;
385     public static final long  CKA_ID                 = 0x00000102L;
386     public static final long  CKA_SENSITIVE          = 0x00000103L;
387     public static final long  CKA_ENCRYPT            = 0x00000104L;
388     public static final long  CKA_DECRYPT            = 0x00000105L;
389     public static final long  CKA_WRAP               = 0x00000106L;
390     public static final long  CKA_UNWRAP             = 0x00000107L;
391     public static final long  CKA_SIGN               = 0x00000108L;
392     public static final long  CKA_SIGN_RECOVER       = 0x00000109L;
393     public static final long  CKA_VERIFY             = 0x0000010AL;
394     public static final long  CKA_VERIFY_RECOVER     = 0x0000010BL;
395     public static final long  CKA_DERIVE             = 0x0000010CL;
396     public static final long  CKA_START_DATE         = 0x00000110L;
397     public static final long  CKA_END_DATE           = 0x00000111L;
398     public static final long  CKA_MODULUS            = 0x00000120L;
399     public static final long  CKA_MODULUS_BITS       = 0x00000121L;
400     public static final long  CKA_PUBLIC_EXPONENT    = 0x00000122L;
401     public static final long  CKA_PRIVATE_EXPONENT   = 0x00000123L;
402     public static final long  CKA_PRIME_1            = 0x00000124L;
403     public static final long  CKA_PRIME_2            = 0x00000125L;
404     public static final long  CKA_EXPONENT_1         = 0x00000126L;
405     public static final long  CKA_EXPONENT_2         = 0x00000127L;
406     public static final long  CKA_COEFFICIENT        = 0x00000128L;
407     public static final long  CKA_PUBLIC_KEY_INFO    = 0x00000129L;
408     public static final long  CKA_PRIME              = 0x00000130L;
409     public static final long  CKA_SUBPRIME           = 0x00000131L;
410     public static final long  CKA_BASE               = 0x00000132L;
411 
412     public static final long  CKA_PRIME_BITS         = 0x00000133L;
413     public static final long  CKA_SUB_PRIME_BITS     = 0x00000134L;
414 
415     public static final long  CKA_VALUE_BITS         = 0x00000160L;
416     public static final long  CKA_VALUE_LEN          = 0x00000161L;
417     public static final long  CKA_EXTRACTABLE        = 0x00000162L;
418     public static final long  CKA_LOCAL              = 0x00000163L;
419     public static final long  CKA_NEVER_EXTRACTABLE  = 0x00000164L;
420     public static final long  CKA_ALWAYS_SENSITIVE   = 0x00000165L;
421     public static final long  CKA_KEY_GEN_MECHANISM  = 0x00000166L;
422 
423     public static final long  CKA_MODIFIABLE         = 0x00000170L;
424     public static final long  CKA_COPYABLE           = 0x00000171L;
425     public static final long  CKA_DESTROYABLE        = 0x00000172L;
426 
427     public static final long  CKA_ECDSA_PARAMS /*deprecated*/  = 0x00000180L;
428     public static final long  CKA_EC_PARAMS                    = 0x00000180L;
429     public static final long  CKA_EC_POINT                     = 0x00000181L;
430 
431     public static final long  CKA_SECONDARY_AUTH /*deprecated*/= 0x00000200L;
432     public static final long  CKA_AUTH_PIN_FLAGS /*deprecated*/= 0x00000201L;
433     public static final long  CKA_ALWAYS_AUTHENTICATE          = 0x00000202L;
434     public static final long  CKA_WRAP_WITH_TRUSTED  = 0x00000210L;
435     public static final long  CKA_WRAP_TEMPLATE      = (CKF_ARRAY_ATTRIBUTE|0x00000211L);
436     public static final long  CKA_UNWRAP_TEMPLATE    = (CKF_ARRAY_ATTRIBUTE|0x00000212L);
437     public static final long  CKA_DERIVE_TEMPLATE    = (CKF_ARRAY_ATTRIBUTE|0x00000213L);
438 
439     public static final long  CKA_OTP_FORMAT         = 0x00000220L;
440     public static final long  CKA_OTP_LENGTH         = 0x00000221L;
441     public static final long  CKA_OTP_TIME_INTERVAL  = 0x00000222L;
442     public static final long  CKA_OTP_USER_FRIENDLY_MODE       = 0x00000223L;
443     public static final long  CKA_OTP_CHALLENGE_REQUIREMENT    = 0x00000224L;
444     public static final long  CKA_OTP_TIME_REQUIREMENT         = 0x00000225L;
445     public static final long  CKA_OTP_COUNTER_REQUIREMENT      = 0x00000226L;
446     public static final long  CKA_OTP_PIN_REQUIREMENT          = 0x00000227L;
447     public static final long  CKA_OTP_COUNTER        = 0x0000022EL;
448     public static final long  CKA_OTP_TIME           = 0x0000022FL;
449     public static final long  CKA_OTP_USER_IDENTIFIER          = 0x0000022AL;
450     public static final long  CKA_OTP_SERVICE_IDENTIFIER       = 0x0000022BL;
451     public static final long  CKA_OTP_SERVICE_LOGO   = 0x0000022CL;
452     public static final long  CKA_OTP_SERVICE_LOGO_TYPE        = 0x0000022DL;
453 
454     public static final long  CKA_GOSTR3410_PARAMS   = 0x00000250L;
455     public static final long  CKA_GOSTR3411_PARAMS   = 0x00000251L;
456     public static final long  CKA_GOST28147_PARAMS   = 0x00000252L;
457 
458     public static final long  CKA_HW_FEATURE_TYPE    = 0x00000300L;
459     public static final long  CKA_RESET_ON_INIT      = 0x00000301L;
460     public static final long  CKA_HAS_RESET          = 0x00000302L;
461 
462     public static final long  CKA_PIXEL_X            = 0x00000400L;
463     public static final long  CKA_PIXEL_Y            = 0x00000401L;
464     public static final long  CKA_RESOLUTION         = 0x00000402L;
465     public static final long  CKA_CHAR_ROWS          = 0x00000403L;
466     public static final long  CKA_CHAR_COLUMNS       = 0x00000404L;
467     public static final long  CKA_COLOR              = 0x00000405L;
468     public static final long  CKA_BITS_PER_PIXEL     = 0x00000406L;
469     public static final long  CKA_CHAR_SETS          = 0x00000480L;
470     public static final long  CKA_ENCODING_METHODS   = 0x00000481L;
471     public static final long  CKA_MIME_TYPES         = 0x00000482L;
472     public static final long  CKA_MECHANISM_TYPE     = 0x00000500L;
473     public static final long  CKA_REQUIRED_CMS_ATTRIBUTES      = 0x00000501L;
474     public static final long  CKA_DEFAULT_CMS_ATTRIBUTES       = 0x00000502L;
475     public static final long  CKA_SUPPORTED_CMS_ATTRIBUTES     = 0x00000503L;
476     public static final long  CKA_ALLOWED_MECHANISMS = (CKF_ARRAY_ATTRIBUTE|0x00000600L);
477 
478     public static final long  CKA_PROFILE_ID                   = 0x00000601L;
479     public static final long  CKA_X2RATCHET_BAG                = 0x00000602L;
480     public static final long  CKA_X2RATCHET_BAGSIZE            = 0x00000603L;
481     public static final long  CKA_X2RATCHET_BOBS1STMSG         = 0x00000604L;
482     public static final long  CKA_X2RATCHET_CKR                = 0x00000605L;
483     public static final long  CKA_X2RATCHET_CKS                = 0x00000606L;
484     public static final long  CKA_X2RATCHET_DHP                = 0x00000607L;
485     public static final long  CKA_X2RATCHET_DHR                = 0x00000608L;
486     public static final long  CKA_X2RATCHET_DHS                = 0x00000609L;
487     public static final long  CKA_X2RATCHET_HKR                = 0x0000060aL;
488     public static final long  CKA_X2RATCHET_HKS                = 0x0000060bL;
489     public static final long  CKA_X2RATCHET_ISALICE            = 0x0000060cL;
490     public static final long  CKA_X2RATCHET_NHKR               = 0x0000060dL;
491     public static final long  CKA_X2RATCHET_NHKS               = 0x0000060eL;
492     public static final long  CKA_X2RATCHET_NR                 = 0x0000060fL;
493     public static final long  CKA_X2RATCHET_NS                 = 0x00000610L;
494     public static final long  CKA_X2RATCHET_PNS                = 0x00000611L;
495     public static final long  CKA_X2RATCHET_RK                 = 0x00000612L;
496 
497     public static final long  CKA_VENDOR_DEFINED     = 0x80000000L;
498 
499     /* the following mechanism types are defined: */
500     public static final long  CKM_RSA_PKCS_KEY_PAIR_GEN      = 0x00000000L;
501     public static final long  CKM_RSA_PKCS                   = 0x00000001L;
502     public static final long  CKM_RSA_9796                   = 0x00000002L;
503     public static final long  CKM_RSA_X_509                  = 0x00000003L;
504 
505     public static final long  CKM_MD2_RSA_PKCS               = 0x00000004L;
506     public static final long  CKM_MD5_RSA_PKCS               = 0x00000005L;
507     public static final long  CKM_SHA1_RSA_PKCS              = 0x00000006L;
508 
509     public static final long  CKM_RIPEMD128_RSA_PKCS         = 0x00000007L;
510     public static final long  CKM_RIPEMD160_RSA_PKCS         = 0x00000008L;
511     public static final long  CKM_RSA_PKCS_OAEP              = 0x00000009L;
512 
513     public static final long  CKM_RSA_X9_31_KEY_PAIR_GEN     = 0x0000000AL;
514     public static final long  CKM_RSA_X9_31                  = 0x0000000BL;
515     public static final long  CKM_SHA1_RSA_X9_31             = 0x0000000CL;
516     public static final long  CKM_RSA_PKCS_PSS               = 0x0000000DL;
517     public static final long  CKM_SHA1_RSA_PKCS_PSS          = 0x0000000EL;
518 
519     public static final long  CKM_DSA_KEY_PAIR_GEN           = 0x00000010L;
520     public static final long  CKM_DSA                        = 0x00000011L;
521     public static final long  CKM_DSA_SHA1                   = 0x00000012L;
522     public static final long  CKM_DSA_SHA224                 = 0x00000013L;
523     public static final long  CKM_DSA_SHA256                 = 0x00000014L;
524     public static final long  CKM_DSA_SHA384                 = 0x00000015L;
525     public static final long  CKM_DSA_SHA512                 = 0x00000016L;
526     public static final long  CKM_DSA_SHA3_224               = 0x00000018L;
527     public static final long  CKM_DSA_SHA3_256               = 0x00000019L;
528     public static final long  CKM_DSA_SHA3_384               = 0x0000001AL;
529     public static final long  CKM_DSA_SHA3_512               = 0x0000001BL;
530 
531     public static final long  CKM_DH_PKCS_KEY_PAIR_GEN       = 0x00000020L;
532     public static final long  CKM_DH_PKCS_DERIVE             = 0x00000021L;
533 
534     public static final long  CKM_X9_42_DH_KEY_PAIR_GEN      = 0x00000030L;
535     public static final long  CKM_X9_42_DH_DERIVE            = 0x00000031L;
536     public static final long  CKM_X9_42_DH_HYBRID_DERIVE     = 0x00000032L;
537     public static final long  CKM_X9_42_MQV_DERIVE           = 0x00000033L;
538 
539     public static final long  CKM_SHA256_RSA_PKCS            = 0x00000040L;
540     public static final long  CKM_SHA384_RSA_PKCS            = 0x00000041L;
541     public static final long  CKM_SHA512_RSA_PKCS            = 0x00000042L;
542     public static final long  CKM_SHA256_RSA_PKCS_PSS        = 0x00000043L;
543     public static final long  CKM_SHA384_RSA_PKCS_PSS        = 0x00000044L;
544     public static final long  CKM_SHA512_RSA_PKCS_PSS        = 0x00000045L;
545 
546     public static final long  CKM_SHA224_RSA_PKCS            = 0x00000046L;
547     public static final long  CKM_SHA224_RSA_PKCS_PSS        = 0x00000047L;
548 
549     public static final long  CKM_SHA512_224                 = 0x00000048L;
550     public static final long  CKM_SHA512_224_HMAC            = 0x00000049L;
551     public static final long  CKM_SHA512_224_HMAC_GENERAL    = 0x0000004AL;
552     public static final long  CKM_SHA512_224_KEY_DERIVATION  = 0x0000004BL;
553     public static final long  CKM_SHA512_256                 = 0x0000004CL;
554     public static final long  CKM_SHA512_256_HMAC            = 0x0000004DL;
555     public static final long  CKM_SHA512_256_HMAC_GENERAL    = 0x0000004EL;
556     public static final long  CKM_SHA512_256_KEY_DERIVATION  = 0x0000004FL;
557 
558     public static final long  CKM_SHA512_T                   = 0x00000050L;
559     public static final long  CKM_SHA512_T_HMAC              = 0x00000051L;
560     public static final long  CKM_SHA512_T_HMAC_GENERAL      = 0x00000052L;
561     public static final long  CKM_SHA512_T_KEY_DERIVATION    = 0x00000053L;
562 
563     public static final long  CKM_SHA3_256_RSA_PKCS          = 0x00000060L;
564     public static final long  CKM_SHA3_384_RSA_PKCS          = 0x00000061L;
565     public static final long  CKM_SHA3_512_RSA_PKCS          = 0x00000062L;
566     public static final long  CKM_SHA3_256_RSA_PKCS_PSS      = 0x00000063L;
567     public static final long  CKM_SHA3_384_RSA_PKCS_PSS      = 0x00000064L;
568     public static final long  CKM_SHA3_512_RSA_PKCS_PSS      = 0x00000065L;
569     public static final long  CKM_SHA3_224_RSA_PKCS          = 0x00000066L;
570     public static final long  CKM_SHA3_224_RSA_PKCS_PSS      = 0x00000067L;
571 
572     public static final long  CKM_RC2_KEY_GEN                = 0x00000100L;
573     public static final long  CKM_RC2_ECB                    = 0x00000101L;
574     public static final long  CKM_RC2_CBC                    = 0x00000102L;
575     public static final long  CKM_RC2_MAC                    = 0x00000103L;
576 
577     public static final long  CKM_RC2_MAC_GENERAL            = 0x00000104L;
578     public static final long  CKM_RC2_CBC_PAD                = 0x00000105L;
579 
580     public static final long  CKM_RC4_KEY_GEN                = 0x00000110L;
581     public static final long  CKM_RC4                        = 0x00000111L;
582     public static final long  CKM_DES_KEY_GEN                = 0x00000120L;
583     public static final long  CKM_DES_ECB                    = 0x00000121L;
584     public static final long  CKM_DES_CBC                    = 0x00000122L;
585     public static final long  CKM_DES_MAC                    = 0x00000123L;
586 
587     public static final long  CKM_DES_MAC_GENERAL            = 0x00000124L;
588     public static final long  CKM_DES_CBC_PAD                = 0x00000125L;
589 
590     public static final long  CKM_DES2_KEY_GEN               = 0x00000130L;
591     public static final long  CKM_DES3_KEY_GEN               = 0x00000131L;
592     public static final long  CKM_DES3_ECB                   = 0x00000132L;
593     public static final long  CKM_DES3_CBC                   = 0x00000133L;
594     public static final long  CKM_DES3_MAC                   = 0x00000134L;
595 
596     public static final long  CKM_DES3_MAC_GENERAL           = 0x00000135L;
597     public static final long  CKM_DES3_CBC_PAD               = 0x00000136L;
598     public static final long  CKM_DES3_CMAC_GENERAL          = 0x00000137L;
599     public static final long  CKM_DES3_CMAC                  = 0x00000138L;
600     public static final long  CKM_CDMF_KEY_GEN               = 0x00000140L;
601     public static final long  CKM_CDMF_ECB                   = 0x00000141L;
602     public static final long  CKM_CDMF_CBC                   = 0x00000142L;
603     public static final long  CKM_CDMF_MAC                   = 0x00000143L;
604     public static final long  CKM_CDMF_MAC_GENERAL           = 0x00000144L;
605     public static final long  CKM_CDMF_CBC_PAD               = 0x00000145L;
606 
607     public static final long  CKM_DES_OFB64                  = 0x00000150L;
608     public static final long  CKM_DES_OFB8                   = 0x00000151L;
609     public static final long  CKM_DES_CFB64                  = 0x00000152L;
610     public static final long  CKM_DES_CFB8                   = 0x00000153L;
611 
612     public static final long  CKM_MD2                        = 0x00000200L;
613 
614     public static final long  CKM_MD2_HMAC                   = 0x00000201L;
615     public static final long  CKM_MD2_HMAC_GENERAL           = 0x00000202L;
616 
617     public static final long  CKM_MD5                        = 0x00000210L;
618 
619     public static final long  CKM_MD5_HMAC                   = 0x00000211L;
620     public static final long  CKM_MD5_HMAC_GENERAL           = 0x00000212L;
621 
622     public static final long  CKM_SHA_1                      = 0x00000220L;
623 
624     public static final long  CKM_SHA_1_HMAC                 = 0x00000221L;
625     public static final long  CKM_SHA_1_HMAC_GENERAL         = 0x00000222L;
626 
627     public static final long  CKM_RIPEMD128                  = 0x00000230L;
628     public static final long  CKM_RIPEMD128_HMAC             = 0x00000231L;
629     public static final long  CKM_RIPEMD128_HMAC_GENERAL     = 0x00000232L;
630     public static final long  CKM_RIPEMD160                  = 0x00000240L;
631     public static final long  CKM_RIPEMD160_HMAC             = 0x00000241L;
632     public static final long  CKM_RIPEMD160_HMAC_GENERAL     = 0x00000242L;
633 
634     public static final long  CKM_SHA256                     = 0x00000250L;
635     public static final long  CKM_SHA256_HMAC                = 0x00000251L;
636     public static final long  CKM_SHA256_HMAC_GENERAL        = 0x00000252L;
637     public static final long  CKM_SHA224                     = 0x00000255L;
638     public static final long  CKM_SHA224_HMAC                = 0x00000256L;
639     public static final long  CKM_SHA224_HMAC_GENERAL        = 0x00000257L;
640     public static final long  CKM_SHA384                     = 0x00000260L;
641     public static final long  CKM_SHA384_HMAC                = 0x00000261L;
642     public static final long  CKM_SHA384_HMAC_GENERAL        = 0x00000262L;
643 
644     public static final long  CKM_SHA512                     = 0x00000270L;
645     public static final long  CKM_SHA512_HMAC                = 0x00000271L;
646     public static final long  CKM_SHA512_HMAC_GENERAL        = 0x00000272L;
647 
648     public static final long  CKM_SECURID_KEY_GEN            = 0x00000280L;
649     public static final long  CKM_SECURID                    = 0x00000282L;
650     public static final long  CKM_HOTP_KEY_GEN               = 0x00000290L;
651     public static final long  CKM_HOTP                       = 0x00000291L;
652     public static final long  CKM_ACTI                       = 0x000002A0L;
653     public static final long  CKM_ACTI_KEY_GEN               = 0x000002A1L;
654 
655     public static final long  CKM_SHA3_256                   = 0x000002B0L;
656     public static final long  CKM_SHA3_256_HMAC              = 0x000002B1L;
657     public static final long  CKM_SHA3_256_HMAC_GENERAL      = 0x000002B2L;
658     public static final long  CKM_SHA3_256_KEY_GEN           = 0x000002B3L;
659     public static final long  CKM_SHA3_224                   = 0x000002B5L;
660     public static final long  CKM_SHA3_224_HMAC              = 0x000002B6L;
661     public static final long  CKM_SHA3_224_HMAC_GENERAL      = 0x000002B7L;
662     public static final long  CKM_SHA3_224_KEY_GEN           = 0x000002B8L;
663     public static final long  CKM_SHA3_384                   = 0x000002C0L;
664     public static final long  CKM_SHA3_384_HMAC              = 0x000002C1L;
665     public static final long  CKM_SHA3_384_HMAC_GENERAL      = 0x000002C2L;
666     public static final long  CKM_SHA3_384_KEY_GEN           = 0x000002C3L;
667     public static final long  CKM_SHA3_512                   = 0x000002D0L;
668     public static final long  CKM_SHA3_512_HMAC              = 0x000002D1L;
669     public static final long  CKM_SHA3_512_HMAC_GENERAL      = 0x000002D2L;
670     public static final long  CKM_SHA3_512_KEY_GEN           = 0x000002D3L;
671 
672     public static final long  CKM_CAST_KEY_GEN               = 0x00000300L;
673     public static final long  CKM_CAST_ECB                   = 0x00000301L;
674     public static final long  CKM_CAST_CBC                   = 0x00000302L;
675     public static final long  CKM_CAST_MAC                   = 0x00000303L;
676     public static final long  CKM_CAST_MAC_GENERAL           = 0x00000304L;
677     public static final long  CKM_CAST_CBC_PAD               = 0x00000305L;
678     public static final long  CKM_CAST3_KEY_GEN              = 0x00000310L;
679     public static final long  CKM_CAST3_ECB                  = 0x00000311L;
680     public static final long  CKM_CAST3_CBC                  = 0x00000312L;
681     public static final long  CKM_CAST3_MAC                  = 0x00000313L;
682     public static final long  CKM_CAST3_MAC_GENERAL          = 0x00000314L;
683     public static final long  CKM_CAST3_CBC_PAD              = 0x00000315L;
684     /* Note that CAST128 and CAST5 are the same algorithm */
685     public static final long  CKM_CAST5_KEY_GEN                = 0x00000320L;
686     public static final long  CKM_CAST128_KEY_GEN              = 0x00000320L;
687     public static final long  CKM_CAST5_ECB                    = 0x00000321L;
688     public static final long  CKM_CAST128_ECB                  = 0x00000321L;
689     public static final long  CKM_CAST5_CBC /*deprecated*/     = 0x00000322L;
690     public static final long  CKM_CAST128_CBC                  = 0x00000322L;
691     public static final long  CKM_CAST5_MAC /*deprecated*/     = 0x00000323L;
692     public static final long  CKM_CAST128_MAC                  = 0x00000323L;
693     public static final long  CKM_CAST5_MAC_GENERAL /*deprecated*/
694                                                                = 0x00000324L;
695     public static final long  CKM_CAST128_MAC_GENERAL          = 0x00000324L;
696     public static final long  CKM_CAST5_CBC_PAD /*deprecated*/ = 0x00000325L;
697     public static final long  CKM_CAST128_CBC_PAD              = 0x00000325L;
698     public static final long  CKM_RC5_KEY_GEN                = 0x00000330L;
699     public static final long  CKM_RC5_ECB                    = 0x00000331L;
700     public static final long  CKM_RC5_CBC                    = 0x00000332L;
701     public static final long  CKM_RC5_MAC                    = 0x00000333L;
702     public static final long  CKM_RC5_MAC_GENERAL            = 0x00000334L;
703     public static final long  CKM_RC5_CBC_PAD                = 0x00000335L;
704     public static final long  CKM_IDEA_KEY_GEN               = 0x00000340L;
705     public static final long  CKM_IDEA_ECB                   = 0x00000341L;
706     public static final long  CKM_IDEA_CBC                   = 0x00000342L;
707     public static final long  CKM_IDEA_MAC                   = 0x00000343L;
708     public static final long  CKM_IDEA_MAC_GENERAL           = 0x00000344L;
709     public static final long  CKM_IDEA_CBC_PAD               = 0x00000345L;
710     public static final long  CKM_GENERIC_SECRET_KEY_GEN     = 0x00000350L;
711     public static final long  CKM_CONCATENATE_BASE_AND_KEY   = 0x00000360L;
712     public static final long  CKM_CONCATENATE_BASE_AND_DATA  = 0x00000362L;
713     public static final long  CKM_CONCATENATE_DATA_AND_BASE  = 0x00000363L;
714     public static final long  CKM_XOR_BASE_AND_DATA          = 0x00000364L;
715     public static final long  CKM_EXTRACT_KEY_FROM_KEY       = 0x00000365L;
716     public static final long  CKM_SSL3_PRE_MASTER_KEY_GEN    = 0x00000370L;
717     public static final long  CKM_SSL3_MASTER_KEY_DERIVE     = 0x00000371L;
718     public static final long  CKM_SSL3_KEY_AND_MAC_DERIVE    = 0x00000372L;
719 
720     public static final long  CKM_SSL3_MASTER_KEY_DERIVE_DH  = 0x00000373L;
721     public static final long  CKM_TLS_PRE_MASTER_KEY_GEN     = 0x00000374L;
722     public static final long  CKM_TLS_MASTER_KEY_DERIVE      = 0x00000375L;
723     public static final long  CKM_TLS_KEY_AND_MAC_DERIVE     = 0x00000376L;
724     public static final long  CKM_TLS_MASTER_KEY_DERIVE_DH   = 0x00000377L;
725     public static final long  CKM_TLS_PRF                    = 0x00000378L;
726 
727     public static final long  CKM_SSL3_MD5_MAC               = 0x00000380L;
728     public static final long  CKM_SSL3_SHA1_MAC              = 0x00000381L;
729     public static final long  CKM_MD5_KEY_DERIVATION         = 0x00000390L;
730     public static final long  CKM_MD2_KEY_DERIVATION         = 0x00000391L;
731     public static final long  CKM_SHA1_KEY_DERIVATION        = 0x00000392L;
732     public static final long  CKM_SHA256_KEY_DERIVATION      = 0x00000393L;
733     public static final long  CKM_SHA384_KEY_DERIVATION      = 0x00000394L;
734     public static final long  CKM_SHA512_KEY_DERIVATION      = 0x00000395L;
735     public static final long  CKM_SHA224_KEY_DERIVATION      = 0x00000396L;
736     public static final long  CKM_SHA3_256_KEY_DERIVATION    = 0x00000397L;
737     public static final long  CKM_SHA3_224_KEY_DERIVATION    = 0x00000398L;
738     public static final long  CKM_SHA3_384_KEY_DERIVATION    = 0x00000399L;
739     public static final long  CKM_SHA3_512_KEY_DERIVATION    = 0x0000039AL;
740     public static final long  CKM_SHAKE_128_KEY_DERIVATION   = 0x0000039BL;
741     public static final long  CKM_SHAKE_256_KEY_DERIVATION   = 0x0000039CL;
742 
743     public static final long  CKM_PBE_MD2_DES_CBC            = 0x000003A0L;
744     public static final long  CKM_PBE_MD5_DES_CBC            = 0x000003A1L;
745     public static final long  CKM_PBE_MD5_CAST_CBC           = 0x000003A2L;
746     public static final long  CKM_PBE_MD5_CAST3_CBC          = 0x000003A3L;
747     public static final long  CKM_PBE_MD5_CAST5_CBC /*deprecated*/
748                                                              = 0x000003A4L;
749     public static final long  CKM_PBE_MD5_CAST128_CBC        = 0x000003A4L;
750     public static final long  CKM_PBE_SHA1_CAST5_CBC /*deprecated*/
751                                                              = 0x000003A5L;
752     public static final long  CKM_PBE_SHA1_CAST128_CBC       = 0x000003A5L;
753     public static final long  CKM_PBE_SHA1_RC4_128           = 0x000003A6L;
754     public static final long  CKM_PBE_SHA1_RC4_40            = 0x000003A7L;
755     public static final long  CKM_PBE_SHA1_DES3_EDE_CBC      = 0x000003A8L;
756     public static final long  CKM_PBE_SHA1_DES2_EDE_CBC      = 0x000003A9L;
757     public static final long  CKM_PBE_SHA1_RC2_128_CBC       = 0x000003AAL;
758     public static final long  CKM_PBE_SHA1_RC2_40_CBC        = 0x000003ABL;
759 
760     public static final long  CKM_PKCS5_PBKD2                = 0x000003B0L;
761 
762     public static final long  CKM_PBA_SHA1_WITH_SHA1_HMAC    = 0x000003C0L;
763 
764     public static final long  CKM_WTLS_PRE_MASTER_KEY_GEN         = 0x000003D0L;
765     public static final long  CKM_WTLS_MASTER_KEY_DERIVE          = 0x000003D1L;
766     public static final long  CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC   = 0x000003D2L;
767     public static final long  CKM_WTLS_PRF                        = 0x000003D3L;
768     public static final long  CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE  = 0x000003D4L;
769     public static final long  CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE  = 0x000003D5L;
770 
771     public static final long  CKM_TLS10_MAC_SERVER /*removed in 3.00*/
772                                                              = 0x000003D6L;
773     public static final long  CKM_TLS10_MAC_CLIENT /*removed in 3.00*/
774                                                              = 0x000003D7L;
775     public static final long  CKM_TLS12_MAC                  = 0x000003D8L;
776     public static final long  CKM_TLS12_KDF                  = 0x000003D9L;
777     public static final long  CKM_TLS12_MASTER_KEY_DERIVE    = 0x000003E0L;
778     public static final long  CKM_TLS12_KEY_AND_MAC_DERIVE   = 0x000003E1L;
779     public static final long  CKM_TLS12_MASTER_KEY_DERIVE_DH = 0x000003E2L;
780     public static final long  CKM_TLS12_KEY_SAFE_DERIVE      = 0x000003E3L;
781     public static final long  CKM_TLS_MAC                    = 0x000003E4L;
782     public static final long  CKM_TLS_KDF                    = 0x000003E5L;
783 
784     public static final long  CKM_KEY_WRAP_LYNKS             = 0x00000400L;
785     public static final long  CKM_KEY_WRAP_SET_OAEP          = 0x00000401L;
786 
787     public static final long  CKM_CMS_SIG                    = 0x00000500L;
788     public static final long  CKM_KIP_DERIVE                 = 0x00000510L;
789     public static final long  CKM_KIP_WRAP                   = 0x00000511L;
790     public static final long  CKM_KIP_MAC                    = 0x00000512L;
791 
792     public static final long  CKM_CAMELLIA_KEY_GEN           = 0x00000550L;
793     public static final long  CKM_CAMELLIA_ECB               = 0x00000551L;
794     public static final long  CKM_CAMELLIA_CBC               = 0x00000552L;
795     public static final long  CKM_CAMELLIA_MAC               = 0x00000553L;
796     public static final long  CKM_CAMELLIA_MAC_GENERAL       = 0x00000554L;
797     public static final long  CKM_CAMELLIA_CBC_PAD           = 0x00000555L;
798     public static final long  CKM_CAMELLIA_ECB_ENCRYPT_DATA  = 0x00000556L;
799     public static final long  CKM_CAMELLIA_CBC_ENCRYPT_DATA  = 0x00000557L;
800     public static final long  CKM_CAMELLIA_CTR               = 0x00000558L;
801 
802     public static final long  CKM_ARIA_KEY_GEN               = 0x00000560L;
803     public static final long  CKM_ARIA_ECB                   = 0x00000561L;
804     public static final long  CKM_ARIA_CBC                   = 0x00000562L;
805     public static final long  CKM_ARIA_MAC                   = 0x00000563L;
806     public static final long  CKM_ARIA_MAC_GENERAL           = 0x00000564L;
807     public static final long  CKM_ARIA_CBC_PAD               = 0x00000565L;
808     public static final long  CKM_ARIA_ECB_ENCRYPT_DATA      = 0x00000566L;
809     public static final long  CKM_ARIA_CBC_ENCRYPT_DATA      = 0x00000567L;
810 
811     public static final long  CKM_SEED_KEY_GEN               = 0x00000650L;
812     public static final long  CKM_SEED_ECB                   = 0x00000651L;
813     public static final long  CKM_SEED_CBC                   = 0x00000652L;
814     public static final long  CKM_SEED_MAC                   = 0x00000653L;
815     public static final long  CKM_SEED_MAC_GENERAL           = 0x00000654L;
816     public static final long  CKM_SEED_CBC_PAD               = 0x00000655L;
817     public static final long  CKM_SEED_ECB_ENCRYPT_DATA      = 0x00000656L;
818     public static final long  CKM_SEED_CBC_ENCRYPT_DATA      = 0x00000657L;
819 
820     public static final long  CKM_SKIPJACK_KEY_GEN           = 0x00001000L;
821     public static final long  CKM_SKIPJACK_ECB64             = 0x00001001L;
822     public static final long  CKM_SKIPJACK_CBC64             = 0x00001002L;
823     public static final long  CKM_SKIPJACK_OFB64             = 0x00001003L;
824     public static final long  CKM_SKIPJACK_CFB64             = 0x00001004L;
825     public static final long  CKM_SKIPJACK_CFB32             = 0x00001005L;
826     public static final long  CKM_SKIPJACK_CFB16             = 0x00001006L;
827     public static final long  CKM_SKIPJACK_CFB8              = 0x00001007L;
828     public static final long  CKM_SKIPJACK_WRAP              = 0x00001008L;
829     public static final long  CKM_SKIPJACK_PRIVATE_WRAP      = 0x00001009L;
830     public static final long  CKM_SKIPJACK_RELAYX            = 0x0000100AL;
831     public static final long  CKM_KEA_KEY_PAIR_GEN           = 0x00001010L;
832     public static final long  CKM_KEA_KEY_DERIVE             = 0x00001011L;
833     public static final long  CKM_KEA_DERIVE                 = 0x00001012L;
834     public static final long  CKM_FORTEZZA_TIMESTAMP         = 0x00001020L;
835     public static final long  CKM_BATON_KEY_GEN              = 0x00001030L;
836     public static final long  CKM_BATON_ECB128               = 0x00001031L;
837     public static final long  CKM_BATON_ECB96                = 0x00001032L;
838     public static final long  CKM_BATON_CBC128               = 0x00001033L;
839     public static final long  CKM_BATON_COUNTER              = 0x00001034L;
840     public static final long  CKM_BATON_SHUFFLE              = 0x00001035L;
841     public static final long  CKM_BATON_WRAP                 = 0x00001036L;
842 
843     public static final long  CKM_ECDSA_KEY_PAIR_GEN /*deprecated*/
844                                                              = 0x00001040L;
845     public static final long  CKM_EC_KEY_PAIR_GEN            = 0x00001040L;
846     public static final long  CKM_EC_KEY_PAIR_GEN_W_EXTRA_BITS = 0x0000140BL;
847 
848     public static final long  CKM_ECDSA                      = 0x00001041L;
849     public static final long  CKM_ECDSA_SHA1                 = 0x00001042L;
850     public static final long  CKM_ECDSA_SHA224               = 0x00001043L;
851     public static final long  CKM_ECDSA_SHA256               = 0x00001044L;
852     public static final long  CKM_ECDSA_SHA384               = 0x00001045L;
853     public static final long  CKM_ECDSA_SHA512               = 0x00001046L;
854     public static final long  CKM_ECDSA_SHA3_224             = 0x00001047L;
855     public static final long  CKM_ECDSA_SHA3_256             = 0x00001048L;
856     public static final long  CKM_ECDSA_SHA3_384             = 0x00001049L;
857     public static final long  CKM_ECDSA_SHA3_512             = 0x0000104AL;
858 
859     public static final long  CKM_ECDH1_DERIVE               = 0x00001050L;
860     public static final long  CKM_ECDH1_COFACTOR_DERIVE      = 0x00001051L;
861     public static final long  CKM_ECMQV_DERIVE               = 0x00001052L;
862 
863     public static final long  CKM_ECDH_AES_KEY_WRAP          = 0x00001053L;
864     public static final long  CKM_RSA_AES_KEY_WRAP           = 0x00001054L;
865 
866     public static final long  CKM_EC_EDWARDS_KEY_PAIR_GEN    = 0x00001055L;
867     public static final long  CKM_EC_MONTGOMERY_KEY_PAIR_GEN = 0x00001056L;
868     public static final long  CKM_EDDSA                      = 0x00001057L;
869 
870     public static final long  CKM_JUNIPER_KEY_GEN            = 0x00001060L;
871     public static final long  CKM_JUNIPER_ECB128             = 0x00001061L;
872     public static final long  CKM_JUNIPER_CBC128             = 0x00001062L;
873     public static final long  CKM_JUNIPER_COUNTER            = 0x00001063L;
874     public static final long  CKM_JUNIPER_SHUFFLE            = 0x00001064L;
875     public static final long  CKM_JUNIPER_WRAP               = 0x00001065L;
876     public static final long  CKM_FASTHASH                   = 0x00001070L;
877 
878     public static final long  CKM_AES_XTS                    = 0x00001071L;
879     public static final long  CKM_AES_XTS_KEY_GEN            = 0x00001072L;
880     public static final long  CKM_AES_KEY_GEN                = 0x00001080L;
881     public static final long  CKM_AES_ECB                    = 0x00001081L;
882     public static final long  CKM_AES_CBC                    = 0x00001082L;
883     public static final long  CKM_AES_MAC                    = 0x00001083L;
884     public static final long  CKM_AES_MAC_GENERAL            = 0x00001084L;
885     public static final long  CKM_AES_CBC_PAD                = 0x00001085L;
886     public static final long  CKM_AES_CTR                    = 0x00001086L;
887     public static final long  CKM_AES_GCM                    = 0x00001087L;
888     public static final long  CKM_AES_CCM                    = 0x00001088L;
889     public static final long  CKM_AES_CTS                    = 0x00001089L;
890     public static final long  CKM_AES_CMAC                   = 0x0000108AL;
891     public static final long  CKM_AES_CMAC_GENERAL           = 0x0000108BL;
892 
893     public static final long  CKM_AES_XCBC_MAC               = 0x0000108CL;
894     public static final long  CKM_AES_XCBC_MAC_96            = 0x0000108DL;
895     public static final long  CKM_AES_GMAC                   = 0x0000108EL;
896 
897     public static final long  CKM_BLOWFISH_KEY_GEN           = 0x00001090L;
898     public static final long  CKM_BLOWFISH_CBC               = 0x00001091L;
899     public static final long  CKM_TWOFISH_KEY_GEN            = 0x00001092L;
900     public static final long  CKM_TWOFISH_CBC                = 0x00001093L;
901     public static final long  CKM_BLOWFISH_CBC_PAD           = 0x00001094L;
902     public static final long  CKM_TWOFISH_CBC_PAD            = 0x00001095L;
903 
904     public static final long  CKM_DES_ECB_ENCRYPT_DATA       = 0x00001100L;
905     public static final long  CKM_DES_CBC_ENCRYPT_DATA       = 0x00001101L;
906     public static final long  CKM_DES3_ECB_ENCRYPT_DATA      = 0x00001102L;
907     public static final long  CKM_DES3_CBC_ENCRYPT_DATA      = 0x00001103L;
908     public static final long  CKM_AES_ECB_ENCRYPT_DATA       = 0x00001104L;
909     public static final long  CKM_AES_CBC_ENCRYPT_DATA       = 0x00001105L;
910 
911     public static final long  CKM_GOSTR3410_KEY_PAIR_GEN     = 0x00001200L;
912     public static final long  CKM_GOSTR3410                  = 0x00001201L;
913     public static final long  CKM_GOSTR3410_WITH_GOSTR3411   = 0x00001202L;
914     public static final long  CKM_GOSTR3410_KEY_WRAP         = 0x00001203L;
915     public static final long  CKM_GOSTR3410_DERIVE           = 0x00001204L;
916     public static final long  CKM_GOSTR3411                  = 0x00001210L;
917     public static final long  CKM_GOSTR3411_HMAC             = 0x00001211L;
918     public static final long  CKM_GOST28147_KEY_GEN          = 0x00001220L;
919     public static final long  CKM_GOST28147_ECB              = 0x00001221L;
920     public static final long  CKM_GOST28147                  = 0x00001222L;
921     public static final long  CKM_GOST28147_MAC              = 0x00001223L;
922     public static final long  CKM_GOST28147_KEY_WRAP         = 0x00001224L;
923 
924     public static final long  CKM_CHACHA20_KEY_GEN           = 0x00001225L;
925     public static final long  CKM_CHACHA20                   = 0x00001226L;
926     public static final long  CKM_POLY1305_KEY_GEN           = 0x00001227L;
927     public static final long  CKM_POLY1305                   = 0x00001228L;
928 
929     public static final long  CKM_DSA_PARAMETER_GEN          = 0x00002000L;
930     public static final long  CKM_DH_PKCS_PARAMETER_GEN      = 0x00002001L;
931     public static final long  CKM_X9_42_DH_PARAMETER_GEN     = 0x00002002L;
932     public static final long  CKM_DSA_PROBABLISTIC_PARAMETER_GEN = 0x00002003L;
933     public static final long  CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN = 0x00002004L;
934     public static final long  CKM_DSA_FIPS_G_GEN             = 0x00002005L;
935 
936     public static final long  CKM_AES_OFB                    = 0x00002104L;
937     public static final long  CKM_AES_CFB64                  = 0x00002105L;
938     public static final long  CKM_AES_CFB8                   = 0x00002106L;
939     public static final long  CKM_AES_CFB128                 = 0x00002107L;
940     public static final long  CKM_AES_CFB1                   = 0x00002108L;
941     public static final long  CKM_AES_KEY_WRAP /* WAS: 0x00001090 */
942                                                              = 0x00002109L;
943     public static final long  CKM_AES_KEY_WRAP_PAD /* WAS: 0x00001091 */
944                                                              = 0x0000210AL;
945     public static final long  CKM_AES_KEY_WRAP_KWP           = 0x0000210BL;
946 
947     public static final long  CKM_RSA_PKCS_TPM_1_1           = 0x00004001L;
948     public static final long  CKM_RSA_PKCS_OAEP_TPM_1_1      = 0x00004002L;
949 
950     public static final long  CKM_SHA_1_KEY_GEN              = 0x00004003L;
951     public static final long  CKM_SHA224_KEY_GEN             = 0x00004004L;
952     public static final long  CKM_SHA256_KEY_GEN             = 0x00004005L;
953     public static final long  CKM_SHA384_KEY_GEN             = 0x00004006L;
954     public static final long  CKM_SHA512_KEY_GEN             = 0x00004007L;
955     public static final long  CKM_SHA512_224_KEY_GEN         = 0x00004008L;
956     public static final long  CKM_SHA512_256_KEY_GEN         = 0x00004009L;
957     public static final long  CKM_SHA512_T_KEY_GEN           = 0x0000400aL;
958     public static final long  CKM_NULL                       = 0x0000400bL;
959     public static final long  CKM_BLAKE2B_160                = 0x0000400cL;
960     public static final long  CKM_BLAKE2B_160_HMAC           = 0x0000400dL;
961     public static final long  CKM_BLAKE2B_160_HMAC_GENERAL   = 0x0000400eL;
962     public static final long  CKM_BLAKE2B_160_KEY_DERIVE     = 0x0000400fL;
963     public static final long  CKM_BLAKE2B_160_KEY_GEN        = 0x00004010L;
964     public static final long  CKM_BLAKE2B_256                = 0x00004011L;
965     public static final long  CKM_BLAKE2B_256_HMAC           = 0x00004012L;
966     public static final long  CKM_BLAKE2B_256_HMAC_GENERAL   = 0x00004013L;
967     public static final long  CKM_BLAKE2B_256_KEY_DERIVE     = 0x00004014L;
968     public static final long  CKM_BLAKE2B_256_KEY_GEN        = 0x00004015L;
969     public static final long  CKM_BLAKE2B_384                = 0x00004016L;
970     public static final long  CKM_BLAKE2B_384_HMAC           = 0x00004017L;
971     public static final long  CKM_BLAKE2B_384_HMAC_GENERAL   = 0x00004018L;
972     public static final long  CKM_BLAKE2B_384_KEY_DERIVE     = 0x00004019L;
973     public static final long  CKM_BLAKE2B_384_KEY_GEN        = 0x0000401aL;
974     public static final long  CKM_BLAKE2B_512                = 0x0000401bL;
975     public static final long  CKM_BLAKE2B_512_HMAC           = 0x0000401cL;
976     public static final long  CKM_BLAKE2B_512_HMAC_GENERAL   = 0x0000401dL;
977     public static final long  CKM_BLAKE2B_512_KEY_DERIVE     = 0x0000401eL;
978     public static final long  CKM_BLAKE2B_512_KEY_GEN        = 0x0000401fL;
979     public static final long  CKM_SALSA20                    = 0x00004020L;
980     public static final long  CKM_CHACHA20_POLY1305          = 0x00004021L;
981     public static final long  CKM_SALSA20_POLY1305           = 0x00004022L;
982     public static final long  CKM_X3DH_INITIALIZE            = 0x00004023L;
983     public static final long  CKM_X3DH_RESPOND               = 0x00004024L;
984     public static final long  CKM_X2RATCHET_INITIALIZE       = 0x00004025L;
985     public static final long  CKM_X2RATCHET_RESPOND          = 0x00004026L;
986     public static final long  CKM_X2RATCHET_ENCRYPT          = 0x00004027L;
987     public static final long  CKM_X2RATCHET_DECRYPT          = 0x00004028L;
988     public static final long  CKM_XEDDSA                     = 0x00004029L;
989     public static final long  CKM_HKDF_DERIVE                = 0x0000402aL;
990     public static final long  CKM_HKDF_DATA                  = 0x0000402bL;
991     public static final long  CKM_HKDF_KEY_GEN               = 0x0000402cL;
992     public static final long  CKM_SALSA20_KEY_GEN            = 0x0000402dL;
993 
994     public static final long  CKM_SP800_108_COUNTER_KDF      = 0x000003acL;
995     public static final long  CKM_SP800_108_FEEDBACK_KDF     = 0x000003adL;
996     public static final long  CKM_SP800_108_DOUBLE_PIPELINE_KDF = 0x000003aeL;
997 
998     public static final long  CKM_VENDOR_DEFINED             = 0x80000000L;
999 
1000     // NSS private
1001     public static final long  CKM_NSS_TLS_PRF_GENERAL        = 0x80000373L;
1002 
1003     // internal ids for our pseudo mechanisms SecureRandom and KeyStore
1004     public static final long  PCKM_SECURERANDOM              = 0x7FFFFF20L;
1005     public static final long  PCKM_KEYSTORE                  = 0x7FFFFF21L;
1006 
1007     /* The flags specify whether or not a mechanism can be used for a
1008      * particular task */
1009     public static final long  CKF_HW                 = 0x00000001L;
1010     public static final long  CKF_MESSAGE_ENCRYPT    = 0x00000002L;
1011     public static final long  CKF_MESSAGE_DECRYPT    = 0x00000004L;
1012     public static final long  CKF_MESSAGE_SIGN       = 0x00000008L;
1013     public static final long  CKF_MESSAGE_VERIFY     = 0x00000010L;
1014     public static final long  CKF_MULTI_MESSAGE      = 0x00000020L;
1015     public static final long  CKF_FIND_OBJECTS       = 0x00000040L;
1016 
1017     public static final long  CKF_ENCRYPT            = 0x00000100L;
1018     public static final long  CKF_DECRYPT            = 0x00000200L;
1019     public static final long  CKF_DIGEST             = 0x00000400L;
1020     public static final long  CKF_SIGN               = 0x00000800L;
1021     public static final long  CKF_SIGN_RECOVER       = 0x00001000L;
1022     public static final long  CKF_VERIFY             = 0x00002000L;
1023     public static final long  CKF_VERIFY_RECOVER     = 0x00004000L;
1024     public static final long  CKF_GENERATE           = 0x00008000L;
1025     public static final long  CKF_GENERATE_KEY_PAIR  = 0x00010000L;
1026     public static final long  CKF_WRAP               = 0x00020000L;
1027     public static final long  CKF_UNWRAP             = 0x00040000L;
1028     public static final long  CKF_DERIVE             = 0x00080000L;
1029 
1030     /* Describe a token's EC capabilities not available in mechanism
1031      * information.
1032      */
1033     public static final long  CKF_EC_F_P             = 0x00100000L;
1034     public static final long  CKF_EC_F_2M            = 0x00200000L;
1035     public static final long  CKF_EC_ECPARAMETERS    = 0x00400000L;
1036     public static final long  CKF_EC_OID             = 0x00400000L;
1037     public static final long  CKF_EC_NAMEDCURVE /*deprecated since 3.00*/
1038                                                      = CKF_EC_OID;
1039     public static final long  CKF_EC_UNCOMPRESS      = 0x01000000L;
1040     public static final long  CKF_EC_COMPRESS        = 0x02000000L;
1041     public static final long  CKF_EC_CURVENAME       = 0x04000000L;
1042 
1043     public static final long  CKF_EXTENSION          = 0x80000000L;
1044 
1045     /* Identifies the return value of a Cryptoki function */
1046     public static final long  CKR_OK                 = 0x00000000L;
1047     public static final long  CKR_CANCEL             = 0x00000001L;
1048     public static final long  CKR_HOST_MEMORY        = 0x00000002L;
1049     public static final long  CKR_SLOT_ID_INVALID    = 0x00000003L;
1050 
1051     public static final long  CKR_GENERAL_ERROR      = 0x00000005L;
1052     public static final long  CKR_FUNCTION_FAILED    = 0x00000006L;
1053 
1054     public static final long  CKR_ARGUMENTS_BAD      = 0x00000007L;
1055     public static final long  CKR_NO_EVENT           = 0x00000008L;
1056     public static final long  CKR_NEED_TO_CREATE_THREADS
1057                                                      = 0x00000009L;
1058     public static final long  CKR_CANT_LOCK          = 0x0000000AL;
1059 
1060     public static final long  CKR_ATTRIBUTE_READ_ONLY       = 0x00000010L;
1061     public static final long  CKR_ATTRIBUTE_SENSITIVE       = 0x00000011L;
1062     public static final long  CKR_ATTRIBUTE_TYPE_INVALID    = 0x00000012L;
1063     public static final long  CKR_ATTRIBUTE_VALUE_INVALID   = 0x00000013L;
1064     public static final long  CKR_ACTION_PROHIBITED         = 0x0000001BL;
1065 
1066     public static final long  CKR_DATA_INVALID              = 0x00000020L;
1067     public static final long  CKR_DATA_LEN_RANGE            = 0x00000021L;
1068     public static final long  CKR_DEVICE_ERROR              = 0x00000030L;
1069     public static final long  CKR_DEVICE_MEMORY             = 0x00000031L;
1070     public static final long  CKR_DEVICE_REMOVED            = 0x00000032L;
1071     public static final long  CKR_ENCRYPTED_DATA_INVALID    = 0x00000040L;
1072     public static final long  CKR_ENCRYPTED_DATA_LEN_RANGE  = 0x00000041L;
1073     public static final long  CKR_AEAD_DECRYPT_FAILED       = 0x00000042L;
1074     public static final long  CKR_FUNCTION_CANCELED         = 0x00000050L;
1075     public static final long  CKR_FUNCTION_NOT_PARALLEL     = 0x00000051L;
1076 
1077     public static final long  CKR_FUNCTION_NOT_SUPPORTED    = 0x00000054L;
1078 
1079     public static final long  CKR_KEY_HANDLE_INVALID        = 0x00000060L;
1080 
1081     public static final long  CKR_KEY_SIZE_RANGE            = 0x00000062L;
1082     public static final long  CKR_KEY_TYPE_INCONSISTENT     = 0x00000063L;
1083 
1084     public static final long  CKR_KEY_NOT_NEEDED                 = 0x00000064L;
1085     public static final long  CKR_KEY_CHANGED                    = 0x00000065L;
1086     public static final long  CKR_KEY_NEEDED                     = 0x00000066L;
1087     public static final long  CKR_KEY_INDIGESTIBLE               = 0x00000067L;
1088     public static final long  CKR_KEY_FUNCTION_NOT_PERMITTED     = 0x00000068L;
1089     public static final long  CKR_KEY_NOT_WRAPPABLE              = 0x00000069L;
1090     public static final long  CKR_KEY_UNEXTRACTABLE              = 0x0000006AL;
1091 
1092     public static final long  CKR_MECHANISM_INVALID              = 0x00000070L;
1093     public static final long  CKR_MECHANISM_PARAM_INVALID        = 0x00000071L;
1094 
1095     public static final long  CKR_OBJECT_HANDLE_INVALID          = 0x00000082L;
1096     public static final long  CKR_OPERATION_ACTIVE               = 0x00000090L;
1097     public static final long  CKR_OPERATION_NOT_INITIALIZED      = 0x00000091L;
1098     public static final long  CKR_PIN_INCORRECT                  = 0x000000A0L;
1099     public static final long  CKR_PIN_INVALID                    = 0x000000A1L;
1100     public static final long  CKR_PIN_LEN_RANGE                  = 0x000000A2L;
1101 
1102     public static final long  CKR_PIN_EXPIRED                    = 0x000000A3L;
1103     public static final long  CKR_PIN_LOCKED                     = 0x000000A4L;
1104 
1105     public static final long  CKR_SESSION_CLOSED                 = 0x000000B0L;
1106     public static final long  CKR_SESSION_COUNT                  = 0x000000B1L;
1107     public static final long  CKR_SESSION_HANDLE_INVALID         = 0x000000B3L;
1108     public static final long  CKR_SESSION_PARALLEL_NOT_SUPPORTED = 0x000000B4L;
1109     public static final long  CKR_SESSION_READ_ONLY              = 0x000000B5L;
1110     public static final long  CKR_SESSION_EXISTS                 = 0x000000B6L;
1111 
1112     public static final long  CKR_SESSION_READ_ONLY_EXISTS       = 0x000000B7L;
1113     public static final long  CKR_SESSION_READ_WRITE_SO_EXISTS   = 0x000000B8L;
1114 
1115     public static final long  CKR_SIGNATURE_INVALID              = 0x000000C0L;
1116     public static final long  CKR_SIGNATURE_LEN_RANGE            = 0x000000C1L;
1117     public static final long  CKR_TEMPLATE_INCOMPLETE            = 0x000000D0L;
1118     public static final long  CKR_TEMPLATE_INCONSISTENT          = 0x000000D1L;
1119     public static final long  CKR_TOKEN_NOT_PRESENT              = 0x000000E0L;
1120     public static final long  CKR_TOKEN_NOT_RECOGNIZED           = 0x000000E1L;
1121     public static final long  CKR_TOKEN_WRITE_PROTECTED          = 0x000000E2L;
1122     public static final long  CKR_UNWRAPPING_KEY_HANDLE_INVALID  = 0x000000F0L;
1123     public static final long  CKR_UNWRAPPING_KEY_SIZE_RANGE      = 0x000000F1L;
1124     public static final long  CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT
1125                                                                  = 0x000000F2L;
1126     public static final long  CKR_USER_ALREADY_LOGGED_IN         = 0x00000100L;
1127     public static final long  CKR_USER_NOT_LOGGED_IN             = 0x00000101L;
1128     public static final long  CKR_USER_PIN_NOT_INITIALIZED       = 0x00000102L;
1129     public static final long  CKR_USER_TYPE_INVALID              = 0x00000103L;
1130 
1131     public static final long  CKR_USER_ANOTHER_ALREADY_LOGGED_IN = 0x00000104L;
1132     public static final long  CKR_USER_TOO_MANY_TYPES            = 0x00000105L;
1133 
1134     public static final long  CKR_WRAPPED_KEY_INVALID            = 0x00000110L;
1135     public static final long  CKR_WRAPPED_KEY_LEN_RANGE          = 0x00000112L;
1136     public static final long  CKR_WRAPPING_KEY_HANDLE_INVALID    = 0x00000113L;
1137     public static final long  CKR_WRAPPING_KEY_SIZE_RANGE        = 0x00000114L;
1138     public static final long  CKR_WRAPPING_KEY_TYPE_INCONSISTENT = 0x00000115L;
1139     public static final long  CKR_RANDOM_SEED_NOT_SUPPORTED      = 0x00000120L;
1140 
1141     public static final long  CKR_RANDOM_NO_RNG                  = 0x00000121L;
1142 
1143     public static final long  CKR_DOMAIN_PARAMS_INVALID          = 0x00000130L;
1144 
1145     public static final long  CKR_CURVE_NOT_SUPPORTED            = 0x00000140L;
1146 
1147     public static final long  CKR_BUFFER_TOO_SMALL               = 0x00000150L;
1148     public static final long  CKR_SAVED_STATE_INVALID            = 0x00000160L;
1149     public static final long  CKR_INFORMATION_SENSITIVE          = 0x00000170L;
1150     public static final long  CKR_STATE_UNSAVEABLE               = 0x00000180L;
1151 
1152     public static final long  CKR_CRYPTOKI_NOT_INITIALIZED       = 0x00000190L;
1153     public static final long  CKR_CRYPTOKI_ALREADY_INITIALIZED   = 0x00000191L;
1154     public static final long  CKR_MUTEX_BAD                      = 0x000001A0L;
1155     public static final long  CKR_MUTEX_NOT_LOCKED               = 0x000001A1L;
1156 
1157     public static final long  CKR_NEW_PIN_MODE                   = 0x000001B0L;
1158     public static final long  CKR_NEXT_OTP                       = 0x000001B1L;
1159 
1160     public static final long  CKR_EXCEEDED_MAX_ITERATIONS        = 0x000001B5L;
1161     public static final long  CKR_FIPS_SELF_TEST_FAILED          = 0x000001B6L;
1162     public static final long  CKR_LIBRARY_LOAD_FAILED            = 0x000001B7L;
1163     public static final long  CKR_PIN_TOO_WEAK                   = 0x000001B8L;
1164     public static final long  CKR_PUBLIC_KEY_INVALID             = 0x000001B9L;
1165     public static final long  CKR_FUNCTION_REJECTED              = 0x00000200L;
1166     public static final long  CKR_TOKEN_RESOURCE_EXCEEDED        = 0x00000201L;
1167     public static final long  CKR_OPERATION_CANCEL_FAILED        = 0x00000202L;
1168 
1169     public static final long  CKR_VENDOR_DEFINED                 = 0x80000000L;
1170 
1171     /* Uncomment when actually used
1172     public static final long  CKF_END_OF_MESSAGE      = 0x00000001L;
1173     public static final long  CKF_INTERFACE_FORK_SAFE = 0x00000001L;
1174     */
1175 
1176     /* flags: bit flags that provide capabilities of the slot
1177      *        Bit Flag = Mask
1178      */
1179     public static final long  CKF_LIBRARY_CANT_CREATE_OS_THREADS = 0x00000001L;
1180     public static final long  CKF_OS_LOCKING_OK                  = 0x00000002L;
1181 
1182     /* CKF_DONT_BLOCK is for the function C_WaitForSlotEvent */
1183     public static final long  CKF_DONT_BLOCK =    1L;
1184 
1185     /* The following MGFs are defined */
1186     public static final long  CKG_MGF1_SHA1       = 0x00000001L;
1187     public static final long  CKG_MGF1_SHA256     = 0x00000002L;
1188     public static final long  CKG_MGF1_SHA384     = 0x00000003L;
1189     public static final long  CKG_MGF1_SHA512     = 0x00000004L;
1190     public static final long  CKG_MGF1_SHA224     = 0x00000005L;
1191     public static final long  CKG_MGF1_SHA3_224   = 0x00000006L;
1192     public static final long  CKG_MGF1_SHA3_256   = 0x00000007L;
1193     public static final long  CKG_MGF1_SHA3_384   = 0x00000008L;
1194     public static final long  CKG_MGF1_SHA3_512   = 0x00000009L;
1195 
1196     /* The following encoding parameter sources are defined */
1197     public static final long  CKZ_DATA_SPECIFIED   = 0x00000001L;
1198 
1199     // the following EC Key Derivation Functions are defined
1200     public static final long  CKD_NULL                 = 0x00000001L;
1201     public static final long  CKD_SHA1_KDF             = 0x00000002L;
1202 
1203     /* Uncomment when actually used
1204     // the following X9.42 Diffie-Hellman Key Derivation Functions are defined
1205     public static final long  CKD_SHA1_KDF_ASN1        = 0x00000003L;
1206     public static final long  CKD_SHA1_KDF_CONCATENATE = 0x00000004L;
1207     public static final long  CKD_SHA224_KDF           = 0x00000005L;
1208     public static final long  CKD_SHA256_KDF           = 0x00000006L;
1209     public static final long  CKD_SHA384_KDF           = 0x00000007L;
1210     public static final long  CKD_SHA512_KDF           = 0x00000008L;
1211     public static final long  CKD_CPDIVERSIFY_KDF      = 0x00000009L;
1212     public static final long  CKD_SHA3_224_KDF         = 0x0000000AL;
1213     public static final long  CKD_SHA3_256_KDF         = 0x0000000BL;
1214     public static final long  CKD_SHA3_384_KDF         = 0x0000000CL;
1215     public static final long  CKD_SHA3_512_KDF         = 0x0000000DL;
1216     public static final long  CKD_SHA1_KDF_SP800       = 0x0000000EL;
1217     public static final long  CKD_SHA224_KDF_SP800     = 0x0000000FL;
1218     public static final long  CKD_SHA256_KDF_SP800     = 0x00000010L;
1219     public static final long  CKD_SHA384_KDF_SP800     = 0x00000011L;
1220     public static final long  CKD_SHA512_KDF_SP800     = 0x00000012L;
1221     public static final long  CKD_SHA3_224_KDF_SP800   = 0x00000013L;
1222     public static final long  CKD_SHA3_256_KDF_SP800   = 0x00000014L;
1223     public static final long  CKD_SHA3_384_KDF_SP800   = 0x00000015L;
1224     public static final long  CKD_SHA3_512_KDF_SP800   = 0x00000016L;
1225     public static final long  CKD_BLAKE2B_160_KDF      = 0x00000017L;
1226     public static final long  CKD_BLAKE2B_256_KDF      = 0x00000018L;
1227     public static final long  CKD_BLAKE2B_384_KDF      = 0x00000019L;
1228     public static final long  CKD_BLAKE2B_512_KDF      = 0x0000001aL;
1229 
1230     public static final long  CKP_PKCS5_PBKD2_HMAC_SHA1        = 0x00000001L;
1231     public static final long  CKP_PKCS5_PBKD2_HMAC_GOSTR3411   = 0x00000002L;
1232     public static final long  CKP_PKCS5_PBKD2_HMAC_SHA224      = 0x00000003L;
1233     public static final long  CKP_PKCS5_PBKD2_HMAC_SHA256      = 0x00000004L;
1234     public static final long  CKP_PKCS5_PBKD2_HMAC_SHA384      = 0x00000005L;
1235     public static final long  CKP_PKCS5_PBKD2_HMAC_SHA512      = 0x00000006L;
1236     public static final long  CKP_PKCS5_PBKD2_HMAC_SHA512_224  = 0x00000007L;
1237     public static final long  CKP_PKCS5_PBKD2_HMAC_SHA512_256  = 0x00000008L;
1238 
1239     public static final long  CKZ_SALT_SPECIFIED      = 0x00000001L;
1240 
1241     public static final long  CK_OTP_VALUE            = 0x00000000L;
1242     public static final long  CK_OTP_PIN              = 0x00000001L;
1243     public static final long  CK_OTP_CHALLENGE        = 0x00000002L;
1244     public static final long  CK_OTP_TIME             = 0x00000003L;
1245     public static final long  CK_OTP_COUNTER          = 0x00000004L;
1246     public static final long  CK_OTP_FLAGS            = 0x00000005L;
1247     public static final long  CK_OTP_OUTPUT_LENGTH    = 0x00000006L;
1248     public static final long  CK_OTP_OUTPUT_FORMAT    = 0x00000007L;
1249 
1250     public static final long  CKF_NEXT_OTP            = 0x00000001L;
1251     public static final long  CKF_EXCLUDE_TIME        = 0x00000002L;
1252     public static final long  CKF_EXCLUDE_COUNTER     = 0x00000004L;
1253     public static final long  CKF_EXCLUDE_CHALLENGE   = 0x00000008L;
1254     public static final long  CKF_EXCLUDE_PIN         = 0x00000010L;
1255     public static final long  CKF_USER_FRIENDLY_OTP   = 0x00000020L;
1256 
1257     public static final long  CKG_NO_GENERATE      = 0x00000000L;
1258     public static final long  CKG_GENERATE         = 0x00000001L;
1259     public static final long  CKG_GENERATE_COUNTER = 0x00000002L;
1260     public static final long  CKG_GENERATE_RANDOM  = 0x00000003L;
1261 
1262     public static final long  CK_SP800_108_ITERATION_VARIABLE = 0x00000001L;
1263     public static final long  CK_SP800_108_OPTIONAL_COUNTER   = 0x00000002L;
1264     public static final long  CK_SP800_108_DKM_LENGTH         = 0x00000003L;
1265     public static final long  CK_SP800_108_BYTE_ARRAY         = 0x00000004L;
1266     public static final long  CK_SP800_108_DKM_LENGTH_SUM_OF_KEYS
1267                                                               = 0x00000001L;
1268     public static final long  CK_SP800_108_DKM_LENGTH_SUM_OF_SEGMENTS
1269                                                               = 0x00000002L;
1270 
1271     public static final long  CKF_HKDF_SALT_NULL   = 0x00000001L;
1272     public static final long  CKF_HKDF_SALT_DATA   = 0x00000002L;
1273     public static final long  CKF_HKDF_SALT_KEY    = 0x00000004L;
1274     */
1275 
1276     // private NSS attribute (for DSA and DH private keys)
1277     public static final long  CKA_NETSCAPE_DB         = 0xD5A0DB00L;
1278 
1279     // base number of NSS private attributes
1280     public static final long  CKA_NETSCAPE_BASE /*0x80000000L + 0x4E534350L*/
1281                                                       = 0xCE534350L;
1282 
1283     // object type for NSS trust
1284     public static final long  CKO_NETSCAPE_TRUST      = 0xCE534353L;
1285 
1286     // base number for NSS trust attributes
1287     public static final long  CKA_NETSCAPE_TRUST_BASE = 0xCE536350L;
1288 
1289     // attributes for NSS trust
1290     public static final long  CKA_NETSCAPE_TRUST_SERVER_AUTH      = 0xCE536358L;
1291     public static final long  CKA_NETSCAPE_TRUST_CLIENT_AUTH      = 0xCE536359L;
1292     public static final long  CKA_NETSCAPE_TRUST_CODE_SIGNING     = 0xCE53635AL;
1293     public static final long  CKA_NETSCAPE_TRUST_EMAIL_PROTECTION = 0xCE53635BL;
1294     public static final long  CKA_NETSCAPE_CERT_SHA1_HASH         = 0xCE5363B4L;
1295     public static final long  CKA_NETSCAPE_CERT_MD5_HASH          = 0xCE5363B5L;
1296 
1297     // trust values for each of the NSS trust attributes
1298     public static final long  CKT_NETSCAPE_TRUSTED           = 0xCE534351L;
1299     public static final long  CKT_NETSCAPE_TRUSTED_DELEGATOR = 0xCE534352L;
1300     public static final long  CKT_NETSCAPE_UNTRUSTED         = 0xCE534353L;
1301     public static final long  CKT_NETSCAPE_MUST_VERIFY       = 0xCE534354L;
1302     public static final long  CKT_NETSCAPE_TRUST_UNKNOWN /* default */
1303                                                              = 0xCE534355L;
1304     public static final long  CKT_NETSCAPE_VALID             = 0xCE53435AL;
1305     public static final long  CKT_NETSCAPE_VALID_DELEGATOR   = 0xCE53435BL;
1306 }
1307