1 package iaik.pkcs.pkcs11.wrapper;
2 
3 /**
4  * This interface holds constants of the PKCS#11 v2.11 standard.
5  * This is mainly the content of the 'pkcs11t.h' header file.
6  *
7  * Mapping of primitiv data types to Java types:
8  * <pre>
9  *   TRUE .......................................... true
10  *   FALSE ......................................... false
11  *   CK_BYTE ....................................... byte
12  *   CK_CHAR ....................................... char
13  *   CK_UTF8CHAR ................................... char
14  *   CK_BBOOL ...................................... boolean
15  *   CK_ULONG ...................................... long
16  *   CK_LONG ....................................... long
17  *   CK_FLAGS ...................................... long
18  *   CK_NOTIFICATION ............................... long
19  *   CK_SLOT_ID .................................... long
20  *   CK_SESSION_HANDLE ............................. long
21  *   CK_USER_TYPE .................................. long
22  *   CK_SESSION_HANDLE ............................. long
23  *   CK_STATE ...................................... long
24  *   CK_OBJECT_HANDLE .............................. long
25  *   CK_OBJECT_CLASS ............................... long
26  *   CK_HW_FEATURE_TYPE ............................ long
27  *   CK_KEY_TYPE ................................... long
28  *   CK_CERTIFICATE_TYPE ........................... long
29  *   CK_ATTRIBUTE_TYPE ............................. long
30  *   CK_VOID_PTR ................................... Object[]
31  *   CK_BYTE_PTR ................................... byte[]
32  *   CK_CHAR_PTR ................................... char[]
33  *   CK_UTF8CHAR_PTR ............................... char[]
34  *   CK_MECHANISM_TYPE ............................. long
35  *   CK_RV ......................................... long
36  *   CK_RSA_PKCS_OAEP_MGF_TYPE ..................... long
37  *   CK_RSA_PKCS_OAEP_SOURCE_TYPE .................. long
38  *   CK_RC2_PARAMS ................................. long
39  *   CK_MAC_GENERAL_PARAMS ......................... long
40  *   CK_EXTRACT_PARAMS ............................. long
41  *   CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE .... long
42  *   CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE .............. long
43  *   CK_EC_KDF_TYPE ................................ long
44  *   CK_X9_42_DH_KDF_TYPE .......................... long
45  * </pre>
46  *
47  * @author <a href="mailto:Karl.Scheibelhofer@iaik.at"> Karl Scheibelhofer </a>
48  * @version 1.0
49  * @invariants
50  */
51 public interface PKCS11Constants {
52 
53 	public static final boolean TRUE = true;
54 
55 	public static final boolean FALSE = false;
56 
57 	public static final Object NULL_PTR = null;
58 
59 	/* some special values for certain CK_ULONG variables */
60 	public static final long CK_UNAVAILABLE_INFORMATION = 4294967295L;
61 	public static final long CK_EFFECTIVELY_INFINITE = 0L;
62 
63 	/* The following value is always invalid if used as a session */
64 	/* handle or object handle */
65 	public static final long CK_INVALID_HANDLE = 0L;
66 
67 	/* CK_NOTIFICATION enumerates the types of notifications that
68 	 * Cryptoki provides to an application */
69 	/* CK_NOTIFICATION has been changed from an enum to a CK_ULONG
70 	 * for v2.0 */
71 	public static final long CKN_SURRENDER = 0L;
72 
73 	/* flags: bit flags that provide capabilities of the slot
74 	 *      Bit Flag              Mask        Meaning
75 	 */
76 	public static final long CKF_TOKEN_PRESENT = 0x00000001L;
77 	public static final long CKF_REMOVABLE_DEVICE = 0x00000002L;
78 	public static final long CKF_HW_SLOT = 0x00000004L;
79 
80 	/* The flags parameter is defined as follows:
81 	 *      Bit Flag                    Mask        Meaning
82 	 */
83 	/* has random # generator */
84 	public static final long CKF_RNG = 0x00000001L;
85 
86 	/* token is write-protected */
87 	public static final long CKF_WRITE_PROTECTED = 0x00000002L;
88 
89 	/* user must login */
90 	public static final long CKF_LOGIN_REQUIRED = 0x00000004L;
91 
92 	/* normal user's PIN is set */
93 	public static final long CKF_USER_PIN_INITIALIZED = 0x00000008L;
94 
95 	/* CKF_RESTORE_KEY_NOT_NEEDED is new for v2.0.  If it is set,
96 	 * that means that *every* time the state of cryptographic
97 	 * operations of a session is successfully saved, all keys
98 	 * needed to continue those operations are stored in the state */
99 	public static final long CKF_RESTORE_KEY_NOT_NEEDED = 0x00000020L;
100 
101 	/* CKF_CLOCK_ON_TOKEN is new for v2.0.  If it is set, that means
102 	 * that the token has some sort of clock.  The time on that
103 	 * clock is returned in the token info structure */
104 	public static final long CKF_CLOCK_ON_TOKEN = 0x00000040L;
105 
106 	/* CKF_PROTECTED_AUTHENTICATION_PATH is new for v2.0.  If it is
107 	 * set, that means that there is some way for the user to login
108 	 * without sending a PIN through the Cryptoki library itself */
109 	public static final long CKF_PROTECTED_AUTHENTICATION_PATH = 0x00000100L;
110 
111 	/* CKF_DUAL_CRYPTO_OPERATIONS is new for v2.0.  If it is true,
112 	 * that means that a single session with the token can perform
113 	 * dual simultaneous cryptographic operations (digest and
114 	 * encrypt; decrypt and digest; sign and encrypt; and decrypt
115 	 * and sign) */
116 	public static final long CKF_DUAL_CRYPTO_OPERATIONS = 0x00000200L;
117 
118 	/* CKF_TOKEN_INITIALIZED if new for v2.10. If it is true, the
119 	 * token has been initialized using C_InitializeToken or an
120 	 * equivalent mechanism outside the scope of PKCS #11.
121 	 * Calling C_InitializeToken when this flag is set will cause
122 	 * the token to be reinitialized. */
123 	public static final long CKF_TOKEN_INITIALIZED = 0x00000400L;
124 
125 	/* CKF_SECONDARY_AUTHENTICATION if new for v2.10. If it is
126 	 * true, the token supports secondary authentication for
127 	 * private key objects. */
128 	public static final long CKF_SECONDARY_AUTHENTICATION = 0x00000800L;
129 
130 	/* CKF_USER_PIN_COUNT_LOW if new for v2.10. If it is true, an
131 	 * incorrect user login PIN has been entered at least once
132 	 * since the last successful authentication. */
133 	public static final long CKF_USER_PIN_COUNT_LOW = 0x00010000L;
134 
135 	/* CKF_USER_PIN_FINAL_TRY if new for v2.10. If it is true,
136 	 * supplying an incorrect user PIN will it to become locked. */
137 	public static final long CKF_USER_PIN_FINAL_TRY = 0x00020000L;
138 
139 	/* CKF_USER_PIN_LOCKED if new for v2.10. If it is true, the
140 	 * user PIN has been locked. User login to the token is not
141 	 * possible. */
142 	public static final long CKF_USER_PIN_LOCKED = 0x00040000L;
143 
144 	/* CKF_USER_PIN_TO_BE_CHANGED if new for v2.10. If it is true,
145 	 * the user PIN value is the default value set by token
146 	 * initialization or manufacturing. */
147 	public static final long CKF_USER_PIN_TO_BE_CHANGED = 0x00080000L;
148 
149 	/* CKF_SO_PIN_COUNT_LOW if new for v2.10. If it is true, an
150 	 * incorrect SO login PIN has been entered at least once since
151 	 * the last successful authentication. */
152 	public static final long CKF_SO_PIN_COUNT_LOW = 0x00100000L;
153 
154 	/* CKF_SO_PIN_FINAL_TRY if new for v2.10. If it is true,
155 	 * supplying an incorrect SO PIN will it to become locked. */
156 	public static final long CKF_SO_PIN_FINAL_TRY = 0x00200000L;
157 
158 	/* CKF_SO_PIN_LOCKED if new for v2.10. If it is true, the SO
159 	 * PIN has been locked. SO login to the token is not possible.
160 	 */
161 	public static final long CKF_SO_PIN_LOCKED = 0x00400000L;
162 
163 	/* CKF_SO_PIN_TO_BE_CHANGED if new for v2.10. If it is true,
164 	 * the SO PIN value is the default value set by token
165 	 * initialization or manufacturing. */
166 	public static final long CKF_SO_PIN_TO_BE_CHANGED = 0x00800000L;
167 
168 	/* CK_USER_TYPE enumerates the types of Cryptoki users */
169 	/* CK_USER_TYPE has been changed from an enum to a CK_ULONG for
170 	 * v2.0 */
171 	/* Security Officer */
172 	public static final long CKU_SO = 0L;
173 	/* Normal user */
174 	public static final long CKU_USER = 1L;
175 	/* Context specific (added in v2.20) */
176 	public static final long CKU_CONTEXT_SPECIFIC = 2L;
177 
178 	/* CK_STATE enumerates the session states */
179 	/* CK_STATE has been changed from an enum to a CK_ULONG for
180 	 * v2.0 */
181 	public static final long CKS_RO_PUBLIC_SESSION = 0L;
182 	public static final long CKS_RO_USER_FUNCTIONS = 1L;
183 	public static final long CKS_RW_PUBLIC_SESSION = 2L;
184 	public static final long CKS_RW_USER_FUNCTIONS = 3L;
185 	public static final long CKS_RW_SO_FUNCTIONS = 4L;
186 
187 	/* The flags are defined in the following table:
188 	 *      Bit Flag                Mask        Meaning
189 	 */
190 	public static final long CKF_RW_SESSION = 0x00000002L; /* session is r/w */
191 	public static final long CKF_SERIAL_SESSION = 0x00000004L; /* no parallel */
192 
193 	/* The following classes of objects are defined: */
194 	/* CKO_HW_FEATURE is new for v2.10 */
195 	/* CKO_DOMAIN_PARAMETERS is new for v2.11 */
196 	/* CKO_MECHANISM is new for v2.20 */
197 	public static final long CKO_DATA = 0x00000000L;
198 	public static final long CKO_CERTIFICATE = 0x00000001L;
199 	public static final long CKO_PUBLIC_KEY = 0x00000002L;
200 	public static final long CKO_PRIVATE_KEY = 0x00000003L;
201 	public static final long CKO_SECRET_KEY = 0x00000004L;
202 	public static final long CKO_HW_FEATURE = 0x00000005L;
203 	public static final long CKO_DOMAIN_PARAMETERS = 0x00000006L;
204 	public static final long CKO_MECHANISM = 0x00000007L;
205 	public static final long CKO_VENDOR_DEFINED = 0x80000000L;
206 
207 	/* The following hardware feature types are defined */
208 	/* CKH_USER_INTERFACE is new for v2.20 */
209 	public static final long CKH_MONOTONIC_COUNTER = 0x00000001L;
210 	public static final long CKH_CLOCK = 0x00000002L;
211 	public static final long CKH_USER_INTERFACE = 0x00000003L;
212 	public static final long CKH_VENDOR_DEFINED = 0x80000000L;
213 
214 	/* the following key types are defined: */
215 	public static final long CKK_RSA = 0x00000000L;
216 	public static final long CKK_DSA = 0x00000001L;
217 	public static final long CKK_DH = 0x00000002L;
218 
219 	/* CKK_ECDSA and CKK_KEA are new for v2.0 */
220 	/* CKK_ECDSA is deprecated in v2.11, CKK_EC is preferred. */
221 	public static final long CKK_ECDSA = 0x00000003L;
222 	public static final long CKK_EC = 0x00000003L;
223 	public static final long CKK_X9_42_DH = 0x00000004L;
224 	public static final long CKK_KEA = 0x00000005L;
225 
226 	public static final long CKK_GENERIC_SECRET = 0x00000010L;
227 	public static final long CKK_RC2 = 0x00000011L;
228 	public static final long CKK_RC4 = 0x00000012L;
229 	public static final long CKK_DES = 0x00000013L;
230 	public static final long CKK_DES2 = 0x00000014L;
231 	public static final long CKK_DES3 = 0x00000015L;
232 
233 	/* all these key types are new for v2.0 */
234 	public static final long CKK_CAST = 0x00000016L;
235 	public static final long CKK_CAST3 = 0x00000017L;
236 	/* CKK_CAST5 is deprecated in v2.11, CKK_CAST128 is preferred. */
237 	public static final long CKK_CAST5 = 0x00000018L;
238 	public static final long CKK_CAST128 = 0x00000018L; /* CAST128=CAST5 */
239 	public static final long CKK_RC5 = 0x00000019L;
240 	public static final long CKK_IDEA = 0x0000001AL;
241 	public static final long CKK_SKIPJACK = 0x0000001BL;
242 	public static final long CKK_BATON = 0x0000001CL;
243 	public static final long CKK_JUNIPER = 0x0000001DL;
244 	public static final long CKK_CDMF = 0x0000001EL;
245 	public static final long CKK_AES = 0x0000001FL;
246 
247 	/* BlowFish and TwoFish are new for v2.20 */
248 	public static final long CKK_BLOWFISH = 0x00000020L;
249 	public static final long CKK_TWOFISH = 0x00000021L;
250 
251 	public static final long CKK_VENDOR_DEFINED = 0x80000000L;
252 
253 	/* The following certificate types are defined: */
254 	/* CKC_X_509_ATTR_CERT is new for v2.10 */
255 	/* CKC_WTLS is new for v2.20 */
256 	public static final long CKC_X_509 = 0x00000000L;
257 	public static final long CKC_X_509_ATTR_CERT = 0x00000001L;
258 	public static final long CKC_WTLS = 0x00000002L;
259 	public static final long CKC_VENDOR_DEFINED = 0x80000000L;
260 
261 	/* The CKF_ARRAY_ATTRIBUTE flag identifies an attribute which
262 	 * consists of an array of values. new for v2.20 */
263 	public static final long CKF_ARRAY_ATTRIBUTE = 0x40000000L;
264 
265 	/* The following attribute types are defined: */
266 	public static final long CKA_CLASS = 0x00000000L;
267 	public static final long CKA_TOKEN = 0x00000001L;
268 	public static final long CKA_PRIVATE = 0x00000002L;
269 	public static final long CKA_LABEL = 0x00000003L;
270 	public static final long CKA_APPLICATION = 0x00000010L;
271 	public static final long CKA_VALUE = 0x00000011L;
272 
273 	/* CKA_OBJECT_ID is new for v2.10 */
274 	public static final long CKA_OBJECT_ID = 0x00000012L;
275 
276 	public static final long CKA_CERTIFICATE_TYPE = 0x00000080L;
277 	public static final long CKA_ISSUER = 0x00000081L;
278 	public static final long CKA_SERIAL_NUMBER = 0x00000082L;
279 
280 	/* CKA_AC_ISSUER, CKA_OWNER, and CKA_ATTR_TYPES are new L;
281 	 * for v2.10 */
282 	public static final long CKA_AC_ISSUER = 0x00000083L;
283 	public static final long CKA_OWNER = 0x00000084L;
284 	public static final long CKA_ATTR_TYPES = 0x00000085L;
285 
286 	/* CKA_TRUSTED is new for v2.11 */
287 	public static final long CKA_TRUSTED = 0x00000086L;
288 
289 	/* CKA_CERTIFICATE_CATEGORY ...
290 	 * CKA_CHECK_VALUE are new for v2.20 */
291 	public static final long CKA_CERTIFICATE_CATEGORY = 0x00000087L;
292 	public static final long CKA_JAVA_MIDP_SECURITY_DOMAIN = 0x00000088L;
293 	public static final long CKA_URL = 0x00000089L;
294 	public static final long CKA_HASH_OF_SUBJECT_PUBLIC_KEY = 0x0000008AL;
295 	public static final long CKA_HASH_OF_ISSUER_PUBLIC_KEY = 0x0000008BL;
296 	public static final long CKA_CHECK_VALUE = 0x00000090L;
297 
298 	public static final long CKA_KEY_TYPE = 0x00000100L;
299 	public static final long CKA_SUBJECT = 0x00000101L;
300 	public static final long CKA_ID = 0x00000102L;
301 	public static final long CKA_SENSITIVE = 0x00000103L;
302 	public static final long CKA_ENCRYPT = 0x00000104L;
303 	public static final long CKA_DECRYPT = 0x00000105L;
304 	public static final long CKA_WRAP = 0x00000106L;
305 	public static final long CKA_UNWRAP = 0x00000107L;
306 	public static final long CKA_SIGN = 0x00000108L;
307 	public static final long CKA_SIGN_RECOVER = 0x00000109L;
308 	public static final long CKA_VERIFY = 0x0000010AL;
309 	public static final long CKA_VERIFY_RECOVER = 0x0000010BL;
310 	public static final long CKA_DERIVE = 0x0000010CL;
311 	public static final long CKA_START_DATE = 0x00000110L;
312 	public static final long CKA_END_DATE = 0x00000111L;
313 	public static final long CKA_MODULUS = 0x00000120L;
314 	public static final long CKA_MODULUS_BITS = 0x00000121L;
315 	public static final long CKA_PUBLIC_EXPONENT = 0x00000122L;
316 	public static final long CKA_PRIVATE_EXPONENT = 0x00000123L;
317 	public static final long CKA_PRIME_1 = 0x00000124L;
318 	public static final long CKA_PRIME_2 = 0x00000125L;
319 	public static final long CKA_EXPONENT_1 = 0x00000126L;
320 	public static final long CKA_EXPONENT_2 = 0x00000127L;
321 	public static final long CKA_COEFFICIENT = 0x00000128L;
322 	public static final long CKA_PRIME = 0x00000130L;
323 	public static final long CKA_SUBPRIME = 0x00000131L;
324 	public static final long CKA_BASE = 0x00000132L;
325 
326 	/* CKA_PRIME_BITS and CKA_SUB_PRIME_BITS are new for v2.11 */
327 	public static final long CKA_PRIME_BITS = 0x00000133L;
328 	public static final long CKA_SUB_PRIME_BITS = 0x00000134L;
329 
330 	public static final long CKA_VALUE_BITS = 0x00000160L;
331 	public static final long CKA_VALUE_LEN = 0x00000161L;
332 
333 	/* CKA_EXTRACTABLE, CKA_LOCAL, CKA_NEVER_EXTRACTABLE,
334 	 * CKA_ALWAYS_SENSITIVE, CKA_MODIFIABLE, CKA_ECDSA_PARAMS,
335 	 * and CKA_EC_POINT are new for v2.0 */
336 	public static final long CKA_EXTRACTABLE = 0x00000162L;
337 	public static final long CKA_LOCAL = 0x00000163L;
338 	public static final long CKA_NEVER_EXTRACTABLE = 0x00000164L;
339 	public static final long CKA_ALWAYS_SENSITIVE = 0x00000165L;
340 
341 	/* CKA_KEY_GEN_MECHANISM is new for v2.11 */
342 	public static final long CKA_KEY_GEN_MECHANISM = 0x00000166L;
343 
344 	public static final long CKA_MODIFIABLE = 0x00000170L;
345 
346 	/* CKA_ECDSA_PARAMS is deprecated in v2.11,
347 	 * CKA_EC_PARAMS is preferred. */
348 	public static final long CKA_ECDSA_PARAMS = 0x00000180L;
349 	public static final long CKA_EC_PARAMS = 0x00000180L;
350 	public static final long CKA_EC_POINT = 0x00000181L;
351 
352 	/* CKA_SECONDARY_AUTH, CKA_AUTH_PIN_FLAGS,
353 	 * CKA_HW_FEATURE_TYPE, CKA_RESET_ON_INIT, and CKA_HAS_RESET
354 	 * are new for v2.10 */
355 	public static final long CKA_SECONDARY_AUTH = 0x00000200L;
356 	public static final long CKA_AUTH_PIN_FLAGS = 0x00000201L;
357 
358 	/* CKA_ALWAYS_AUTHENTICATE ...
359 	 * CKA_UNWRAP_TEMPLATE are new for v2.20 */
360 	public static final long CKA_ALWAYS_AUTHENTICATE = 0x00000202L;
361 
362 	public static final long CKA_WRAP_WITH_TRUSTED = 0x00000210L;
363 	public static final long CKA_WRAP_TEMPLATE = (CKF_ARRAY_ATTRIBUTE | 0x00000211L);
364 	public static final long CKA_UNWRAP_TEMPLATE = (CKF_ARRAY_ATTRIBUTE | 0x00000212L);
365 
366 	public static final long CKA_HW_FEATURE_TYPE = 0x00000300L;
367 	public static final long CKA_RESET_ON_INIT = 0x00000301L;
368 	public static final long CKA_HAS_RESET = 0x00000302L;
369 
370 	/* The following attributes are new for v2.20 */
371 	public static final long CKA_PIXEL_X = 0x00000400L;
372 	public static final long CKA_PIXEL_Y = 0x00000401L;
373 	public static final long CKA_RESOLUTION = 0x00000402L;
374 	public static final long CKA_CHAR_ROWS = 0x00000403L;
375 	public static final long CKA_CHAR_COLUMNS = 0x00000404L;
376 	public static final long CKA_COLOR = 0x00000405L;
377 	public static final long CKA_BITS_PER_PIXEL = 0x00000406L;
378 	public static final long CKA_CHAR_SETS = 0x00000480L;
379 	public static final long CKA_ENCODING_METHODS = 0x00000481L;
380 	public static final long CKA_MIME_TYPES = 0x00000482L;
381 	public static final long CKA_MECHANISM_TYPE = 0x00000500L;
382 	public static final long CKA_REQUIRED_CMS_ATTRIBUTES = 0x00000501L;
383 	public static final long CKA_DEFAULT_CMS_ATTRIBUTES = 0x00000502L;
384 	public static final long CKA_SUPPORTED_CMS_ATTRIBUTES = 0x00000503L;
385 	public static final long CKA_ALLOWED_MECHANISMS = (CKF_ARRAY_ATTRIBUTE | 0x00000600L);
386 
387 	public static final long CKA_VENDOR_DEFINED = 0x80000000L;
388 
389 	/* the following mechanism types are defined: */
390 	public static final long CKM_RSA_PKCS_KEY_PAIR_GEN = 0x00000000L;
391 	public static final long CKM_RSA_PKCS = 0x00000001L;
392 	public static final long CKM_RSA_9796 = 0x00000002L;
393 	public static final long CKM_RSA_X_509 = 0x00000003L;
394 
395 	/* CKM_MD2_RSA_PKCS, CKM_MD5_RSA_PKCS, and CKM_SHA1_RSA_PKCS
396 	 * are new for v2.0.  They are mechanisms which hash and sign */
397 	public static final long CKM_MD2_RSA_PKCS = 0x00000004L;
398 	public static final long CKM_MD5_RSA_PKCS = 0x00000005L;
399 	public static final long CKM_SHA1_RSA_PKCS = 0x00000006L;
400 
401 	/* CKM_RIPEMD128_RSA_PKCS, CKM_RIPEMD160_RSA_PKCS, and
402 	 * CKM_RSA_PKCS_OAEP are new for v2.10 */
403 	public static final long CKM_RIPEMD128_RSA_PKCS = 0x00000007L;
404 	public static final long CKM_RIPEMD160_RSA_PKCS = 0x00000008L;
405 	public static final long CKM_RSA_PKCS_OAEP = 0x00000009L;
406 
407 	/* CKM_RSA_X9_31_KEY_PAIR_GEN, CKM_RSA_X9_31, CKM_SHA1_RSA_X9_31,
408 	 * CKM_RSA_PKCS_PSS, and CKM_SHA1_RSA_PKCS_PSS are new for v2.11 */
409 	public static final long CKM_RSA_X9_31_KEY_PAIR_GEN = 0x0000000AL;
410 	public static final long CKM_RSA_X9_31 = 0x0000000BL;
411 	public static final long CKM_SHA1_RSA_X9_31 = 0x0000000CL;
412 	public static final long CKM_RSA_PKCS_PSS = 0x0000000DL;
413 	public static final long CKM_SHA1_RSA_PKCS_PSS = 0x0000000EL;
414 
415 	public static final long CKM_DSA_KEY_PAIR_GEN = 0x00000010L;
416 	public static final long CKM_DSA = 0x00000011L;
417 	public static final long CKM_DSA_SHA1 = 0x00000012L;
418 	public static final long CKM_DH_PKCS_KEY_PAIR_GEN = 0x00000020L;
419 	public static final long CKM_DH_PKCS_DERIVE = 0x00000021L;
420 
421 	/* CKM_X9_42_DH_KEY_PAIR_GEN, CKM_X9_42_DH_DERIVE,
422 	 * CKM_X9_42_DH_HYBRID_DERIVE, and CKM_X9_42_MQV_DERIVE are new for
423 	 * v2.11 */
424 	public static final long CKM_X9_42_DH_KEY_PAIR_GEN = 0x00000030L;
425 	public static final long CKM_X9_42_DH_DERIVE = 0x00000031L;
426 	public static final long CKM_X9_42_DH_HYBRID_DERIVE = 0x00000032L;
427 	public static final long CKM_X9_42_MQV_DERIVE = 0x00000033L;
428 
429 	/* CKM_SHA256/384/512 are new for v2.20 */
430 	public static final long CKM_SHA256_RSA_PKCS = 0x00000040L;
431 	public static final long CKM_SHA384_RSA_PKCS = 0x00000041L;
432 	public static final long CKM_SHA512_RSA_PKCS = 0x00000042L;
433 	public static final long CKM_SHA256_RSA_PKCS_PSS = 0x00000043L;
434 	public static final long CKM_SHA384_RSA_PKCS_PSS = 0x00000044L;
435 	public static final long CKM_SHA512_RSA_PKCS_PSS = 0x00000045L;
436 
437 	public static final long CKM_RC2_KEY_GEN = 0x00000100L;
438 	public static final long CKM_RC2_ECB = 0x00000101L;
439 	public static final long CKM_RC2_CBC = 0x00000102L;
440 	public static final long CKM_RC2_MAC = 0x00000103L;
441 
442 	/* CKM_RC2_MAC_GENERAL and CKM_RC2_CBC_PAD are new for v2.0 */
443 	public static final long CKM_RC2_MAC_GENERAL = 0x00000104L;
444 	public static final long CKM_RC2_CBC_PAD = 0x00000105L;
445 
446 	public static final long CKM_RC4_KEY_GEN = 0x00000110L;
447 	public static final long CKM_RC4 = 0x00000111L;
448 	public static final long CKM_DES_KEY_GEN = 0x00000120L;
449 	public static final long CKM_DES_ECB = 0x00000121L;
450 	public static final long CKM_DES_CBC = 0x00000122L;
451 	public static final long CKM_DES_MAC = 0x00000123L;
452 
453 	/* CKM_DES_MAC_GENERAL and CKM_DES_CBC_PAD are new for v2.0 */
454 	public static final long CKM_DES_MAC_GENERAL = 0x00000124L;
455 	public static final long CKM_DES_CBC_PAD = 0x00000125L;
456 
457 	public static final long CKM_DES2_KEY_GEN = 0x00000130L;
458 	public static final long CKM_DES3_KEY_GEN = 0x00000131L;
459 	public static final long CKM_DES3_ECB = 0x00000132L;
460 	public static final long CKM_DES3_CBC = 0x00000133L;
461 	public static final long CKM_DES3_MAC = 0x00000134L;
462 
463 	/* CKM_DES3_MAC_GENERAL, CKM_DES3_CBC_PAD, CKM_CDMF_KEY_GEN,
464 	 * CKM_CDMF_ECB, CKM_CDMF_CBC, CKM_CDMF_MAC,
465 	 * CKM_CDMF_MAC_GENERAL, and CKM_CDMF_CBC_PAD are new for v2.0 */
466 	public static final long CKM_DES3_MAC_GENERAL = 0x00000135L;
467 	public static final long CKM_DES3_CBC_PAD = 0x00000136L;
468 	public static final long CKM_CDMF_KEY_GEN = 0x00000140L;
469 	public static final long CKM_CDMF_ECB = 0x00000141L;
470 	public static final long CKM_CDMF_CBC = 0x00000142L;
471 	public static final long CKM_CDMF_MAC = 0x00000143L;
472 	public static final long CKM_CDMF_MAC_GENERAL = 0x00000144L;
473 	public static final long CKM_CDMF_CBC_PAD = 0x00000145L;
474 
475 	/* the following four DES mechanisms are new for v2.20 */
476 	public static final long CKM_DES_OFB64 = 0x00000150L;
477 	public static final long CKM_DES_OFB8 = 0x00000151L;
478 	public static final long CKM_DES_CFB64 = 0x00000152L;
479 	public static final long CKM_DES_CFB8 = 0x00000153L;
480 
481 	public static final long CKM_MD2 = 0x00000200L;
482 
483 	/* CKM_MD2_HMAC and CKM_MD2_HMAC_GENERAL are new for v2.0 */
484 	public static final long CKM_MD2_HMAC = 0x00000201L;
485 	public static final long CKM_MD2_HMAC_GENERAL = 0x00000202L;
486 
487 	public static final long CKM_MD5 = 0x00000210L;
488 
489 	/* CKM_MD5_HMAC and CKM_MD5_HMAC_GENERAL are new for v2.0 */
490 	public static final long CKM_MD5_HMAC = 0x00000211L;
491 	public static final long CKM_MD5_HMAC_GENERAL = 0x00000212L;
492 
493 	public static final long CKM_SHA_1 = 0x00000220L;
494 
495 	/* CKM_SHA_1_HMAC and CKM_SHA_1_HMAC_GENERAL are new for v2.0 */
496 	public static final long CKM_SHA_1_HMAC = 0x00000221L;
497 	public static final long CKM_SHA_1_HMAC_GENERAL = 0x00000222L;
498 
499 	/* CKM_RIPEMD128, CKM_RIPEMD128_HMAC,
500 	 * CKM_RIPEMD128_HMAC_GENERAL, CKM_RIPEMD160, CKM_RIPEMD160_HMAC,
501 	 * and CKM_RIPEMD160_HMAC_GENERAL are new for v2.10 */
502 	public static final long CKM_RIPEMD128 = 0x00000230L;
503 	public static final long CKM_RIPEMD128_HMAC = 0x00000231L;
504 	public static final long CKM_RIPEMD128_HMAC_GENERAL = 0x00000232L;
505 	public static final long CKM_RIPEMD160 = 0x00000240L;
506 	public static final long CKM_RIPEMD160_HMAC = 0x00000241L;
507 	public static final long CKM_RIPEMD160_HMAC_GENERAL = 0x00000242L;
508 
509 	/* CKM_SHA256/384/512 are new for v2.20 */
510 	public static final long CKM_SHA256 = 0x00000250L;
511 	public static final long CKM_SHA256_HMAC = 0x00000251L;
512 	public static final long CKM_SHA256_HMAC_GENERAL = 0x00000252L;
513 	public static final long CKM_SHA384 = 0x00000260L;
514 	public static final long CKM_SHA384_HMAC = 0x00000261L;
515 	public static final long CKM_SHA384_HMAC_GENERAL = 0x00000262L;
516 	public static final long CKM_SHA512 = 0x00000270L;
517 	public static final long CKM_SHA512_HMAC = 0x00000271L;
518 	public static final long CKM_SHA512_HMAC_GENERAL = 0x00000272L;
519 
520 	/* All of the following mechanisms are new for v2.0 */
521 	/* Note that CAST128 and CAST5 are the same algorithm */
522 	public static final long CKM_CAST_KEY_GEN = 0x00000300L;
523 	public static final long CKM_CAST_ECB = 0x00000301L;
524 	public static final long CKM_CAST_CBC = 0x00000302L;
525 	public static final long CKM_CAST_MAC = 0x00000303L;
526 	public static final long CKM_CAST_MAC_GENERAL = 0x00000304L;
527 	public static final long CKM_CAST_CBC_PAD = 0x00000305L;
528 	public static final long CKM_CAST3_KEY_GEN = 0x00000310L;
529 	public static final long CKM_CAST3_ECB = 0x00000311L;
530 	public static final long CKM_CAST3_CBC = 0x00000312L;
531 	public static final long CKM_CAST3_MAC = 0x00000313L;
532 	public static final long CKM_CAST3_MAC_GENERAL = 0x00000314L;
533 	public static final long CKM_CAST3_CBC_PAD = 0x00000315L;
534 	public static final long CKM_CAST5_KEY_GEN = 0x00000320L;
535 	public static final long CKM_CAST128_KEY_GEN = 0x00000320L;
536 	public static final long CKM_CAST5_ECB = 0x00000321L;
537 	public static final long CKM_CAST128_ECB = 0x00000321L;
538 	public static final long CKM_CAST5_CBC = 0x00000322L;
539 	public static final long CKM_CAST128_CBC = 0x00000322L;
540 	public static final long CKM_CAST5_MAC = 0x00000323L;
541 	public static final long CKM_CAST128_MAC = 0x00000323L;
542 	public static final long CKM_CAST5_MAC_GENERAL = 0x00000324L;
543 	public static final long CKM_CAST128_MAC_GENERAL = 0x00000324L;
544 	public static final long CKM_CAST5_CBC_PAD = 0x00000325L;
545 	public static final long CKM_CAST128_CBC_PAD = 0x00000325L;
546 	public static final long CKM_RC5_KEY_GEN = 0x00000330L;
547 	public static final long CKM_RC5_ECB = 0x00000331L;
548 	public static final long CKM_RC5_CBC = 0x00000332L;
549 	public static final long CKM_RC5_MAC = 0x00000333L;
550 	public static final long CKM_RC5_MAC_GENERAL = 0x00000334L;
551 	public static final long CKM_RC5_CBC_PAD = 0x00000335L;
552 	public static final long CKM_IDEA_KEY_GEN = 0x00000340L;
553 	public static final long CKM_IDEA_ECB = 0x00000341L;
554 	public static final long CKM_IDEA_CBC = 0x00000342L;
555 	public static final long CKM_IDEA_MAC = 0x00000343L;
556 	public static final long CKM_IDEA_MAC_GENERAL = 0x00000344L;
557 	public static final long CKM_IDEA_CBC_PAD = 0x00000345L;
558 	public static final long CKM_GENERIC_SECRET_KEY_GEN = 0x00000350L;
559 	public static final long CKM_CONCATENATE_BASE_AND_KEY = 0x00000360L;
560 	public static final long CKM_CONCATENATE_BASE_AND_DATA = 0x00000362L;
561 	public static final long CKM_CONCATENATE_DATA_AND_BASE = 0x00000363L;
562 	public static final long CKM_XOR_BASE_AND_DATA = 0x00000364L;
563 	public static final long CKM_EXTRACT_KEY_FROM_KEY = 0x00000365L;
564 	public static final long CKM_SSL3_PRE_MASTER_KEY_GEN = 0x00000370L;
565 	public static final long CKM_SSL3_MASTER_KEY_DERIVE = 0x00000371L;
566 	public static final long CKM_SSL3_KEY_AND_MAC_DERIVE = 0x00000372L;
567 
568 	/* CKM_SSL3_MASTER_KEY_DERIVE_DH, CKM_TLS_PRE_MASTER_KEY_GEN,
569 	 * CKM_TLS_MASTER_KEY_DERIVE, CKM_TLS_KEY_AND_MAC_DERIVE, and
570 	 * CKM_TLS_MASTER_KEY_DERIVE_DH are new for v2.11 */
571 	public static final long CKM_SSL3_MASTER_KEY_DERIVE_DH = 0x00000373L;
572 	public static final long CKM_TLS_PRE_MASTER_KEY_GEN = 0x00000374L;
573 	public static final long CKM_TLS_MASTER_KEY_DERIVE = 0x00000375L;
574 	public static final long CKM_TLS_KEY_AND_MAC_DERIVE = 0x00000376L;
575 	public static final long CKM_TLS_MASTER_KEY_DERIVE_DH = 0x00000377L;
576 
577 	/* CKM_TLS_PRF is new for v2.20 */
578 	public static final long CKM_TLS_PRF = 0x00000378L;
579 
580 	public static final long CKM_SSL3_MD5_MAC = 0x00000380L;
581 	public static final long CKM_SSL3_SHA1_MAC = 0x00000381L;
582 	public static final long CKM_MD5_KEY_DERIVATION = 0x00000390L;
583 	public static final long CKM_MD2_KEY_DERIVATION = 0x00000391L;
584 	public static final long CKM_SHA1_KEY_DERIVATION = 0x00000392L;
585 
586 	/* CKM_SHA256/384/512 are new for v2.20 */
587 	public static final long CKM_SHA256_KEY_DERIVATION = 0x00000393L;
588 	public static final long CKM_SHA384_KEY_DERIVATION = 0x00000394L;
589 	public static final long CKM_SHA512_KEY_DERIVATION = 0x00000395L;
590 
591 	public static final long CKM_PBE_MD2_DES_CBC = 0x000003A0L;
592 	public static final long CKM_PBE_MD5_DES_CBC = 0x000003A1L;
593 	public static final long CKM_PBE_MD5_CAST_CBC = 0x000003A2L;
594 	public static final long CKM_PBE_MD5_CAST3_CBC = 0x000003A3L;
595 	public static final long CKM_PBE_MD5_CAST5_CBC = 0x000003A4L;
596 	public static final long CKM_PBE_MD5_CAST128_CBC = 0x000003A4L;
597 	public static final long CKM_PBE_SHA1_CAST5_CBC = 0x000003A5L;
598 	public static final long CKM_PBE_SHA1_CAST128_CBC = 0x000003A5L;
599 	public static final long CKM_PBE_SHA1_RC4_128 = 0x000003A6L;
600 	public static final long CKM_PBE_SHA1_RC4_40 = 0x000003A7L;
601 	public static final long CKM_PBE_SHA1_DES3_EDE_CBC = 0x000003A8L;
602 	public static final long CKM_PBE_SHA1_DES2_EDE_CBC = 0x000003A9L;
603 	public static final long CKM_PBE_SHA1_RC2_128_CBC = 0x000003AAL;
604 	public static final long CKM_PBE_SHA1_RC2_40_CBC = 0x000003ABL;
605 
606 	/* CKM_PKCS5_PBKD2 is new for v2.10 */
607 	public static final long CKM_PKCS5_PBKD2 = 0x000003B0L;
608 
609 	public static final long CKM_PBA_SHA1_WITH_SHA1_HMAC = 0x000003C0L;
610 
611 	/* WTLS mechanisms are new for v2.20 */
612 	public static final long CKM_WTLS_PRE_MASTER_KEY_GEN = 0x000003D0L;
613 	public static final long CKM_WTLS_MASTER_KEY_DERIVE = 0x000003D1L;
614 	public static final long CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC = 0x000003D2L;
615 	/* typo in v2.20 */
616 	public static final long CKM_WTLS_MASTER_KEY_DERVIE_DH_ECC = 0x000003D2L;
617 	public static final long CKM_WTLS_PRF = 0x000003D3L;
618 	public static final long CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE = 0x000003D4L;
619 	public static final long CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE = 0x000003D5L;
620 
621 	public static final long CKM_KEY_WRAP_LYNKS = 0x00000400L;
622 	public static final long CKM_KEY_WRAP_SET_OAEP = 0x00000401L;
623 
624 	/* CKM_CMS_SIG is new for v2.20 */
625 	public static final long CKM_CMS_SIG = 0x00000500L;
626 
627 	/* Fortezza mechanisms */
628 	public static final long CKM_SKIPJACK_KEY_GEN = 0x00001000L;
629 	public static final long CKM_SKIPJACK_ECB64 = 0x00001001L;
630 	public static final long CKM_SKIPJACK_CBC64 = 0x00001002L;
631 	public static final long CKM_SKIPJACK_OFB64 = 0x00001003L;
632 	public static final long CKM_SKIPJACK_CFB64 = 0x00001004L;
633 	public static final long CKM_SKIPJACK_CFB32 = 0x00001005L;
634 	public static final long CKM_SKIPJACK_CFB16 = 0x00001006L;
635 	public static final long CKM_SKIPJACK_CFB8 = 0x00001007L;
636 	public static final long CKM_SKIPJACK_WRAP = 0x00001008L;
637 	public static final long CKM_SKIPJACK_PRIVATE_WRAP = 0x00001009L;
638 	public static final long CKM_SKIPJACK_RELAYX = 0x0000100AL;
639 	public static final long CKM_KEA_KEY_PAIR_GEN = 0x00001010L;
640 	public static final long CKM_KEA_KEY_DERIVE = 0x00001011L;
641 	public static final long CKM_FORTEZZA_TIMESTAMP = 0x00001020L;
642 	public static final long CKM_BATON_KEY_GEN = 0x00001030L;
643 	public static final long CKM_BATON_ECB128 = 0x00001031L;
644 	public static final long CKM_BATON_ECB96 = 0x00001032L;
645 	public static final long CKM_BATON_CBC128 = 0x00001033L;
646 	public static final long CKM_BATON_COUNTER = 0x00001034L;
647 	public static final long CKM_BATON_SHUFFLE = 0x00001035L;
648 	public static final long CKM_BATON_WRAP = 0x00001036L;
649 
650 	/* CKM_ECDSA_KEY_PAIR_GEN is deprecated in v2.11,
651 	 * CKM_EC_KEY_PAIR_GEN is preferred */
652 	public static final long CKM_ECDSA_KEY_PAIR_GEN = 0x00001040L;
653 	public static final long CKM_EC_KEY_PAIR_GEN = 0x00001040L;
654 
655 	public static final long CKM_ECDSA = 0x00001041L;
656 	public static final long CKM_ECDSA_SHA1 = 0x00001042L;
657 
658 	/* CKM_ECDH1_DERIVE, CKM_ECDH1_COFACTOR_DERIVE, and CKM_ECMQV_DERIVE
659 	 * are new for v2.11 */
660 	public static final long CKM_ECDH1_DERIVE = 0x00001050L;
661 	public static final long CKM_ECDH1_COFACTOR_DERIVE = 0x00001051L;
662 	public static final long CKM_ECMQV_DERIVE = 0x00001052L;
663 
664 	public static final long CKM_JUNIPER_KEY_GEN = 0x00001060L;
665 	public static final long CKM_JUNIPER_ECB128 = 0x00001061L;
666 	public static final long CKM_JUNIPER_CBC128 = 0x00001062L;
667 	public static final long CKM_JUNIPER_COUNTER = 0x00001063L;
668 	public static final long CKM_JUNIPER_SHUFFLE = 0x00001064L;
669 	public static final long CKM_JUNIPER_WRAP = 0x00001065L;
670 	public static final long CKM_FASTHASH = 0x00001070L;
671 
672 	/* CKM_AES_KEY_GEN, CKM_AES_ECB, CKM_AES_CBC, CKM_AES_MAC,
673 	 * CKM_AES_MAC_GENERAL, CKM_AES_CBC_PAD, CKM_DSA_PARAMETER_GEN,
674 	 * CKM_DH_PKCS_PARAMETER_GEN, and CKM_X9_42_DH_PARAMETER_GEN are
675 	 * new for v2.11 */
676 	public static final long CKM_AES_KEY_GEN = 0x00001080L;
677 	public static final long CKM_AES_ECB = 0x00001081L;
678 	public static final long CKM_AES_CBC = 0x00001082L;
679 	public static final long CKM_AES_MAC = 0x00001083L;
680 	public static final long CKM_AES_MAC_GENERAL = 0x00001084L;
681 	public static final long CKM_AES_CBC_PAD = 0x00001085L;
682 
683 	/* BlowFish and TwoFish are new for v2.20 */
684 	public static final long CKM_BLOWFISH_KEY_GEN = 0x00001090L;
685 	public static final long CKM_BLOWFISH_CBC = 0x00001091L;
686 	public static final long CKM_TWOFISH_KEY_GEN = 0x00001092L;
687 	public static final long CKM_TWOFISH_CBC = 0x00001093L;
688 
689 	/* CKM_xxx_ENCRYPT_DATA mechanisms are new for v2.20 */
690 	public static final long CKM_DES_ECB_ENCRYPT_DATA = 0x00001100L;
691 	public static final long CKM_DES_CBC_ENCRYPT_DATA = 0x00001101L;
692 	public static final long CKM_DES3_ECB_ENCRYPT_DATA = 0x00001102L;
693 	public static final long CKM_DES3_CBC_ENCRYPT_DATA = 0x00001103L;
694 	public static final long CKM_AES_ECB_ENCRYPT_DATA = 0x00001104L;
695 	public static final long CKM_AES_CBC_ENCRYPT_DATA = 0x00001105L;
696 
697 	public static final long CKM_DSA_PARAMETER_GEN = 0x00002000L;
698 	public static final long CKM_DH_PKCS_PARAMETER_GEN = 0x00002001L;
699 	public static final long CKM_X9_42_DH_PARAMETER_GEN = 0x00002002L;
700 
701 	public static final long CKM_VENDOR_DEFINED = 0x80000000L;
702 
703 	/* The flags are defined as follows:
704 	 *      Bit Flag               Mask        Meaning */
705 	public static final long CKF_HW = 0x00000001L; /* performed by HW */
706 
707 	/* The flags CKF_ENCRYPT, CKF_DECRYPT, CKF_DIGEST, CKF_SIGN,
708 	 * CKF_SIGN_RECOVER, CKF_VERIFY, CKF_VERIFY_RECOVER,
709 	 * CKF_GENERATE, CKF_GENERATE_KEY_PAIR, CKF_WRAP, CKF_UNWRAP,
710 	 * and CKF_DERIVE are new for v2.0.  They specify whether or not
711 	 * a mechanism can be used for a particular task */
712 	public static final long CKF_ENCRYPT = 0x00000100L;
713 	public static final long CKF_DECRYPT = 0x00000200L;
714 	public static final long CKF_DIGEST = 0x00000400L;
715 	public static final long CKF_SIGN = 0x00000800L;
716 	public static final long CKF_SIGN_RECOVER = 0x00001000L;
717 	public static final long CKF_VERIFY = 0x00002000L;
718 	public static final long CKF_VERIFY_RECOVER = 0x00004000L;
719 	public static final long CKF_GENERATE = 0x00008000L;
720 	public static final long CKF_GENERATE_KEY_PAIR = 0x00010000L;
721 	public static final long CKF_WRAP = 0x00020000L;
722 	public static final long CKF_UNWRAP = 0x00040000L;
723 	public static final long CKF_DERIVE = 0x00080000L;
724 
725 	/* CKF_EC_F_P, CKF_EC_F_2M, CKF_EC_ECPARAMETERS, CKF_EC_NAMEDCURVE,
726 	 * CKF_EC_UNCOMPRESS, and CKF_EC_COMPRESS are new for v2.11. They
727 	 * describe a token's EC capabilities not available in mechanism
728 	 * information. */
729 	public static final long CKF_EC_F_P = 0x00100000L;
730 	public static final long CKF_EC_F_2M = 0x00200000L;
731 	public static final long CKF_EC_ECPARAMETERS = 0x00400000L;
732 	public static final long CKF_EC_NAMEDCURVE = 0x00800000L;
733 	public static final long CKF_EC_UNCOMPRESS = 0x01000000L;
734 	public static final long CKF_EC_COMPRESS = 0x02000000L;
735 
736 	public static final long CKF_EXTENSION = 0x80000000L; /* FALSE for 2.01 */
737 
738 	/* CK_RV is a value that identifies the return value of a
739 	 * Cryptoki function */
740 	/* CK_RV was changed from CK_USHORT to CK_ULONG for v2.0 */
741 	public static final long CKR_OK = 0x00000000L;
742 	public static final long CKR_CANCEL = 0x00000001L;
743 	public static final long CKR_HOST_MEMORY = 0x00000002L;
744 	public static final long CKR_SLOT_ID_INVALID = 0x00000003L;
745 
746 	/* CKR_FLAGS_INVALID was removed for v2.0 */
747 
748 	/* CKR_GENERAL_ERROR and CKR_FUNCTION_FAILED are new for v2.0 */
749 	public static final long CKR_GENERAL_ERROR = 0x00000005L;
750 	public static final long CKR_FUNCTION_FAILED = 0x00000006L;
751 
752 	/* CKR_ARGUMENTS_BAD, CKR_NO_EVENT, CKR_NEED_TO_CREATE_THREADS,
753 	 * and CKR_CANT_LOCK are new for v2.01 */
754 	public static final long CKR_ARGUMENTS_BAD = 0x00000007L;
755 	public static final long CKR_NO_EVENT = 0x00000008L;
756 	public static final long CKR_NEED_TO_CREATE_THREADS = 0x00000009L;
757 	public static final long CKR_CANT_LOCK = 0x0000000AL;
758 
759 	public static final long CKR_ATTRIBUTE_READ_ONLY = 0x00000010L;
760 	public static final long CKR_ATTRIBUTE_SENSITIVE = 0x00000011L;
761 	public static final long CKR_ATTRIBUTE_TYPE_INVALID = 0x00000012L;
762 	public static final long CKR_ATTRIBUTE_VALUE_INVALID = 0x00000013L;
763 	public static final long CKR_DATA_INVALID = 0x00000020L;
764 	public static final long CKR_DATA_LEN_RANGE = 0x00000021L;
765 	public static final long CKR_DEVICE_ERROR = 0x00000030L;
766 	public static final long CKR_DEVICE_MEMORY = 0x00000031L;
767 	public static final long CKR_DEVICE_REMOVED = 0x00000032L;
768 	public static final long CKR_ENCRYPTED_DATA_INVALID = 0x00000040L;
769 	public static final long CKR_ENCRYPTED_DATA_LEN_RANGE = 0x00000041L;
770 	public static final long CKR_FUNCTION_CANCELED = 0x00000050L;
771 	public static final long CKR_FUNCTION_NOT_PARALLEL = 0x00000051L;
772 
773 	/* CKR_FUNCTION_NOT_SUPPORTED is new for v2.0 */
774 	public static final long CKR_FUNCTION_NOT_SUPPORTED = 0x00000054L;
775 
776 	public static final long CKR_KEY_HANDLE_INVALID = 0x00000060L;
777 
778 	/* CKR_KEY_SENSITIVE was removed for v2.0 */
779 
780 	public static final long CKR_KEY_SIZE_RANGE = 0x00000062L;
781 	public static final long CKR_KEY_TYPE_INCONSISTENT = 0x00000063L;
782 
783 	/* CKR_KEY_NOT_NEEDED, CKR_KEY_CHANGED, CKR_KEY_NEEDED,
784 	 * CKR_KEY_INDIGESTIBLE, CKR_KEY_FUNCTION_NOT_PERMITTED,
785 	 * CKR_KEY_NOT_WRAPPABLE, and CKR_KEY_UNEXTRACTABLE are new for
786 	 * v2.0 */
787 	public static final long CKR_KEY_NOT_NEEDED = 0x00000064L;
788 	public static final long CKR_KEY_CHANGED = 0x00000065L;
789 	public static final long CKR_KEY_NEEDED = 0x00000066L;
790 	public static final long CKR_KEY_INDIGESTIBLE = 0x00000067L;
791 	public static final long CKR_KEY_FUNCTION_NOT_PERMITTED = 0x00000068L;
792 	public static final long CKR_KEY_NOT_WRAPPABLE = 0x00000069L;
793 	public static final long CKR_KEY_UNEXTRACTABLE = 0x0000006AL;
794 
795 	public static final long CKR_MECHANISM_INVALID = 0x00000070L;
796 	public static final long CKR_MECHANISM_PARAM_INVALID = 0x00000071L;
797 
798 	/* CKR_OBJECT_CLASS_INCONSISTENT and CKR_OBJECT_CLASS_INVALID
799 	 * were removed for v2.0 */
800 	public static final long CKR_OBJECT_HANDLE_INVALID = 0x00000082L;
801 	public static final long CKR_OPERATION_ACTIVE = 0x00000090L;
802 	public static final long CKR_OPERATION_NOT_INITIALIZED = 0x00000091L;
803 	public static final long CKR_PIN_INCORRECT = 0x000000A0L;
804 	public static final long CKR_PIN_INVALID = 0x000000A1L;
805 	public static final long CKR_PIN_LEN_RANGE = 0x000000A2L;
806 
807 	/* CKR_PIN_EXPIRED and CKR_PIN_LOCKED are new for v2.0 */
808 	public static final long CKR_PIN_EXPIRED = 0x000000A3L;
809 	public static final long CKR_PIN_LOCKED = 0x000000A4L;
810 
811 	public static final long CKR_SESSION_CLOSED = 0x000000B0L;
812 	public static final long CKR_SESSION_COUNT = 0x000000B1L;
813 	public static final long CKR_SESSION_HANDLE_INVALID = 0x000000B3L;
814 	public static final long CKR_SESSION_PARALLEL_NOT_SUPPORTED = 0x000000B4L;
815 	public static final long CKR_SESSION_READ_ONLY = 0x000000B5L;
816 	public static final long CKR_SESSION_EXISTS = 0x000000B6L;
817 
818 	/* CKR_SESSION_READ_ONLY_EXISTS and
819 	 * CKR_SESSION_READ_WRITE_SO_EXISTS are new for v2.0 */
820 	public static final long CKR_SESSION_READ_ONLY_EXISTS = 0x000000B7L;
821 	public static final long CKR_SESSION_READ_WRITE_SO_EXISTS = 0x000000B8L;
822 
823 	public static final long CKR_SIGNATURE_INVALID = 0x000000C0L;
824 	public static final long CKR_SIGNATURE_LEN_RANGE = 0x000000C1L;
825 	public static final long CKR_TEMPLATE_INCOMPLETE = 0x000000D0L;
826 	public static final long CKR_TEMPLATE_INCONSISTENT = 0x000000D1L;
827 	public static final long CKR_TOKEN_NOT_PRESENT = 0x000000E0L;
828 	public static final long CKR_TOKEN_NOT_RECOGNIZED = 0x000000E1L;
829 	public static final long CKR_TOKEN_WRITE_PROTECTED = 0x000000E2L;
830 	public static final long CKR_UNWRAPPING_KEY_HANDLE_INVALID = 0x000000F0L;
831 	public static final long CKR_UNWRAPPING_KEY_SIZE_RANGE = 0x000000F1L;
832 	public static final long CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT = 0x000000F2L;
833 	public static final long CKR_USER_ALREADY_LOGGED_IN = 0x00000100L;
834 	public static final long CKR_USER_NOT_LOGGED_IN = 0x00000101L;
835 	public static final long CKR_USER_PIN_NOT_INITIALIZED = 0x00000102L;
836 	public static final long CKR_USER_TYPE_INVALID = 0x00000103L;
837 
838 	/* CKR_USER_ANOTHER_ALREADY_LOGGED_IN and CKR_USER_TOO_MANY_TYPES
839 	 * are new to v2.01 */
840 	public static final long CKR_USER_ANOTHER_ALREADY_LOGGED_IN = 0x00000104L;
841 	public static final long CKR_USER_TOO_MANY_TYPES = 0x00000105L;
842 
843 	public static final long CKR_WRAPPED_KEY_INVALID = 0x00000110L;
844 	public static final long CKR_WRAPPED_KEY_LEN_RANGE = 0x00000112L;
845 	public static final long CKR_WRAPPING_KEY_HANDLE_INVALID = 0x00000113L;
846 	public static final long CKR_WRAPPING_KEY_SIZE_RANGE = 0x00000114L;
847 	public static final long CKR_WRAPPING_KEY_TYPE_INCONSISTENT = 0x00000115L;
848 	public static final long CKR_RANDOM_SEED_NOT_SUPPORTED = 0x00000120L;
849 
850 	/* These are new to v2.0 */
851 	public static final long CKR_RANDOM_NO_RNG = 0x00000121L;
852 
853 	/* These are new to v2.11 */
854 	public static final long CKR_DOMAIN_PARAMS_INVALID = 0x00000130L;
855 
856 	/* These are new to v2.0 */
857 	public static final long CKR_BUFFER_TOO_SMALL = 0x00000150L;
858 	public static final long CKR_SAVED_STATE_INVALID = 0x00000160L;
859 	public static final long CKR_INFORMATION_SENSITIVE = 0x00000170L;
860 	public static final long CKR_STATE_UNSAVEABLE = 0x00000180L;
861 
862 	/* These are new to v2.01 */
863 	public static final long CKR_CRYPTOKI_NOT_INITIALIZED = 0x00000190L;
864 	public static final long CKR_CRYPTOKI_ALREADY_INITIALIZED = 0x00000191L;
865 	public static final long CKR_MUTEX_BAD = 0x000001A0L;
866 	public static final long CKR_MUTEX_NOT_LOCKED = 0x000001A1L;
867 
868 	/* This is new to v2.20 */
869 	public static final long CKR_FUNCTION_REJECTED = 0x00000200L;
870 
871 	public static final long CKR_VENDOR_DEFINED = 0x80000000L;
872 
873 	/* flags: bit flags that provide capabilities of the slot
874 	 *        Bit Flag = Mask
875 	 */
876 	public static final long CKF_LIBRARY_CANT_CREATE_OS_THREADS = 0x00000001L;
877 	public static final long CKF_OS_LOCKING_OK = 0x00000002L;
878 
879 	/* CKF_DONT_BLOCK is for the function C_WaitForSlotEvent */
880 	public static final long CKF_DONT_BLOCK = 1L;
881 
882 	/* The following MGFs are defined */
883 	public static final long CKG_MGF1_SHA1 = 0x00000001L;
884 	/* SHA256, SHA384 and SHA512 are new for v2.20 */
885 	public static final long CKG_MGF1_SHA256 = 0x00000002L;
886 	public static final long CKG_MGF1_SHA384 = 0x00000003L;
887 	public static final long CKG_MGF1_SHA512 = 0x00000004L;
888 
889 	/* The following encoding parameter sources are defined */
890 	public static final long CKZ_DATA_SPECIFIED = 0x00000001L;
891 
892 	/* The following PRFs are defined in PKCS #5 v2.0. */
893 	public static final long CKP_PKCS5_PBKD2_HMAC_SHA1 = 0x00000001L;
894 
895 	/* The following salt value sources are defined in PKCS #5 v2.0. */
896 	public static final long CKZ_SALT_SPECIFIED = 0x00000001L;
897 
898 	/* the following EC Key Derivation Functions are defined */
899 	public static final long CKD_NULL = 0x00000001L;
900 	public static final long CKD_SHA1_KDF = 0x00000002L;
901 
902 	/* the following X9.42 Diffie-Hellman Key Derivation Functions are defined */
903 	public static final long CKD_SHA1_KDF_ASN1 = 0x00000003L;
904 	public static final long CKD_SHA1_KDF_CONCATENATE = 0x00000004L;
905 
906 	/* The string constants for the mechanism names */
907 	public static final String NAME_CKM_RSA_PKCS_KEY_PAIR_GEN = "CKM_RSA_PKCS_KEY_PAIR_GEN";
908 	public static final String NAME_CKM_RSA_PKCS = "CKM_RSA_PKCS";
909 	public static final String NAME_CKM_RSA_9796 = "CKM_RSA_9796";
910 	public static final String NAME_CKM_RSA_X_509 = "CKM_RSA_X_509";
911 	public static final String NAME_CKM_MD2_RSA_PKCS = "CKM_MD2_RSA_PKCS";
912 	public static final String NAME_CKM_MD5_RSA_PKCS = "CKM_MD5_RSA_PKCS";
913 	public static final String NAME_CKM_SHA1_RSA_PKCS = "CKM_SHA1_RSA_PKCS";
914 	public static final String NAME_CKM_RIPEMD128_RSA_PKCS = "CKM_RIPEMD128_RSA_PKCS";
915 	public static final String NAME_CKM_RIPEMD160_RSA_PKCS = "CKM_RIPEMD160_RSA_PKCS";
916 	public static final String NAME_CKM_SHA256_RSA_PKCS = "CKM_SHA256_RSA_PKCS";
917 	public static final String NAME_CKM_SHA384_RSA_PKCS = "CKM_SHA384_RSA_PKCS";
918 	public static final String NAME_CKM_SHA512_RSA_PKCS = "CKM_SHA512_RSA_PKCS";
919 	public static final String NAME_CKM_RSA_PKCS_OAEP = "CKM_RSA_PKCS_OAEP";
920 	public static final String NAME_CKM_RSA_X9_31_KEY_PAIR_GEN = "CKM_RSA_X9_31_KEY_PAIR_GEN";
921 	public static final String NAME_CKM_RSA_X9_31 = "CKM_RSA_X9_31";
922 	public static final String NAME_CKM_SHA1_RSA_X9_31 = "CKM_SHA1_RSA_X9_31";
923 	public static final String NAME_CKM_RSA_PKCS_PSS = "CKM_RSA_PKCS_PSS";
924 	public static final String NAME_CKM_SHA1_RSA_PKCS_PSS = "CKM_SHA1_RSA_PKCS_PSS";
925 	public static final String NAME_CKM_SHA256_RSA_PKCS_PSS = "CKM_SHA256_RSA_PKCS_PSS";
926 	public static final String NAME_CKM_SHA384_RSA_PKCS_PSS = "CKM_SHA384_RSA_PKCS_PSS";
927 	public static final String NAME_CKM_SHA512_RSA_PKCS_PSS = "CKM_SHA512_RSA_PKCS_PSS";
928 	public static final String NAME_CKM_DSA_KEY_PAIR_GEN = "CKM_DSA_KEY_PAIR_GEN";
929 	public static final String NAME_CKM_DSA = "CKM_DSA";
930 	public static final String NAME_CKM_DSA_SHA1 = "CKM_DSA_SHA1";
931 	public static final String NAME_CKM_DH_PKCS_KEY_PAIR_GEN = "CKM_DH_PKCS_KEY_PAIR_GEN";
932 	public static final String NAME_CKM_DH_PKCS_DERIVE = "CKM_DH_PKCS_DERIVE";
933 	public static final String NAME_CKM_X9_42_DH_KEY_PAIR_GEN = "CKM_X9_42_DH_KEY_PAIR_GEN";
934 	public static final String NAME_CKM_X9_42_DH_DERIVE = "CKM_X9_42_DH_DERIVE";
935 	public static final String NAME_CKM_X9_42_DH_HYBRID_DERIVE = "CKM_X9_42_DH_HYBRID_DERIVE";
936 	public static final String NAME_CKM_X9_42_MQV_DERIVE = "CKM_X9_42_MQV_DERIVE";
937 	public static final String NAME_CKM_RC2_KEY_GEN = "CKM_RC2_KEY_GEN";
938 	public static final String NAME_CKM_RC2_ECB = "CKM_RC2_ECB";
939 	public static final String NAME_CKM_RC2_CBC = "CKM_RC2_CBC";
940 	public static final String NAME_CKM_RC2_MAC = "CKM_RC2_MAC";
941 	public static final String NAME_CKM_RC2_MAC_GENERAL = "CKM_RC2_MAC_GENERAL";
942 	public static final String NAME_CKM_RC2_CBC_PAD = "CKM_RC2_CBC_PAD";
943 	public static final String NAME_CKM_RC4_KEY_GEN = "CKM_RC4_KEY_GEN";
944 	public static final String NAME_CKM_RC4 = "CKM_RC4";
945 	public static final String NAME_CKM_DES_KEY_GEN = "CKM_DES_KEY_GEN";
946 	public static final String NAME_CKM_DES_ECB = "CKM_DES_ECB";
947 	public static final String NAME_CKM_DES_CBC = "CKM_DES_CBC";
948 	public static final String NAME_CKM_DES_MAC = "CKM_DES_MAC";
949 	public static final String NAME_CKM_DES_MAC_GENERAL = "CKM_DES_MAC_GENERAL";
950 	public static final String NAME_CKM_DES_CBC_PAD = "CKM_DES_CBC_PAD";
951 	public static final String NAME_CKM_DES_OFB64 = "CKM_DES_OFB64";
952 	public static final String NAME_CKM_DES_OFB8 = "CKM_DES_OFB8";
953 	public static final String NAME_CKM_DES_CFB64 = "CKM_DES_CFB64";
954 	public static final String NAME_CKM_DES_CFB8 = "CKM_DES_CFB8";
955 	public static final String NAME_CKM_DES2_KEY_GEN = "CKM_DES2_KEY_GEN";
956 	public static final String NAME_CKM_DES3_KEY_GEN = "CKM_DES3_KEY_GEN";
957 	public static final String NAME_CKM_DES3_ECB = "CKM_DES3_ECB";
958 	public static final String NAME_CKM_DES3_CBC = "CKM_DES3_CBC";
959 	public static final String NAME_CKM_DES3_MAC = "CKM_DES3_MAC";
960 	public static final String NAME_CKM_DES3_MAC_GENERAL = "CKM_DES3_MAC_GENERAL";
961 	public static final String NAME_CKM_DES3_CBC_PAD = "CKM_DES3_CBC_PAD";
962 	public static final String NAME_CKM_CDMF_KEY_GEN = "CKM_CDMF_KEY_GEN";
963 	public static final String NAME_CKM_CDMF_ECB = "CKM_CDMF_ECB";
964 	public static final String NAME_CKM_CDMF_CBC = "CKM_CDMF_CBC";
965 	public static final String NAME_CKM_CDMF_MAC = "CKM_CDMF_MAC";
966 	public static final String NAME_CKM_CDMF_MAC_GENERAL = "CKM_CDMF_MAC_GENERAL";
967 	public static final String NAME_CKM_CDMF_CBC_PAD = "CKM_CDMF_CBC_PAD";
968 	public static final String NAME_CKM_MD2 = "CKM_MD2";
969 	public static final String NAME_CKM_MD2_HMAC = "CKM_MD2_HMAC";
970 	public static final String NAME_CKM_MD2_HMAC_GENERAL = "CKM_MD2_HMAC_GENERAL";
971 	public static final String NAME_CKM_MD5 = "CKM_MD5";
972 	public static final String NAME_CKM_MD5_HMAC = "CKM_MD5_HMAC";
973 	public static final String NAME_CKM_MD5_HMAC_GENERAL = "CKM_MD5_HMAC_GENERAL";
974 	public static final String NAME_CKM_SHA_1 = "CKM_SHA_1";
975 	public static final String NAME_CKM_SHA_1_HMAC = "CKM_SHA_1_HMAC";
976 	public static final String NAME_CKM_SHA_1_HMAC_GENERAL = "CKM_SHA_1_HMAC_GENERAL";
977 	public static final String NAME_CKM_RIPEMD128 = "CKM_RIPEMD128";
978 	public static final String NAME_CKM_RIPEMD128_HMAC = "CKM_RIPEMD128_HMAC";
979 	public static final String NAME_CKM_RIPEMD128_HMAC_GENERAL = "CKM_RIPEMD128_HMAC_GENERAL";
980 	public static final String NAME_CKM_RIPEMD160 = "CKM_RIPEMD160";
981 	public static final String NAME_CKM_RIPEMD160_HMAC = "CKM_RIPEMD160_HMAC";
982 	public static final String NAME_CKM_RIPEMD160_HMAC_GENERAL = "CKM_RIPEMD160_HMAC_GENERAL";
983 	public static final String NAME_CKM_SHA256 = "CKM_SHA256";
984 	public static final String NAME_CKM_SHA256_HMAC = "CKM_SHA256_HMAC";
985 	public static final String NAME_CKM_SHA256_HMAC_GENERAL = "CKM_SHA256_HMAC_GENERAL";
986 	public static final String NAME_CKM_SHA384 = "CKM_SHA384";
987 	public static final String NAME_CKM_SHA384_HMAC = "CKM_SHA384_HMAC";
988 	public static final String NAME_CKM_SHA384_HMAC_GENERAL = "CKM_SHA384_HMAC_GENERAL";
989 	public static final String NAME_CKM_SHA512 = "CKM_SHA512";
990 	public static final String NAME_CKM_SHA512_HMAC = "CKM_SHA512_HMAC";
991 	public static final String NAME_CKM_SHA512_HMAC_GENERAL = "CKM_SHA512_HMAC_GENERAL";
992 	public static final String NAME_CKM_CAST_KEY_GEN = "CKM_CAST_KEY_GEN";
993 	public static final String NAME_CKM_CAST_ECB = "CKM_CAST_ECB";
994 	public static final String NAME_CKM_CAST_CBC = "CKM_CAST_CBC";
995 	public static final String NAME_CKM_CAST_MAC = "CKM_CAST_MAC";
996 	public static final String NAME_CKM_CAST_MAC_GENERAL = "CKM_CAST_MAC_GENERAL";
997 	public static final String NAME_CKM_CAST_CBC_PAD = "CKM_CAST_CBC_PAD";
998 	public static final String NAME_CKM_CAST3_KEY_GEN = "CKM_CAST3_KEY_GEN";
999 	public static final String NAME_CKM_CAST3_ECB = "CKM_CAST3_ECB";
1000 	public static final String NAME_CKM_CAST3_CBC = "CKM_CAST3_CBC";
1001 	public static final String NAME_CKM_CAST3_MAC = "CKM_CAST3_MAC";
1002 	public static final String NAME_CKM_CAST3_MAC_GENERAL = "CKM_CAST3_MAC_GENERAL";
1003 	public static final String NAME_CKM_CAST3_CBC_PAD = "CKM_CAST3_CBC_PAD";
1004 	public static final String NAME_CKM_CAST5_KEY_GEN = "CKM_CAST5_KEY_GEN";
1005 	public static final String NAME_CKM_CAST128_KEY_GEN = "CKM_CAST128_KEY_GEN";
1006 	public static final String NAME_CKM_CAST5_ECB = "CKM_CAST5_ECB";
1007 	public static final String NAME_CKM_CAST128_ECB = "CKM_CAST128_ECB";
1008 	public static final String NAME_CKM_CAST5_CBC = "CKM_CAST5_CBC";
1009 	public static final String NAME_CKM_CAST128_CBC = "CKM_CAST128_CBC";
1010 	public static final String NAME_CKM_CAST5_MAC = "CKM_CAST5_MAC";
1011 	public static final String NAME_CKM_CAST128_MAC = "CKM_CAST128_MAC";
1012 	public static final String NAME_CKM_CAST5_MAC_GENERAL = "CKM_CAST5_MAC_GENERAL";
1013 	public static final String NAME_CKM_CAST128_MAC_GENERAL = "CKM_CAST128_MAC_GENERAL";
1014 	public static final String NAME_CKM_CAST5_CBC_PAD = "CKM_CAST5_CBC_PAD";
1015 	public static final String NAME_CKM_CAST128_CBC_PAD = "CKM_CAST128_CBC_PAD";
1016 	public static final String NAME_CKM_RC5_KEY_GEN = "CKM_RC5_KEY_GEN";
1017 	public static final String NAME_CKM_RC5_ECB = "CKM_RC5_ECB";
1018 	public static final String NAME_CKM_RC5_CBC = "CKM_RC5_CBC";
1019 	public static final String NAME_CKM_RC5_MAC = "CKM_RC5_MAC";
1020 	public static final String NAME_CKM_RC5_MAC_GENERAL = "CKM_RC5_MAC_GENERAL";
1021 	public static final String NAME_CKM_RC5_CBC_PAD = "CKM_RC5_CBC_PAD";
1022 	public static final String NAME_CKM_IDEA_KEY_GEN = "CKM_IDEA_KEY_GEN";
1023 	public static final String NAME_CKM_IDEA_ECB = "CKM_IDEA_ECB";
1024 	public static final String NAME_CKM_IDEA_CBC = "CKM_IDEA_CBC";
1025 	public static final String NAME_CKM_IDEA_MAC = "CKM_IDEA_MAC";
1026 	public static final String NAME_CKM_IDEA_MAC_GENERAL = "CKM_IDEA_MAC_GENERAL";
1027 	public static final String NAME_CKM_IDEA_CBC_PAD = "CKM_IDEA_CBC_PAD";
1028 	public static final String NAME_CKM_GENERIC_SECRET_KEY_GEN = "CKM_GENERIC_SECRET_KEY_GEN";
1029 	public static final String NAME_CKM_CONCATENATE_BASE_AND_KEY = "CKM_CONCATENATE_BASE_AND_KEY";
1030 	public static final String NAME_CKM_CONCATENATE_BASE_AND_DATA = "CKM_CONCATENATE_BASE_AND_DATA";
1031 	public static final String NAME_CKM_CONCATENATE_DATA_AND_BASE = "CKM_CONCATENATE_DATA_AND_BASE";
1032 	public static final String NAME_CKM_XOR_BASE_AND_DATA = "CKM_XOR_BASE_AND_DATA";
1033 	public static final String NAME_CKM_EXTRACT_KEY_FROM_KEY = "CKM_EXTRACT_KEY_FROM_KEY";
1034 	public static final String NAME_CKM_SSL3_PRE_MASTER_KEY_GEN = "CKM_SSL3_PRE_MASTER_KEY_GEN";
1035 	public static final String NAME_CKM_SSL3_MASTER_KEY_DERIVE = "CKM_SSL3_MASTER_KEY_DERIVE";
1036 	public static final String NAME_CKM_SSL3_KEY_AND_MAC_DERIVE = "CKM_SSL3_KEY_AND_MAC_DERIVE";
1037 	public static final String NAME_CKM_SSL3_MASTER_KEY_DERIVE_DH = "CKM_SSL3_MASTER_KEY_DERIVE_DH";
1038 	public static final String NAME_CKM_TLS_PRE_MASTER_KEY_GEN = "CKM_TLS_PRE_MASTER_KEY_GEN";
1039 	public static final String NAME_CKM_TLS_MASTER_KEY_DERIVE = "CKM_TLS_MASTER_KEY_DERIVE";
1040 	public static final String NAME_CKM_TLS_KEY_AND_MAC_DERIVE = "CKM_TLS_KEY_AND_MAC_DERIVE";
1041 	public static final String NAME_CKM_TLS_MASTER_KEY_DERIVE_DH = "CKM_TLS_MASTER_KEY_DERIVE_DH";
1042 
1043 	public static final String NAME_CKM_TLS_PRF = "CKM_TLS_PRF";
1044 
1045 	public static final String NAME_CKM_SSL3_MD5_MAC = "CKM_SSL3_MD5_MAC";
1046 	public static final String NAME_CKM_SSL3_SHA1_MAC = "CKM_SSL3_SHA1_MAC";
1047 	public static final String NAME_CKM_MD5_KEY_DERIVATION = "CKM_MD5_KEY_DERIVATION";
1048 	public static final String NAME_CKM_MD2_KEY_DERIVATION = "CKM_MD2_KEY_DERIVATION";
1049 	public static final String NAME_CKM_SHA1_KEY_DERIVATION = "CKM_SHA1_KEY_DERIVATION";
1050 	public static final String NAME_CKM_SHA256_KEY_DERIVATION = "CKM_SHA256_KEY_DERIVATION";
1051 	public static final String NAME_CKM_SHA384_KEY_DERIVATION = "CKM_SHA384_KEY_DERIVATION";
1052 	public static final String NAME_CKM_SHA512_KEY_DERIVATION = "CKM_SHA512_KEY_DERIVATION";
1053 	public static final String NAME_CKM_PBE_MD2_DES_CBC = "CKM_PBE_MD2_DES_CBC";
1054 	public static final String NAME_CKM_PBE_MD5_DES_CBC = "CKM_PBE_MD5_DES_CBC";
1055 	public static final String NAME_CKM_PBE_MD5_CAST_CBC = "CKM_PBE_MD5_CAST_CBC";
1056 	public static final String NAME_CKM_PBE_MD5_CAST3_CBC = "CKM_PBE_MD5_CAST3_CBC";
1057 	public static final String NAME_CKM_PBE_MD5_CAST5_CBC = "CKM_PBE_MD5_CAST5_CBC";
1058 	public static final String NAME_CKM_PBE_MD5_CAST128_CBC = "CKM_PBE_MD5_CAST128_CBC";
1059 	public static final String NAME_CKM_PBE_SHA1_CAST5_CBC = "CKM_PBE_SHA1_CAST5_CBC";
1060 	public static final String NAME_CKM_PBE_SHA1_CAST128_CBC = "CKM_PBE_SHA1_CAST128_CBC";
1061 	public static final String NAME_CKM_PBE_SHA1_RC4_128 = "CKM_PBE_SHA1_RC4_128";
1062 	public static final String NAME_CKM_PBE_SHA1_RC4_40 = "CKM_PBE_SHA1_RC4_40";
1063 	public static final String NAME_CKM_PBE_SHA1_DES3_EDE_CBC = "CKM_PBE_SHA1_DES3_EDE_CBC";
1064 	public static final String NAME_CKM_PBE_SHA1_DES2_EDE_CBC = "CKM_PBE_SHA1_DES2_EDE_CBC";
1065 	public static final String NAME_CKM_PBE_SHA1_RC2_128_CBC = "CKM_PBE_SHA1_RC2_128_CBC";
1066 	public static final String NAME_CKM_PBE_SHA1_RC2_40_CBC = "CKM_PBE_SHA1_RC2_40_CBC";
1067 	public static final String NAME_CKM_PKCS5_PBKD2 = "CKM_PKCS5_PBKD2";
1068 	public static final String NAME_CKM_PBA_SHA1_WITH_SHA1_HMAC = "CKM_PBA_SHA1_WITH_SHA1_HMAC";
1069 
1070 	public static final String NAME_CKM_WTLS_PRE_MASTER_KEY_GEN = "CKM_WTLS_PRE_MASTER_KEY_GEN";
1071 	public static final String NAME_CKM_WTLS_MASTER_KEY_DERIVE = "CKM_WTLS_MASTER_KEY_DERIVE";
1072 	public static final String NAME_CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC = "CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC";
1073 	public static final String NAME_CKM_WTLS_PRF = "CKM_WTLS_PRF";
1074 	public static final String NAME_CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE = "CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE";
1075 	public static final String NAME_CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE = "CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE";
1076 
1077 	public static final String NAME_CKM_KEY_WRAP_LYNKS = "CKM_KEY_WRAP_LYNKS";
1078 	public static final String NAME_CKM_KEY_WRAP_SET_OAEP = "CKM_KEY_WRAP_SET_OAEP";
1079 
1080 	public static final String NAME_CKM_CMS_SIG = "CKM_CMS_SIG";
1081 
1082 	public static final String NAME_CKM_SKIPJACK_KEY_GEN = "CKM_SKIPJACK_KEY_GEN";
1083 	public static final String NAME_CKM_SKIPJACK_ECB64 = "CKM_SKIPJACK_ECB64";
1084 	public static final String NAME_CKM_SKIPJACK_CBC64 = "CKM_SKIPJACK_CBC64";
1085 	public static final String NAME_CKM_SKIPJACK_OFB64 = "CKM_SKIPJACK_OFB64";
1086 	public static final String NAME_CKM_SKIPJACK_CFB64 = "CKM_SKIPJACK_CFB64";
1087 	public static final String NAME_CKM_SKIPJACK_CFB32 = "CKM_SKIPJACK_CFB32";
1088 	public static final String NAME_CKM_SKIPJACK_CFB16 = "CKM_SKIPJACK_CFB16";
1089 	public static final String NAME_CKM_SKIPJACK_CFB8 = "CKM_SKIPJACK_CFB8";
1090 	public static final String NAME_CKM_SKIPJACK_WRAP = "CKM_SKIPJACK_WRAP";
1091 	public static final String NAME_CKM_SKIPJACK_PRIVATE_WRAP = "CKM_SKIPJACK_PRIVATE_WRAP";
1092 	public static final String NAME_CKM_SKIPJACK_RELAYX = "CKM_SKIPJACK_RELAYX";
1093 	public static final String NAME_CKM_KEA_KEY_PAIR_GEN = "CKM_KEA_KEY_PAIR_GEN";
1094 	public static final String NAME_CKM_KEA_KEY_DERIVE = "CKM_KEA_KEY_DERIVE";
1095 	public static final String NAME_CKM_FORTEZZA_TIMESTAMP = "CKM_FORTEZZA_TIMESTAMP";
1096 	public static final String NAME_CKM_BATON_KEY_GEN = "CKM_BATON_KEY_GEN";
1097 	public static final String NAME_CKM_BATON_ECB128 = "CKM_BATON_ECB128";
1098 	public static final String NAME_CKM_BATON_ECB96 = "CKM_BATON_ECB96";
1099 	public static final String NAME_CKM_BATON_CBC128 = "CKM_BATON_CBC128";
1100 	public static final String NAME_CKM_BATON_COUNTER = "CKM_BATON_COUNTER";
1101 	public static final String NAME_CKM_BATON_SHUFFLE = "CKM_BATON_SHUFFLE";
1102 	public static final String NAME_CKM_BATON_WRAP = "CKM_BATON_WRAP";
1103 	public static final String NAME_CKM_ECDSA_KEY_PAIR_GEN = "CKM_ECDSA_KEY_PAIR_GEN";
1104 	public static final String NAME_CKM_EC_KEY_PAIR_GEN = "CKM_EC_KEY_PAIR_GEN";
1105 	public static final String NAME_CKM_ECDSA = "CKM_ECDSA";
1106 	public static final String NAME_CKM_ECDSA_SHA1 = "CKM_ECDSA_SHA1";
1107 	public static final String NAME_CKM_ECDH1_DERIVE = "CKM_ECDH1_DERIVE";
1108 	public static final String NAME_CKM_ECDH1_COFACTOR_DERIVE = "CKM_ECDH1_COFACTOR_DERIVE";
1109 	public static final String NAME_CKM_ECMQV_DERIVE = "CKM_ECMQV_DERIVE";
1110 	public static final String NAME_CKM_JUNIPER_KEY_GEN = "CKM_JUNIPER_KEY_GEN";
1111 	public static final String NAME_CKM_JUNIPER_ECB128 = "CKM_JUNIPER_ECB128";
1112 	public static final String NAME_CKM_JUNIPER_CBC128 = "CKM_JUNIPER_CBC128";
1113 	public static final String NAME_CKM_JUNIPER_COUNTER = "CKM_JUNIPER_COUNTER";
1114 	public static final String NAME_CKM_JUNIPER_SHUFFLE = "CKM_JUNIPER_SHUFFLE";
1115 	public static final String NAME_CKM_JUNIPER_WRAP = "CKM_JUNIPER_WRAP";
1116 	public static final String NAME_CKM_FASTHASH = "CKM_FASTHASH";
1117 	public static final String NAME_CKM_AES_KEY_GEN = "CKM_AES_KEY_GEN";
1118 	public static final String NAME_CKM_AES_ECB = "CKM_AES_ECB";
1119 	public static final String NAME_CKM_AES_CBC = "CKM_AES_CBC";
1120 	public static final String NAME_CKM_AES_MAC = "CKM_AES_MAC";
1121 	public static final String NAME_CKM_AES_MAC_GENERAL = "CKM_AES_MAC_GENERAL";
1122 	public static final String NAME_CKM_AES_CBC_PAD = "CKM_AES_CBC_PAD";
1123 
1124 	public static final String NAME_CKM_BLOWFISH_KEY_GEN = "CKM_BLOWFISH_KEY_GEN";
1125 	public static final String NAME_CKM_BLOWFISH_CBC = "CKM_BLOWFISH_CBC";
1126 
1127 	public static final String NAME_CKM_TWOFISH_KEY_GEN = "CKM_TWOFISH_KEY_GEN";
1128 	public static final String NAME_CKM_TWOFISH_CBC = "CKM_TWOFISH_CBC";
1129 
1130 	public static final String NAME_CKM_DES_ECB_ENCRYPT_DATA = "CKM_DES_ECB_ENCRYPT_DATA";
1131 	public static final String NAME_CKM_DES_CBC_ENCRYPT_DATA = "CKM_DES_CBC_ENCRYPT_DATA";
1132 	public static final String NAME_CKM_DES3_ECB_ENCRYPT_DATA = "CKM_DES3_ECB_ENCRYPT_DATA";
1133 	public static final String NAME_CKM_DES3_CBC_ENCRYPT_DATA = "CKM_DES3_CBC_ENCRYPT_DATA";
1134 	public static final String NAME_CKM_AES_ECB_ENCRYPT_DATA = "CKM_AES_ECB_ENCRYPT_DATA";
1135 	public static final String NAME_CKM_AES_CBC_ENCRYPT_DATA = "CKM_AES_CBC_ENCRYPT_DATA";
1136 
1137 	public static final String NAME_CKM_DSA_PARAMETER_GEN = "CKM_DSA_PARAMETER_GEN";
1138 	public static final String NAME_CKM_DH_PKCS_PARAMETER_GEN = "CKM_DH_PKCS_PARAMETER_GEN";
1139 	public static final String NAME_CKM_X9_42_DH_PARAMETER_GEN = "CKM_X9_42_DH_PARAMETER_GEN";
1140 	public static final String NAME_CKM_VENDOR_DEFINED = "CKM_VENDOR_DEFINED";
1141 
1142 }
1143