1 /* 2 * Copyright (c) 2003, 2019, 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 v2.11 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_NOTIFICATION ............................... long 66 * CK_SLOT_ID .................................... long 67 * CK_SESSION_HANDLE ............................. long 68 * CK_USER_TYPE .................................. long 69 * CK_SESSION_HANDLE ............................. long 70 * CK_STATE ...................................... long 71 * CK_OBJECT_HANDLE .............................. long 72 * CK_OBJECT_CLASS ............................... long 73 * CK_HW_FEATURE_TYPE ............................ long 74 * CK_KEY_TYPE ................................... long 75 * CK_CERTIFICATE_TYPE ........................... long 76 * CK_ATTRIBUTE_TYPE ............................. long 77 * CK_VOID_PTR ................................... Object[] 78 * CK_BYTE_PTR ................................... byte[] 79 * CK_CHAR_PTR ................................... char[] 80 * CK_UTF8CHAR_PTR ............................... char[] 81 * CK_MECHANISM_TYPE ............................. long 82 * CK_RV ......................................... long 83 * CK_RSA_PKCS_OAEP_MGF_TYPE ..................... long 84 * CK_RSA_PKCS_OAEP_SOURCE_TYPE .................. long 85 * CK_RC2_PARAMS ................................. long 86 * CK_MAC_GENERAL_PARAMS ......................... long 87 * CK_EXTRACT_PARAMS ............................. long 88 * CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE .... long 89 * CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE .............. long 90 * CK_EC_KDF_TYPE ................................ long 91 * CK_X9_42_DH_KDF_TYPE .......................... long 92 * </pre> 93 * 94 * @author <a href="mailto:Karl.Scheibelhofer@iaik.at"> Karl Scheibelhofer </a> 95 * @invariants 96 */ 97 public interface PKCS11Constants { 98 99 public static final boolean TRUE = true; 100 101 public static final boolean FALSE = false; 102 103 public static final Object NULL_PTR = null; 104 105 /* some special values for certain CK_ULONG variables */ 106 107 // Cryptoki defines CK_UNAVAILABLE_INFORMATION as (~0UL) 108 // This means it is 0xffffffff in ILP32/LLP64 but 0xffffffffffffffff in LP64. 109 // To avoid these differences on the Java side, the native code treats 110 // CK_UNAVAILABLE_INFORMATION specially and always returns (long)-1 for it. 111 // See ckULongSpecialToJLong() in pkcs11wrapper.h 112 public static final long CK_UNAVAILABLE_INFORMATION = -1; 113 public static final long CK_EFFECTIVELY_INFINITE = 0L; 114 115 /* The following value is always invalid if used as a session */ 116 /* handle or object handle */ 117 public static final long CK_INVALID_HANDLE = 0L; 118 119 /* CK_NOTIFICATION enumerates the types of notifications that 120 * Cryptoki provides to an application */ 121 /* CK_NOTIFICATION has been changed from an enum to a CK_ULONG 122 * for v2.0 */ 123 public static final long CKN_SURRENDER = 0L; 124 125 /* flags: bit flags that provide capabilities of the slot 126 * Bit Flag Mask Meaning 127 */ 128 public static final long CKF_TOKEN_PRESENT = 0x00000001L; 129 public static final long CKF_REMOVABLE_DEVICE = 0x00000002L; 130 public static final long CKF_HW_SLOT = 0x00000004L; 131 132 /* The flags parameter is defined as follows: 133 * Bit Flag Mask Meaning 134 */ 135 /* has random # generator */ 136 public static final long CKF_RNG = 0x00000001L; 137 138 /* token is write-protected */ 139 public static final long CKF_WRITE_PROTECTED = 0x00000002L; 140 141 /* user must login */ 142 public static final long CKF_LOGIN_REQUIRED = 0x00000004L; 143 144 /* normal user's PIN is set */ 145 public static final long CKF_USER_PIN_INITIALIZED = 0x00000008L; 146 147 public static final long CKF_RESTORE_KEY_NOT_NEEDED = 0x00000020L; 148 149 public static final long CKF_CLOCK_ON_TOKEN = 0x00000040L; 150 151 public static final long CKF_PROTECTED_AUTHENTICATION_PATH = 0x00000100L; 152 153 public static final long CKF_DUAL_CRYPTO_OPERATIONS = 0x00000200L; 154 155 public static final long CKF_TOKEN_INITIALIZED = 0x00000400L; 156 157 public static final long CKF_SECONDARY_AUTHENTICATION = 0x00000800L; 158 159 public static final long CKF_USER_PIN_COUNT_LOW = 0x00010000L; 160 161 public static final long CKF_USER_PIN_FINAL_TRY = 0x00020000L; 162 163 public static final long CKF_USER_PIN_LOCKED = 0x00040000L; 164 165 public static final long CKF_USER_PIN_TO_BE_CHANGED = 0x00080000L; 166 167 public static final long CKF_SO_PIN_COUNT_LOW = 0x00100000L; 168 169 public static final long CKF_SO_PIN_FINAL_TRY = 0x00200000L; 170 171 public static final long CKF_SO_PIN_LOCKED = 0x00400000L; 172 173 public static final long CKF_SO_PIN_TO_BE_CHANGED = 0x00800000L; 174 175 /* Security Officer */ 176 public static final long CKU_SO = 0L; 177 /* Normal user */ 178 public static final long CKU_USER = 1L; 179 180 /* CK_STATE enumerates the session states */ 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 /* session is r/w */ 191 public static final long CKF_RW_SESSION = 0x00000002L; 192 /* no parallel */ 193 public static final long CKF_SERIAL_SESSION = 0x00000004L; 194 195 196 /* The following classes of objects are defined: */ 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_VENDOR_DEFINED = 0x80000000L; 205 206 // pseudo object class ANY (for template manager) 207 public static final long PCKO_ANY = 0x7FFFFF23L; 208 209 210 /* The following hardware feature types are defined */ 211 public static final long CKH_MONOTONIC_COUNTER = 0x00000001L; 212 public static final long CKH_CLOCK = 0x00000002L; 213 public static final long CKH_VENDOR_DEFINED = 0x80000000L; 214 215 /* the following key types are defined: */ 216 public static final long CKK_RSA = 0x00000000L; 217 public static final long CKK_DSA = 0x00000001L; 218 public static final long CKK_DH = 0x00000002L; 219 public static final long CKK_ECDSA /*deprecated*/ = 0x00000003L; 220 public static final long CKK_EC = 0x00000003L; 221 public static final long CKK_X9_42_DH = 0x00000004L; 222 public static final long CKK_KEA = 0x00000005L; 223 public static final long CKK_GENERIC_SECRET = 0x00000010L; 224 public static final long CKK_RC2 = 0x00000011L; 225 public static final long CKK_RC4 = 0x00000012L; 226 public static final long CKK_DES = 0x00000013L; 227 public static final long CKK_DES2 = 0x00000014L; 228 public static final long CKK_DES3 = 0x00000015L; 229 230 public static final long CKK_CAST = 0x00000016L; 231 public static final long CKK_CAST3 = 0x00000017L; 232 public static final long CKK_CAST5 /*deprecated*/ = 0x00000018L; 233 public static final long CKK_CAST128 = 0x00000018L; 234 public static final long CKK_RC5 = 0x00000019L; 235 public static final long CKK_IDEA = 0x0000001AL; 236 public static final long CKK_SKIPJACK = 0x0000001BL; 237 public static final long CKK_BATON = 0x0000001CL; 238 public static final long CKK_JUNIPER = 0x0000001DL; 239 public static final long CKK_CDMF = 0x0000001EL; 240 public static final long CKK_AES = 0x0000001FL; 241 public static final long CKK_BLOWFISH = 0x00000020L; 242 public static final long CKK_TWOFISH = 0x00000021L; 243 public static final long CKK_SECURID = 0x00000022L; 244 public static final long CKK_HOTP = 0x00000023L; 245 public static final long CKK_ACTI = 0x00000024L; 246 public static final long CKK_CAMELLIA = 0x00000025L; 247 public static final long CKK_ARIA = 0x00000026L; 248 249 public static final long CKK_MD5_HMAC = 0x00000027L; 250 public static final long CKK_SHA_1_HMAC = 0x00000028L; 251 public static final long CKK_RIPEMD128_HMAC = 0x00000029L; 252 public static final long CKK_RIPEMD160_HMAC = 0x0000002AL; 253 public static final long CKK_SHA256_HMAC = 0x0000002BL; 254 public static final long CKK_SHA384_HMAC = 0x0000002CL; 255 public static final long CKK_SHA512_HMAC = 0x0000002DL; 256 public static final long CKK_SHA224_HMAC = 0x0000002EL; 257 258 public static final long CKK_SEED = 0x0000002FL; 259 public static final long CKK_GOSTR3410 = 0x00000030L; 260 public static final long CKK_GOSTR3411 = 0x00000031L; 261 public static final long CKK_GOST28147 = 0x00000032L; 262 ; 263 public static final long CKK_VENDOR_DEFINED = 0x80000000L; 264 265 // pseudo key type ANY (for template manager) 266 public static final long PCKK_ANY = 0x7FFFFF22L; 267 268 public static final long PCKK_HMAC = 0x7FFFFF23L; 269 public static final long PCKK_SSLMAC = 0x7FFFFF24L; 270 public static final long PCKK_TLSPREMASTER = 0x7FFFFF25L; 271 public static final long PCKK_TLSRSAPREMASTER = 0x7FFFFF26L; 272 public static final long PCKK_TLSMASTER = 0x7FFFFF27L; 273 274 /* The following certificate types are defined: */ 275 public static final long CKC_X_509 = 0x00000000L; 276 public static final long CKC_X_509_ATTR_CERT = 0x00000001L; 277 public static final long CKC_VENDOR_DEFINED = 0x80000000L; 278 279 /* The CKF_ARRAY_ATTRIBUTE flag identifies an attribute which 280 * consists of an array of values. 281 */ 282 public static final long CKF_ARRAY_ATTRIBUTE = 0x40000000L; 283 284 /* The following attribute types are defined: */ 285 public static final long CKA_CLASS = 0x00000000L; 286 public static final long CKA_TOKEN = 0x00000001L; 287 public static final long CKA_PRIVATE = 0x00000002L; 288 public static final long CKA_LABEL = 0x00000003L; 289 public static final long CKA_APPLICATION = 0x00000010L; 290 public static final long CKA_VALUE = 0x00000011L; 291 public static final long CKA_OBJECT_ID = 0x00000012L; 292 public static final long CKA_CERTIFICATE_TYPE = 0x00000080L; 293 public static final long CKA_ISSUER = 0x00000081L; 294 public static final long CKA_SERIAL_NUMBER = 0x00000082L; 295 public static final long CKA_AC_ISSUER = 0x00000083L; 296 public static final long CKA_OWNER = 0x00000084L; 297 public static final long CKA_ATTR_TYPES = 0x00000085L; 298 public static final long CKA_TRUSTED = 0x00000086L; 299 public static final long CKA_CERTIFICATE_CATEGORY 300 = 0x00000087L; 301 public static final long CKA_JAVA_MIDP_SECURITY_DOMAIN 302 = 0x00000088L; 303 public static final long CKA_URL = 0x00000089L; 304 public static final long CKA_HASH_OF_SUBJECT_PUBLIC_KEY 305 = 0x0000008AL; 306 public static final long CKA_HASH_OF_ISSUER_PUBLIC_KEY 307 = 0x0000008BL; 308 public static final long CKA_NAME_HASH_ALGORITHM 309 = 0x0000008CL; 310 public static final long CKA_CHECK_VALUE = 0x00000090L; 311 312 public static final long CKA_KEY_TYPE = 0x00000100L; 313 public static final long CKA_SUBJECT = 0x00000101L; 314 public static final long CKA_ID = 0x00000102L; 315 public static final long CKA_SENSITIVE = 0x00000103L; 316 public static final long CKA_ENCRYPT = 0x00000104L; 317 public static final long CKA_DECRYPT = 0x00000105L; 318 public static final long CKA_WRAP = 0x00000106L; 319 public static final long CKA_UNWRAP = 0x00000107L; 320 public static final long CKA_SIGN = 0x00000108L; 321 public static final long CKA_SIGN_RECOVER = 0x00000109L; 322 public static final long CKA_VERIFY = 0x0000010AL; 323 public static final long CKA_VERIFY_RECOVER = 0x0000010BL; 324 public static final long CKA_DERIVE = 0x0000010CL; 325 public static final long CKA_START_DATE = 0x00000110L; 326 public static final long CKA_END_DATE = 0x00000111L; 327 public static final long CKA_MODULUS = 0x00000120L; 328 public static final long CKA_MODULUS_BITS = 0x00000121L; 329 public static final long CKA_PUBLIC_EXPONENT = 0x00000122L; 330 public static final long CKA_PRIVATE_EXPONENT = 0x00000123L; 331 public static final long CKA_PRIME_1 = 0x00000124L; 332 public static final long CKA_PRIME_2 = 0x00000125L; 333 public static final long CKA_EXPONENT_1 = 0x00000126L; 334 public static final long CKA_EXPONENT_2 = 0x00000127L; 335 public static final long CKA_COEFFICIENT = 0x00000128L; 336 public static final long CKA_PUBLIC_KEY_INFO = 0x00000129L; 337 public static final long CKA_PRIME = 0x00000130L; 338 public static final long CKA_SUBPRIME = 0x00000131L; 339 public static final long CKA_BASE = 0x00000132L; 340 341 public static final long CKA_PRIME_BITS = 0x00000133L; 342 public static final long CKA_SUB_PRIME_BITS = 0x00000134L; 343 344 public static final long CKA_VALUE_BITS = 0x00000160L; 345 public static final long CKA_VALUE_LEN = 0x00000161L; 346 347 public static final long CKA_EXTRACTABLE = 0x00000162L; 348 public static final long CKA_LOCAL = 0x00000163L; 349 public static final long CKA_NEVER_EXTRACTABLE = 0x00000164L; 350 public static final long CKA_ALWAYS_SENSITIVE = 0x00000165L; 351 352 public static final long CKA_KEY_GEN_MECHANISM = 0x00000166L; 353 354 public static final long CKA_MODIFIABLE = 0x00000170L; 355 public static final long CKA_COPYABLE = 0x00000171L; 356 public static final long CKA_DESTROYABLE = 0x00000172L; 357 358 public static final long CKA_ECDSA_PARAMS /*deprecated*/ = 0x00000180L; 359 public static final long CKA_EC_PARAMS = 0x00000180L; 360 public static final long CKA_EC_POINT = 0x00000181L; 361 362 public static final long CKA_SECONDARY_AUTH /*deprecated*/= 0x00000200L; 363 public static final long CKA_AUTH_PIN_FLAGS /*deprecated*/= 0x00000201L; 364 public static final long CKA_ALWAYS_AUTHENTICATE = 0x00000202L; 365 public static final long CKA_WRAP_WITH_TRUSTED = 0x00000210L; 366 public static final long CKA_WRAP_TEMPLATE = (CKF_ARRAY_ATTRIBUTE|0x00000211L); 367 public static final long CKA_UNWRAP_TEMPLATE = (CKF_ARRAY_ATTRIBUTE|0x00000212L); 368 public static final long CKA_DERIVE_TEMPLATE = (CKF_ARRAY_ATTRIBUTE|0x00000213L); 369 370 public static final long CKA_OTP_FORMAT = 0x00000220L; 371 public static final long CKA_OTP_LENGTH = 0x00000221L; 372 public static final long CKA_OTP_TIME_INTERVAL = 0x00000222L; 373 public static final long CKA_OTP_USER_FRIENDLY_MODE = 0x00000223L; 374 public static final long CKA_OTP_CHALLENGE_REQUIREMENT = 0x00000224L; 375 public static final long CKA_OTP_TIME_REQUIREMENT = 0x00000225L; 376 public static final long CKA_OTP_COUNTER_REQUIREMENT = 0x00000226L; 377 public static final long CKA_OTP_PIN_REQUIREMENT = 0x00000227L; 378 public static final long CKA_OTP_COUNTER = 0x0000022EL; 379 public static final long CKA_OTP_TIME = 0x0000022FL; 380 public static final long CKA_OTP_USER_IDENTIFIER = 0x0000022AL; 381 public static final long CKA_OTP_SERVICE_IDENTIFIER = 0x0000022BL; 382 public static final long CKA_OTP_SERVICE_LOGO = 0x0000022CL; 383 public static final long CKA_OTP_SERVICE_LOGO_TYPE = 0x0000022DL; 384 385 public static final long CKA_GOSTR3410_PARAMS = 0x00000250L; 386 public static final long CKA_GOSTR3411_PARAMS = 0x00000251L; 387 public static final long CKA_GOST28147_PARAMS = 0x00000252L; 388 389 public static final long CKA_HW_FEATURE_TYPE = 0x00000300L; 390 public static final long CKA_RESET_ON_INIT = 0x00000301L; 391 public static final long CKA_HAS_RESET = 0x00000302L; 392 393 public static final long CKA_PIXEL_X = 0x00000400L; 394 public static final long CKA_PIXEL_Y = 0x00000401L; 395 public static final long CKA_RESOLUTION = 0x00000402L; 396 public static final long CKA_CHAR_ROWS = 0x00000403L; 397 public static final long CKA_CHAR_COLUMNS = 0x00000404L; 398 public static final long CKA_COLOR = 0x00000405L; 399 public static final long CKA_BITS_PER_PIXEL = 0x00000406L; 400 public static final long CKA_CHAR_SETS = 0x00000480L; 401 public static final long CKA_ENCODING_METHODS = 0x00000481L; 402 public static final long CKA_MIME_TYPES = 0x00000482L; 403 public static final long CKA_MECHANISM_TYPE = 0x00000500L; 404 public static final long CKA_REQUIRED_CMS_ATTRIBUTES = 0x00000501L; 405 public static final long CKA_DEFAULT_CMS_ATTRIBUTES = 0x00000502L; 406 public static final long CKA_SUPPORTED_CMS_ATTRIBUTES = 0x00000503L; 407 public static final long CKA_ALLOWED_MECHANISMS = (CKF_ARRAY_ATTRIBUTE|0x00000600L); 408 409 public static final long CKA_VENDOR_DEFINED = 0x80000000L; 410 411 /* the following mechanism types are defined: */ 412 public static final long CKM_RSA_PKCS_KEY_PAIR_GEN = 0x00000000L; 413 public static final long CKM_RSA_PKCS = 0x00000001L; 414 public static final long CKM_RSA_9796 = 0x00000002L; 415 public static final long CKM_RSA_X_509 = 0x00000003L; 416 417 public static final long CKM_MD2_RSA_PKCS = 0x00000004L; 418 public static final long CKM_MD5_RSA_PKCS = 0x00000005L; 419 public static final long CKM_SHA1_RSA_PKCS = 0x00000006L; 420 421 public static final long CKM_RIPEMD128_RSA_PKCS = 0x00000007L; 422 public static final long CKM_RIPEMD160_RSA_PKCS = 0x00000008L; 423 public static final long CKM_RSA_PKCS_OAEP = 0x00000009L; 424 425 public static final long CKM_RSA_X9_31_KEY_PAIR_GEN = 0x0000000AL; 426 public static final long CKM_RSA_X9_31 = 0x0000000BL; 427 public static final long CKM_SHA1_RSA_X9_31 = 0x0000000CL; 428 public static final long CKM_RSA_PKCS_PSS = 0x0000000DL; 429 public static final long CKM_SHA1_RSA_PKCS_PSS = 0x0000000EL; 430 431 public static final long CKM_DSA_KEY_PAIR_GEN = 0x00000010L; 432 public static final long CKM_DSA = 0x00000011L; 433 public static final long CKM_DSA_SHA1 = 0x00000012L; 434 public static final long CKM_DSA_SHA224 = 0x00000013L; 435 public static final long CKM_DSA_SHA256 = 0x00000014L; 436 public static final long CKM_DSA_SHA384 = 0x00000015L; 437 public static final long CKM_DSA_SHA512 = 0x00000016L; 438 439 public static final long CKM_DH_PKCS_KEY_PAIR_GEN = 0x00000020L; 440 public static final long CKM_DH_PKCS_DERIVE = 0x00000021L; 441 442 public static final long CKM_X9_42_DH_KEY_PAIR_GEN = 0x00000030L; 443 public static final long CKM_X9_42_DH_DERIVE = 0x00000031L; 444 public static final long CKM_X9_42_DH_HYBRID_DERIVE = 0x00000032L; 445 public static final long CKM_X9_42_MQV_DERIVE = 0x00000033L; 446 447 public static final long CKM_SHA256_RSA_PKCS = 0x00000040L; 448 public static final long CKM_SHA384_RSA_PKCS = 0x00000041L; 449 public static final long CKM_SHA512_RSA_PKCS = 0x00000042L; 450 public static final long CKM_SHA256_RSA_PKCS_PSS = 0x00000043L; 451 public static final long CKM_SHA384_RSA_PKCS_PSS = 0x00000044L; 452 public static final long CKM_SHA512_RSA_PKCS_PSS = 0x00000045L; 453 454 public static final long CKM_SHA224_RSA_PKCS = 0x00000046L; 455 public static final long CKM_SHA224_RSA_PKCS_PSS = 0x00000047L; 456 457 public static final long CKM_SHA512_224 = 0x00000048L; 458 public static final long CKM_SHA512_224_HMAC = 0x00000049L; 459 public static final long CKM_SHA512_224_HMAC_GENERAL = 0x0000004AL; 460 public static final long CKM_SHA512_224_KEY_DERIVATION = 0x0000004BL; 461 public static final long CKM_SHA512_256 = 0x0000004CL; 462 public static final long CKM_SHA512_256_HMAC = 0x0000004DL; 463 public static final long CKM_SHA512_256_HMAC_GENERAL = 0x0000004EL; 464 public static final long CKM_SHA512_256_KEY_DERIVATION = 0x0000004FL; 465 466 public static final long CKM_SHA512_T = 0x00000050L; 467 public static final long CKM_SHA512_T_HMAC = 0x00000051L; 468 public static final long CKM_SHA512_T_HMAC_GENERAL = 0x00000052L; 469 public static final long CKM_SHA512_T_KEY_DERIVATION = 0x00000053L; 470 471 public static final long CKM_RC2_KEY_GEN = 0x00000100L; 472 public static final long CKM_RC2_ECB = 0x00000101L; 473 public static final long CKM_RC2_CBC = 0x00000102L; 474 public static final long CKM_RC2_MAC = 0x00000103L; 475 476 public static final long CKM_RC2_MAC_GENERAL = 0x00000104L; 477 public static final long CKM_RC2_CBC_PAD = 0x00000105L; 478 479 public static final long CKM_RC4_KEY_GEN = 0x00000110L; 480 public static final long CKM_RC4 = 0x00000111L; 481 public static final long CKM_DES_KEY_GEN = 0x00000120L; 482 public static final long CKM_DES_ECB = 0x00000121L; 483 public static final long CKM_DES_CBC = 0x00000122L; 484 public static final long CKM_DES_MAC = 0x00000123L; 485 486 public static final long CKM_DES_MAC_GENERAL = 0x00000124L; 487 public static final long CKM_DES_CBC_PAD = 0x00000125L; 488 489 public static final long CKM_DES2_KEY_GEN = 0x00000130L; 490 public static final long CKM_DES3_KEY_GEN = 0x00000131L; 491 public static final long CKM_DES3_ECB = 0x00000132L; 492 public static final long CKM_DES3_CBC = 0x00000133L; 493 public static final long CKM_DES3_MAC = 0x00000134L; 494 495 public static final long CKM_DES3_MAC_GENERAL = 0x00000135L; 496 public static final long CKM_DES3_CBC_PAD = 0x00000136L; 497 public static final long CKM_DES3_CMAC_GENERAL = 0x00000137L; 498 public static final long CKM_DES3_CMAC = 0x00000138L; 499 public static final long CKM_CDMF_KEY_GEN = 0x00000140L; 500 public static final long CKM_CDMF_ECB = 0x00000141L; 501 public static final long CKM_CDMF_CBC = 0x00000142L; 502 public static final long CKM_CDMF_MAC = 0x00000143L; 503 public static final long CKM_CDMF_MAC_GENERAL = 0x00000144L; 504 public static final long CKM_CDMF_CBC_PAD = 0x00000145L; 505 506 public static final long CKM_DES_OFB64 = 0x00000150L; 507 public static final long CKM_DES_OFB8 = 0x00000151L; 508 public static final long CKM_DES_CFB64 = 0x00000152L; 509 public static final long CKM_DES_CFB8 = 0x00000153L; 510 511 public static final long CKM_MD2 = 0x00000200L; 512 513 public static final long CKM_MD2_HMAC = 0x00000201L; 514 public static final long CKM_MD2_HMAC_GENERAL = 0x00000202L; 515 516 public static final long CKM_MD5 = 0x00000210L; 517 518 public static final long CKM_MD5_HMAC = 0x00000211L; 519 public static final long CKM_MD5_HMAC_GENERAL = 0x00000212L; 520 521 public static final long CKM_SHA_1 = 0x00000220L; 522 523 public static final long CKM_SHA_1_HMAC = 0x00000221L; 524 public static final long CKM_SHA_1_HMAC_GENERAL = 0x00000222L; 525 526 public static final long CKM_RIPEMD128 = 0x00000230L; 527 public static final long CKM_RIPEMD128_HMAC = 0x00000231L; 528 public static final long CKM_RIPEMD128_HMAC_GENERAL = 0x00000232L; 529 public static final long CKM_RIPEMD160 = 0x00000240L; 530 public static final long CKM_RIPEMD160_HMAC = 0x00000241L; 531 public static final long CKM_RIPEMD160_HMAC_GENERAL = 0x00000242L; 532 533 public static final long CKM_SHA256 = 0x00000250L; 534 public static final long CKM_SHA256_HMAC = 0x00000251L; 535 public static final long CKM_SHA256_HMAC_GENERAL = 0x00000252L; 536 public static final long CKM_SHA224 = 0x00000255L; 537 public static final long CKM_SHA224_HMAC = 0x00000256L; 538 public static final long CKM_SHA224_HMAC_GENERAL = 0x00000257L; 539 public static final long CKM_SHA384 = 0x00000260L; 540 public static final long CKM_SHA384_HMAC = 0x00000261L; 541 public static final long CKM_SHA384_HMAC_GENERAL = 0x00000262L; 542 543 public static final long CKM_SHA512 = 0x00000270L; 544 public static final long CKM_SHA512_HMAC = 0x00000271L; 545 public static final long CKM_SHA512_HMAC_GENERAL = 0x00000272L; 546 547 public static final long CKM_SECURID_KEY_GEN = 0x00000280L; 548 public static final long CKM_SECURID = 0x00000282L; 549 public static final long CKM_HOTP_KEY_GEN = 0x00000290L; 550 public static final long CKM_HOTP = 0x00000291L; 551 public static final long CKM_ACTI = 0x000002A0L; 552 public static final long CKM_ACTI_KEY_GEN = 0x000002A1L; 553 554 public static final long CKM_CAST_KEY_GEN = 0x00000300L; 555 public static final long CKM_CAST_ECB = 0x00000301L; 556 public static final long CKM_CAST_CBC = 0x00000302L; 557 public static final long CKM_CAST_MAC = 0x00000303L; 558 public static final long CKM_CAST_MAC_GENERAL = 0x00000304L; 559 public static final long CKM_CAST_CBC_PAD = 0x00000305L; 560 public static final long CKM_CAST3_KEY_GEN = 0x00000310L; 561 public static final long CKM_CAST3_ECB = 0x00000311L; 562 public static final long CKM_CAST3_CBC = 0x00000312L; 563 public static final long CKM_CAST3_MAC = 0x00000313L; 564 public static final long CKM_CAST3_MAC_GENERAL = 0x00000314L; 565 public static final long CKM_CAST3_CBC_PAD = 0x00000315L; 566 /* Note that CAST128 and CAST5 are the same algorithm */ 567 public static final long CKM_CAST5_KEY_GEN = 0x00000320L; 568 public static final long CKM_CAST128_KEY_GEN = 0x00000320L; 569 public static final long CKM_CAST5_ECB = 0x00000321L; 570 public static final long CKM_CAST128_ECB = 0x00000321L; 571 public static final long CKM_CAST5_CBC /*deprecated*/ = 0x00000322L; 572 public static final long CKM_CAST128_CBC = 0x00000322L; 573 public static final long CKM_CAST5_MAC /*deprecated*/ = 0x00000323L; 574 public static final long CKM_CAST128_MAC = 0x00000323L; 575 public static final long CKM_CAST5_MAC_GENERAL /*deprecated*/ 576 = 0x00000324L; 577 public static final long CKM_CAST128_MAC_GENERAL = 0x00000324L; 578 public static final long CKM_CAST5_CBC_PAD /*deprecated*/ = 0x00000325L; 579 public static final long CKM_CAST128_CBC_PAD = 0x00000325L; 580 public static final long CKM_RC5_KEY_GEN = 0x00000330L; 581 public static final long CKM_RC5_ECB = 0x00000331L; 582 public static final long CKM_RC5_CBC = 0x00000332L; 583 public static final long CKM_RC5_MAC = 0x00000333L; 584 public static final long CKM_RC5_MAC_GENERAL = 0x00000334L; 585 public static final long CKM_RC5_CBC_PAD = 0x00000335L; 586 public static final long CKM_IDEA_KEY_GEN = 0x00000340L; 587 public static final long CKM_IDEA_ECB = 0x00000341L; 588 public static final long CKM_IDEA_CBC = 0x00000342L; 589 public static final long CKM_IDEA_MAC = 0x00000343L; 590 public static final long CKM_IDEA_MAC_GENERAL = 0x00000344L; 591 public static final long CKM_IDEA_CBC_PAD = 0x00000345L; 592 public static final long CKM_GENERIC_SECRET_KEY_GEN = 0x00000350L; 593 public static final long CKM_CONCATENATE_BASE_AND_KEY = 0x00000360L; 594 public static final long CKM_CONCATENATE_BASE_AND_DATA = 0x00000362L; 595 public static final long CKM_CONCATENATE_DATA_AND_BASE = 0x00000363L; 596 public static final long CKM_XOR_BASE_AND_DATA = 0x00000364L; 597 public static final long CKM_EXTRACT_KEY_FROM_KEY = 0x00000365L; 598 public static final long CKM_SSL3_PRE_MASTER_KEY_GEN = 0x00000370L; 599 public static final long CKM_SSL3_MASTER_KEY_DERIVE = 0x00000371L; 600 public static final long CKM_SSL3_KEY_AND_MAC_DERIVE = 0x00000372L; 601 602 public static final long CKM_SSL3_MASTER_KEY_DERIVE_DH = 0x00000373L; 603 public static final long CKM_TLS_PRE_MASTER_KEY_GEN = 0x00000374L; 604 public static final long CKM_TLS_MASTER_KEY_DERIVE = 0x00000375L; 605 public static final long CKM_TLS_KEY_AND_MAC_DERIVE = 0x00000376L; 606 public static final long CKM_TLS_MASTER_KEY_DERIVE_DH = 0x00000377L; 607 public static final long CKM_TLS_PRF = 0x00000378L; 608 609 public static final long CKM_SSL3_MD5_MAC = 0x00000380L; 610 public static final long CKM_SSL3_SHA1_MAC = 0x00000381L; 611 public static final long CKM_MD5_KEY_DERIVATION = 0x00000390L; 612 public static final long CKM_MD2_KEY_DERIVATION = 0x00000391L; 613 public static final long CKM_SHA1_KEY_DERIVATION = 0x00000392L; 614 615 public static final long CKM_SHA256_KEY_DERIVATION = 0x00000393L; 616 public static final long CKM_SHA384_KEY_DERIVATION = 0x00000394L; 617 public static final long CKM_SHA512_KEY_DERIVATION = 0x00000395L; 618 public static final long CKM_SHA224_KEY_DERIVATION = 0x00000396L; 619 620 public static final long CKM_PBE_MD2_DES_CBC = 0x000003A0L; 621 public static final long CKM_PBE_MD5_DES_CBC = 0x000003A1L; 622 public static final long CKM_PBE_MD5_CAST_CBC = 0x000003A2L; 623 public static final long CKM_PBE_MD5_CAST3_CBC = 0x000003A3L; 624 public static final long CKM_PBE_MD5_CAST5_CBC = 0x000003A4L; 625 public static final long CKM_PBE_MD5_CAST128_CBC = 0x000003A4L; 626 public static final long CKM_PBE_SHA1_CAST5_CBC = 0x000003A5L; 627 public static final long CKM_PBE_SHA1_CAST128_CBC = 0x000003A5L; 628 public static final long CKM_PBE_SHA1_RC4_128 = 0x000003A6L; 629 public static final long CKM_PBE_SHA1_RC4_40 = 0x000003A7L; 630 public static final long CKM_PBE_SHA1_DES3_EDE_CBC = 0x000003A8L; 631 public static final long CKM_PBE_SHA1_DES2_EDE_CBC = 0x000003A9L; 632 public static final long CKM_PBE_SHA1_RC2_128_CBC = 0x000003AAL; 633 public static final long CKM_PBE_SHA1_RC2_40_CBC = 0x000003ABL; 634 635 public static final long CKM_PKCS5_PBKD2 = 0x000003B0L; 636 637 public static final long CKM_PBA_SHA1_WITH_SHA1_HMAC = 0x000003C0L; 638 639 public static final long CKM_WTLS_PRE_MASTER_KEY_GEN = 0x000003D0L; 640 public static final long CKM_WTLS_MASTER_KEY_DERIVE = 0x000003D1L; 641 public static final long CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC = 0x000003D2L; 642 public static final long CKM_WTLS_PRF = 0x000003D3L; 643 public static final long CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE = 0x000003D4L; 644 public static final long CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE = 0x000003D5L; 645 646 public static final long CKM_TLS10_MAC_SERVER = 0x000003D6L; 647 public static final long CKM_TLS10_MAC_CLIENT = 0x000003D7L; 648 public static final long CKM_TLS12_MAC = 0x000003D8L; 649 public static final long CKM_TLS12_KDF = 0x000003D9L; 650 651 public static final long CKM_TLS12_MASTER_KEY_DERIVE = 0x000003E0L; 652 public static final long CKM_TLS12_KEY_AND_MAC_DERIVE = 0x000003E1L; 653 public static final long CKM_TLS12_MASTER_KEY_DERIVE_DH = 0x000003E2L; 654 public static final long CKM_TLS12_KEY_SAFE_DERIVE = 0x000003E3L; 655 public static final long CKM_TLS_MAC = 0x000003E4L; 656 public static final long CKM_TLS_KDF = 0x000003E5L; 657 658 public static final long CKM_KEY_WRAP_LYNKS = 0x00000400L; 659 public static final long CKM_KEY_WRAP_SET_OAEP = 0x00000401L; 660 661 public static final long CKM_CMS_SIG = 0x00000500L; 662 public static final long CKM_KIP_DERIVE = 0x00000510L; 663 public static final long CKM_KIP_WRAP = 0x00000511L; 664 public static final long CKM_KIP_MAC = 0x00000512L; 665 666 public static final long CKM_CAMELLIA_KEY_GEN = 0x00000550L; 667 public static final long CKM_CAMELLIA_ECB = 0x00000551L; 668 public static final long CKM_CAMELLIA_CBC = 0x00000552L; 669 public static final long CKM_CAMELLIA_MAC = 0x00000553L; 670 public static final long CKM_CAMELLIA_MAC_GENERAL = 0x00000554L; 671 public static final long CKM_CAMELLIA_CBC_PAD = 0x00000555L; 672 public static final long CKM_CAMELLIA_ECB_ENCRYPT_DATA = 0x00000556L; 673 public static final long CKM_CAMELLIA_CBC_ENCRYPT_DATA = 0x00000557L; 674 public static final long CKM_CAMELLIA_CTR = 0x00000558L; 675 676 public static final long CKM_ARIA_KEY_GEN = 0x00000560L; 677 public static final long CKM_ARIA_ECB = 0x00000561L; 678 public static final long CKM_ARIA_CBC = 0x00000562L; 679 public static final long CKM_ARIA_MAC = 0x00000563L; 680 public static final long CKM_ARIA_MAC_GENERAL = 0x00000564L; 681 public static final long CKM_ARIA_CBC_PAD = 0x00000565L; 682 public static final long CKM_ARIA_ECB_ENCRYPT_DATA = 0x00000566L; 683 public static final long CKM_ARIA_CBC_ENCRYPT_DATA = 0x00000567L; 684 685 public static final long CKM_SEED_KEY_GEN = 0x00000650L; 686 public static final long CKM_SEED_ECB = 0x00000651L; 687 public static final long CKM_SEED_CBC = 0x00000652L; 688 public static final long CKM_SEED_MAC = 0x00000653L; 689 public static final long CKM_SEED_MAC_GENERAL = 0x00000654L; 690 public static final long CKM_SEED_CBC_PAD = 0x00000655L; 691 public static final long CKM_SEED_ECB_ENCRYPT_DATA = 0x00000656L; 692 public static final long CKM_SEED_CBC_ENCRYPT_DATA = 0x00000657L; 693 694 public static final long CKM_SKIPJACK_KEY_GEN = 0x00001000L; 695 public static final long CKM_SKIPJACK_ECB64 = 0x00001001L; 696 public static final long CKM_SKIPJACK_CBC64 = 0x00001002L; 697 public static final long CKM_SKIPJACK_OFB64 = 0x00001003L; 698 public static final long CKM_SKIPJACK_CFB64 = 0x00001004L; 699 public static final long CKM_SKIPJACK_CFB32 = 0x00001005L; 700 public static final long CKM_SKIPJACK_CFB16 = 0x00001006L; 701 public static final long CKM_SKIPJACK_CFB8 = 0x00001007L; 702 public static final long CKM_SKIPJACK_WRAP = 0x00001008L; 703 public static final long CKM_SKIPJACK_PRIVATE_WRAP = 0x00001009L; 704 public static final long CKM_SKIPJACK_RELAYX = 0x0000100AL; 705 public static final long CKM_KEA_KEY_PAIR_GEN = 0x00001010L; 706 public static final long CKM_KEA_KEY_DERIVE = 0x00001011L; 707 public static final long CKM_KEA_DERIVE = 0x00001012L; 708 public static final long CKM_FORTEZZA_TIMESTAMP = 0x00001020L; 709 public static final long CKM_BATON_KEY_GEN = 0x00001030L; 710 public static final long CKM_BATON_ECB128 = 0x00001031L; 711 public static final long CKM_BATON_ECB96 = 0x00001032L; 712 public static final long CKM_BATON_CBC128 = 0x00001033L; 713 public static final long CKM_BATON_COUNTER = 0x00001034L; 714 public static final long CKM_BATON_SHUFFLE = 0x00001035L; 715 public static final long CKM_BATON_WRAP = 0x00001036L; 716 717 public static final long CKM_ECDSA_KEY_PAIR_GEN /*deprecated*/ 718 = 0x00001040L; 719 public static final long CKM_EC_KEY_PAIR_GEN = 0x00001040L; 720 721 public static final long CKM_ECDSA = 0x00001041L; 722 public static final long CKM_ECDSA_SHA1 = 0x00001042L; 723 public static final long CKM_ECDSA_SHA224 = 0x00001043L; 724 public static final long CKM_ECDSA_SHA256 = 0x00001044L; 725 public static final long CKM_ECDSA_SHA384 = 0x00001045L; 726 public static final long CKM_ECDSA_SHA512 = 0x00001046L; 727 728 public static final long CKM_ECDH1_DERIVE = 0x00001050L; 729 public static final long CKM_ECDH1_COFACTOR_DERIVE = 0x00001051L; 730 public static final long CKM_ECMQV_DERIVE = 0x00001052L; 731 732 public static final long CKM_ECDH_AES_KEY_WRAP = 0x00001053L; 733 public static final long CKM_RSA_AES_KEY_WRAP = 0x00001054L; 734 735 public static final long CKM_JUNIPER_KEY_GEN = 0x00001060L; 736 public static final long CKM_JUNIPER_ECB128 = 0x00001061L; 737 public static final long CKM_JUNIPER_CBC128 = 0x00001062L; 738 public static final long CKM_JUNIPER_COUNTER = 0x00001063L; 739 public static final long CKM_JUNIPER_SHUFFLE = 0x00001064L; 740 public static final long CKM_JUNIPER_WRAP = 0x00001065L; 741 public static final long CKM_FASTHASH = 0x00001070L; 742 743 public static final long CKM_AES_KEY_GEN = 0x00001080L; 744 public static final long CKM_AES_ECB = 0x00001081L; 745 public static final long CKM_AES_CBC = 0x00001082L; 746 public static final long CKM_AES_MAC = 0x00001083L; 747 public static final long CKM_AES_MAC_GENERAL = 0x00001084L; 748 public static final long CKM_AES_CBC_PAD = 0x00001085L; 749 public static final long CKM_AES_CTR = 0x00001086L; 750 public static final long CKM_AES_GCM = 0x00001087L; 751 public static final long CKM_AES_CCM = 0x00001088L; 752 public static final long CKM_AES_CTS = 0x00001089L; 753 public static final long CKM_AES_CMAC = 0x0000108AL; 754 public static final long CKM_AES_CMAC_GENERAL = 0x0000108BL; 755 756 public static final long CKM_AES_XCBC_MAC = 0x0000108CL; 757 public static final long CKM_AES_XCBC_MAC_96 = 0x0000108DL; 758 public static final long CKM_AES_GMAC = 0x0000108EL; 759 760 public static final long CKM_BLOWFISH_KEY_GEN = 0x00001090L; 761 public static final long CKM_BLOWFISH_CBC = 0x00001091L; 762 public static final long CKM_TWOFISH_KEY_GEN = 0x00001092L; 763 public static final long CKM_TWOFISH_CBC = 0x00001093L; 764 public static final long CKM_BLOWFISH_CBC_PAD = 0x00001094L; 765 public static final long CKM_TWOFISH_CBC_PAD = 0x00001095L; 766 767 public static final long CKM_DES_ECB_ENCRYPT_DATA = 0x00001100L; 768 public static final long CKM_DES_CBC_ENCRYPT_DATA = 0x00001101L; 769 public static final long CKM_DES3_ECB_ENCRYPT_DATA = 0x00001102L; 770 public static final long CKM_DES3_CBC_ENCRYPT_DATA = 0x00001103L; 771 public static final long CKM_AES_ECB_ENCRYPT_DATA = 0x00001104L; 772 public static final long CKM_AES_CBC_ENCRYPT_DATA = 0x00001105L; 773 774 public static final long CKM_GOSTR3410_KEY_PAIR_GEN = 0x00001200L; 775 public static final long CKM_GOSTR3410 = 0x00001201L; 776 public static final long CKM_GOSTR3410_WITH_GOSTR3411 = 0x00001202L; 777 public static final long CKM_GOSTR3410_KEY_WRAP = 0x00001203L; 778 public static final long CKM_GOSTR3410_DERIVE = 0x00001204L; 779 public static final long CKM_GOSTR3411 = 0x00001210L; 780 public static final long CKM_GOSTR3411_HMAC = 0x00001211L; 781 public static final long CKM_GOST28147_KEY_GEN = 0x00001220L; 782 public static final long CKM_GOST28147_ECB = 0x00001221L; 783 public static final long CKM_GOST28147 = 0x00001222L; 784 public static final long CKM_GOST28147_MAC = 0x00001223L; 785 public static final long CKM_GOST28147_KEY_WRAP = 0x00001224L; 786 787 public static final long CKM_DSA_PARAMETER_GEN = 0x00002000L; 788 public static final long CKM_DH_PKCS_PARAMETER_GEN = 0x00002001L; 789 public static final long CKM_X9_42_DH_PARAMETER_GEN = 0x00002002L; 790 public static final long CKM_DSA_PROBABLISTIC_PARAMETER_GEN = 0x00002003L; 791 public static final long CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN = 0x00002004L; 792 793 public static final long CKM_AES_OFB = 0x00002104L; 794 public static final long CKM_AES_CFB64 = 0x00002105L; 795 public static final long CKM_AES_CFB8 = 0x00002106L; 796 public static final long CKM_AES_CFB128 = 0x00002107L; 797 public static final long CKM_AES_CFB1 = 0x00002108L; 798 public static final long CKM_AES_KEY_WRAP = 0x00002109L; 799 public static final long CKM_AES_KEY_WRAP_PAD = 0x0000210AL; 800 801 public static final long CKM_RSA_PKCS_TPM_1_1 = 0x00004001L; 802 public static final long CKM_RSA_PKCS_OAEP_TPM_1_1 = 0x00004002L; 803 804 public static final long CKM_VENDOR_DEFINED = 0x80000000L; 805 806 // NSS private 807 public static final long CKM_NSS_TLS_PRF_GENERAL = 0x80000373L; 808 809 // internal ids for our pseudo mechanisms SecureRandom and KeyStore 810 public static final long PCKM_SECURERANDOM = 0x7FFFFF20L; 811 public static final long PCKM_KEYSTORE = 0x7FFFFF21L; 812 813 /* The flags specify whether or not a mechanism can be used for a 814 * particular task */ 815 public static final long CKF_HW = 0x00000001L; 816 public static final long CKF_ENCRYPT = 0x00000100L; 817 public static final long CKF_DECRYPT = 0x00000200L; 818 public static final long CKF_DIGEST = 0x00000400L; 819 public static final long CKF_SIGN = 0x00000800L; 820 public static final long CKF_SIGN_RECOVER = 0x00001000L; 821 public static final long CKF_VERIFY = 0x00002000L; 822 public static final long CKF_VERIFY_RECOVER = 0x00004000L; 823 public static final long CKF_GENERATE = 0x00008000L; 824 public static final long CKF_GENERATE_KEY_PAIR = 0x00010000L; 825 public static final long CKF_WRAP = 0x00020000L; 826 public static final long CKF_UNWRAP = 0x00040000L; 827 public static final long CKF_DERIVE = 0x00080000L; 828 829 /* Describe a token's EC capabilities not available in mechanism 830 * information. 831 */ 832 public static final long CKF_EC_F_P = 0x00100000L; 833 public static final long CKF_EC_F_2M = 0x00200000L; 834 public static final long CKF_EC_ECPARAMETERS = 0x00400000L; 835 public static final long CKF_EC_NAMEDCURVE = 0x00800000L; 836 public static final long CKF_EC_UNCOMPRESS = 0x01000000L; 837 public static final long CKF_EC_COMPRESS = 0x02000000L; 838 839 public static final long CKF_EXTENSION = 0x80000000L; 840 841 842 /* Identifies the return value of a Cryptoki function */ 843 public static final long CKR_OK = 0x00000000L; 844 public static final long CKR_CANCEL = 0x00000001L; 845 public static final long CKR_HOST_MEMORY = 0x00000002L; 846 public static final long CKR_SLOT_ID_INVALID = 0x00000003L; 847 848 public static final long CKR_GENERAL_ERROR = 0x00000005L; 849 public static final long CKR_FUNCTION_FAILED = 0x00000006L; 850 851 public static final long CKR_ARGUMENTS_BAD = 0x00000007L; 852 public static final long CKR_NO_EVENT = 0x00000008L; 853 public static final long CKR_NEED_TO_CREATE_THREADS 854 = 0x00000009L; 855 public static final long CKR_CANT_LOCK = 0x0000000AL; 856 857 public static final long CKR_ATTRIBUTE_READ_ONLY = 0x00000010L; 858 public static final long CKR_ATTRIBUTE_SENSITIVE = 0x00000011L; 859 public static final long CKR_ATTRIBUTE_TYPE_INVALID = 0x00000012L; 860 public static final long CKR_ATTRIBUTE_VALUE_INVALID = 0x00000013L; 861 public static final long CKR_ACTION_PROHIBITED = 0x0000001BL; 862 863 public static final long CKR_DATA_INVALID = 0x00000020L; 864 public static final long CKR_DATA_LEN_RANGE = 0x00000021L; 865 public static final long CKR_DEVICE_ERROR = 0x00000030L; 866 public static final long CKR_DEVICE_MEMORY = 0x00000031L; 867 public static final long CKR_DEVICE_REMOVED = 0x00000032L; 868 public static final long CKR_ENCRYPTED_DATA_INVALID = 0x00000040L; 869 public static final long CKR_ENCRYPTED_DATA_LEN_RANGE = 0x00000041L; 870 public static final long CKR_FUNCTION_CANCELED = 0x00000050L; 871 public static final long CKR_FUNCTION_NOT_PARALLEL = 0x00000051L; 872 873 public static final long CKR_FUNCTION_NOT_SUPPORTED = 0x00000054L; 874 875 public static final long CKR_KEY_HANDLE_INVALID = 0x00000060L; 876 877 public static final long CKR_KEY_SIZE_RANGE = 0x00000062L; 878 public static final long CKR_KEY_TYPE_INCONSISTENT = 0x00000063L; 879 880 public static final long CKR_KEY_NOT_NEEDED = 0x00000064L; 881 public static final long CKR_KEY_CHANGED = 0x00000065L; 882 public static final long CKR_KEY_NEEDED = 0x00000066L; 883 public static final long CKR_KEY_INDIGESTIBLE = 0x00000067L; 884 public static final long CKR_KEY_FUNCTION_NOT_PERMITTED = 0x00000068L; 885 public static final long CKR_KEY_NOT_WRAPPABLE = 0x00000069L; 886 public static final long CKR_KEY_UNEXTRACTABLE = 0x0000006AL; 887 888 public static final long CKR_MECHANISM_INVALID = 0x00000070L; 889 public static final long CKR_MECHANISM_PARAM_INVALID = 0x00000071L; 890 891 public static final long CKR_OBJECT_HANDLE_INVALID = 0x00000082L; 892 public static final long CKR_OPERATION_ACTIVE = 0x00000090L; 893 public static final long CKR_OPERATION_NOT_INITIALIZED = 0x00000091L; 894 public static final long CKR_PIN_INCORRECT = 0x000000A0L; 895 public static final long CKR_PIN_INVALID = 0x000000A1L; 896 public static final long CKR_PIN_LEN_RANGE = 0x000000A2L; 897 898 public static final long CKR_PIN_EXPIRED = 0x000000A3L; 899 public static final long CKR_PIN_LOCKED = 0x000000A4L; 900 901 public static final long CKR_SESSION_CLOSED = 0x000000B0L; 902 public static final long CKR_SESSION_COUNT = 0x000000B1L; 903 public static final long CKR_SESSION_HANDLE_INVALID = 0x000000B3L; 904 public static final long CKR_SESSION_PARALLEL_NOT_SUPPORTED = 0x000000B4L; 905 public static final long CKR_SESSION_READ_ONLY = 0x000000B5L; 906 public static final long CKR_SESSION_EXISTS = 0x000000B6L; 907 908 public static final long CKR_SESSION_READ_ONLY_EXISTS = 0x000000B7L; 909 public static final long CKR_SESSION_READ_WRITE_SO_EXISTS = 0x000000B8L; 910 911 public static final long CKR_SIGNATURE_INVALID = 0x000000C0L; 912 public static final long CKR_SIGNATURE_LEN_RANGE = 0x000000C1L; 913 public static final long CKR_TEMPLATE_INCOMPLETE = 0x000000D0L; 914 public static final long CKR_TEMPLATE_INCONSISTENT = 0x000000D1L; 915 public static final long CKR_TOKEN_NOT_PRESENT = 0x000000E0L; 916 public static final long CKR_TOKEN_NOT_RECOGNIZED = 0x000000E1L; 917 public static final long CKR_TOKEN_WRITE_PROTECTED = 0x000000E2L; 918 public static final long CKR_UNWRAPPING_KEY_HANDLE_INVALID = 0x000000F0L; 919 public static final long CKR_UNWRAPPING_KEY_SIZE_RANGE = 0x000000F1L; 920 public static final long CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT 921 = 0x000000F2L; 922 public static final long CKR_USER_ALREADY_LOGGED_IN = 0x00000100L; 923 public static final long CKR_USER_NOT_LOGGED_IN = 0x00000101L; 924 public static final long CKR_USER_PIN_NOT_INITIALIZED = 0x00000102L; 925 public static final long CKR_USER_TYPE_INVALID = 0x00000103L; 926 927 public static final long CKR_USER_ANOTHER_ALREADY_LOGGED_IN = 0x00000104L; 928 public static final long CKR_USER_TOO_MANY_TYPES = 0x00000105L; 929 930 public static final long CKR_WRAPPED_KEY_INVALID = 0x00000110L; 931 public static final long CKR_WRAPPED_KEY_LEN_RANGE = 0x00000112L; 932 public static final long CKR_WRAPPING_KEY_HANDLE_INVALID = 0x00000113L; 933 public static final long CKR_WRAPPING_KEY_SIZE_RANGE = 0x00000114L; 934 public static final long CKR_WRAPPING_KEY_TYPE_INCONSISTENT = 0x00000115L; 935 public static final long CKR_RANDOM_SEED_NOT_SUPPORTED = 0x00000120L; 936 937 public static final long CKR_RANDOM_NO_RNG = 0x00000121L; 938 939 public static final long CKR_DOMAIN_PARAMS_INVALID = 0x00000130L; 940 941 public static final long CKR_CURVE_NOT_SUPPORTED = 0x00000140L; 942 943 public static final long CKR_BUFFER_TOO_SMALL = 0x00000150L; 944 public static final long CKR_SAVED_STATE_INVALID = 0x00000160L; 945 public static final long CKR_INFORMATION_SENSITIVE = 0x00000170L; 946 public static final long CKR_STATE_UNSAVEABLE = 0x00000180L; 947 948 public static final long CKR_CRYPTOKI_NOT_INITIALIZED = 0x00000190L; 949 public static final long CKR_CRYPTOKI_ALREADY_INITIALIZED = 0x00000191L; 950 public static final long CKR_MUTEX_BAD = 0x000001A0L; 951 public static final long CKR_MUTEX_NOT_LOCKED = 0x000001A1L; 952 953 public static final long CKR_NEW_PIN_MODE = 0x000001B0L; 954 public static final long CKR_NEXT_OTP = 0x000001B1L; 955 956 public static final long CKR_EXCEEDED_MAX_ITERATIONS = 0x000001B5L; 957 public static final long CKR_FIPS_SELF_TEST_FAILED = 0x000001B6L; 958 public static final long CKR_LIBRARY_LOAD_FAILED = 0x000001B7L; 959 public static final long CKR_PIN_TOO_WEAK = 0x000001B8L; 960 public static final long CKR_PUBLIC_KEY_INVALID = 0x000001B9L; 961 public static final long CKR_FUNCTION_REJECTED = 0x00000200L; 962 963 public static final long CKR_VENDOR_DEFINED = 0x80000000L; 964 965 966 /* flags: bit flags that provide capabilities of the slot 967 * Bit Flag = Mask 968 */ 969 public static final long CKF_LIBRARY_CANT_CREATE_OS_THREADS = 0x00000001L; 970 public static final long CKF_OS_LOCKING_OK = 0x00000002L; 971 972 973 /* CKF_DONT_BLOCK is for the function C_WaitForSlotEvent */ 974 public static final long CKF_DONT_BLOCK = 1L; 975 976 /* The following MGFs are defined */ 977 public static final long CKG_MGF1_SHA1 = 0x00000001L; 978 public static final long CKG_MGF1_SHA256 = 0x00000002L; 979 public static final long CKG_MGF1_SHA384 = 0x00000003L; 980 public static final long CKG_MGF1_SHA512 = 0x00000004L; 981 public static final long CKG_MGF1_SHA224 = 0x00000005L; 982 983 /* The following encoding parameter sources are defined */ 984 public static final long CKZ_DATA_SPECIFIED = 0x00000001L; 985 986 987 /* the following EC Key Derivation Functions are defined */ 988 public static final long CKD_NULL = 0x00000001L; 989 public static final long CKD_SHA1_KDF = 0x00000002L; 990 991 /* the following X9.42 Diffie-Hellman Key Derivation Functions are defined */ 992 public static final long CKD_SHA1_KDF_ASN1 = 0x00000003L; 993 public static final long CKD_SHA1_KDF_CONCATENATE = 0x00000004L; 994 public static final long CKD_SHA224_KDF = 0x00000005L; 995 public static final long CKD_SHA256_KDF = 0x00000006L; 996 public static final long CKD_SHA384_KDF = 0x00000007L; 997 public static final long CKD_SHA512_KDF = 0x00000008L; 998 public static final long CKD_CPDIVERSIFY_KDF = 0x00000009L; 999 1000 public static final long CKP_PKCS5_PBKD2_HMAC_SHA1 = 0x00000001L; 1001 public static final long CKP_PKCS5_PBKD2_HMAC_GOSTR3411 = 0x00000002L; 1002 public static final long CKP_PKCS5_PBKD2_HMAC_SHA224 = 0x00000003L; 1003 public static final long CKP_PKCS5_PBKD2_HMAC_SHA256 = 0x00000004L; 1004 public static final long CKP_PKCS5_PBKD2_HMAC_SHA384 = 0x00000005L; 1005 public static final long CKP_PKCS5_PBKD2_HMAC_SHA512 = 0x00000006L; 1006 public static final long CKP_PKCS5_PBKD2_HMAC_SHA512_224 = 0x00000007L; 1007 public static final long CKP_PKCS5_PBKD2_HMAC_SHA512_256 = 0x00000008L; 1008 1009 public static final long CKZ_SALT_SPECIFIED = 0x00000001L; 1010 1011 public static final long CK_OTP_VALUE = 0x00000000L; 1012 public static final long CK_OTP_PIN = 0x00000001L; 1013 public static final long CK_OTP_CHALLENGE = 0x00000002L; 1014 public static final long CK_OTP_TIME = 0x00000003L; 1015 public static final long CK_OTP_COUNTER = 0x00000004L; 1016 public static final long CK_OTP_FLAGS = 0x00000005L; 1017 public static final long CK_OTP_OUTPUT_LENGTH = 0x00000006L; 1018 public static final long CK_OTP_OUTPUT_FORMAT = 0x00000007L; 1019 1020 public static final long CKF_NEXT_OTP = 0x00000001L; 1021 public static final long CKF_EXCLUDE_TIME = 0x00000002L; 1022 public static final long CKF_EXCLUDE_COUNTER = 0x00000004L; 1023 public static final long CKF_EXCLUDE_CHALLENGE = 0x00000008L; 1024 public static final long CKF_EXCLUDE_PIN = 0x00000010L; 1025 public static final long CKF_USER_FRIENDLY_OTP = 0x00000020L; 1026 1027 // private NSS attribute (for DSA and DH private keys) 1028 public static final long CKA_NETSCAPE_DB = 0xD5A0DB00L; 1029 1030 // base number of NSS private attributes 1031 public static final long CKA_NETSCAPE_BASE = 0x80000000L + 0x4E534350L; 1032 1033 // object type for NSS trust 1034 public static final long CKO_NETSCAPE_TRUST = CKA_NETSCAPE_BASE + 3; 1035 1036 // base number for NSS trust attributes 1037 public static final long CKA_NETSCAPE_TRUST_BASE = CKA_NETSCAPE_BASE + 0x2000; 1038 1039 // attributes for NSS trust 1040 public static final long CKA_NETSCAPE_TRUST_SERVER_AUTH = CKA_NETSCAPE_TRUST_BASE + 8; 1041 public static final long CKA_NETSCAPE_TRUST_CLIENT_AUTH = CKA_NETSCAPE_TRUST_BASE + 9; 1042 public static final long CKA_NETSCAPE_TRUST_CODE_SIGNING = CKA_NETSCAPE_TRUST_BASE + 10; 1043 public static final long CKA_NETSCAPE_TRUST_EMAIL_PROTECTION = CKA_NETSCAPE_TRUST_BASE + 11; 1044 public static final long CKA_NETSCAPE_CERT_SHA1_HASH = CKA_NETSCAPE_TRUST_BASE + 100; 1045 public static final long CKA_NETSCAPE_CERT_MD5_HASH = CKA_NETSCAPE_TRUST_BASE + 101; 1046 1047 // trust values for each of the NSS trust attributes 1048 public static final long CKT_NETSCAPE_TRUSTED = CKA_NETSCAPE_BASE + 1; 1049 public static final long CKT_NETSCAPE_TRUSTED_DELEGATOR = CKA_NETSCAPE_BASE + 2; 1050 public static final long CKT_NETSCAPE_UNTRUSTED = CKA_NETSCAPE_BASE + 3; 1051 public static final long CKT_NETSCAPE_MUST_VERIFY = CKA_NETSCAPE_BASE + 4; 1052 public static final long CKT_NETSCAPE_TRUST_UNKNOWN = CKA_NETSCAPE_BASE + 5; /* default */ 1053 public static final long CKT_NETSCAPE_VALID = CKA_NETSCAPE_BASE + 10; 1054 public static final long CKT_NETSCAPE_VALID_DELEGATOR = CKA_NETSCAPE_BASE + 11; 1055 1056 } 1057