Pycryptoki Helpers

These are various helper modules and functions. They contain constant definitions, C parameter structs, configuration parsing, and default templates.

lookup_dicts

Module that contains lookup dictionaries for easy logging of error codes and other constants within pycryptoki.

pycryptoki.lookup_dicts.ATTR_NAME_LOOKUP = {0: 'CKA_CLASS', 1: 'CKA_TOKEN', 2: 'CKA_PRIVATE', 3: 'CKA_LABEL', 16: 'CKA_APPLICATION', 17: 'CKA_VALUE', 128: 'CKA_CERTIFICATE_TYPE', 129: 'CKA_ISSUER', 130: 'CKA_SERIAL_NUMBER', 256: 'CKA_KEY_TYPE', 257: 'CKA_SUBJECT', 258: 'CKA_ID', 259: 'CKA_SENSITIVE', 260: 'CKA_ENCRYPT', 261: 'CKA_DECRYPT', 262: 'CKA_WRAP', 263: 'CKA_UNWRAP', 264: 'CKA_SIGN', 265: 'CKA_SIGN_RECOVER', 266: 'CKA_VERIFY', 267: 'CKA_VERIFY_RECOVER', 268: 'CKA_DERIVE', 272: 'CKA_START_DATE', 273: 'CKA_END_DATE', 288: 'CKA_MODULUS', 289: 'CKA_MODULUS_BITS', 290: 'CKA_PUBLIC_EXPONENT', 291: 'CKA_PRIVATE_EXPONENT', 292: 'CKA_PRIME_1', 293: 'CKA_PRIME_2', 294: 'CKA_EXPONENT_1', 295: 'CKA_EXPONENT_2', 296: 'CKA_COEFFICIENT', 304: 'CKA_PRIME', 305: 'CKA_SUBPRIME', 306: 'CKA_BASE', 307: 'CKA_PRIME_BITS', 308: 'CKA_SUBPRIME_BITS', 352: 'CKA_VALUE_BITS', 353: 'CKA_VALUE_LEN', 354: 'CKA_EXTRACTABLE', 355: 'CKA_LOCAL', 356: 'CKA_NEVER_EXTRACTABLE', 357: 'CKA_ALWAYS_SENSITIVE', 368: 'CKA_MODIFIABLE', 384: 'CKA_EC_PARAMS', 385: 'CKA_EC_POINT', 1073742354: 'CKA_UNWRAP_TEMPLATE', 1073742355: 'CKA_DERIVE_TEMPLATE', 2147483649: 'CKA_CCM_PRIVATE', 2147483650: 'CKA_FINGERPRINT_SHA1', 2147483653: 'CKA_OUID', 2147483654: 'CKA_X9_31_GENERATED', 2147483656: 'CKA_EKM_UID', 2147483905: 'CKA_USAGE_COUNT', 2147483909: 'CKA_BYTES_REMAINING', 2147484160: 'CKA_USAGE_LIMIT', 2147487744: 'CKA_GENERIC_1', 2147487745: 'CKA_GENERIC_2', 2147487746: 'CKA_GENERIC_3', 2147487747: 'CKA_FINGERPRINT_SHA256', 2147487749: 'CKA_AUTH_DATA', 2147487750: 'CKA_ASSIGNED', 2147487751: 'CKA_KEY_STATUS', 2147487752: 'CKA_FAILED_KEY_AUTH_COUNT'}
pycryptoki.lookup_dicts.ret_vals_dictionary = {0: 'CKR_OK', 1: 'CKR_CANCEL', 2: 'CKR_HOST_MEMORY', 3: 'CKR_SLOT_ID_INVALID', 5: 'CKR_GENERAL_ERROR', 6: 'CKR_FUNCTION_FAILED', 7: 'CKR_ARGUMENTS_BAD', 8: 'CKR_NO_EVENT', 9: 'CKR_NEED_TO_CREATE_THREADS', 10: 'CKR_CANT_LOCK', 16: 'CKR_ATTRIBUTE_READ_ONLY', 17: 'CKR_ATTRIBUTE_SENSITIVE', 18: 'CKR_ATTRIBUTE_TYPE_INVALID', 19: 'CKR_ATTRIBUTE_VALUE_INVALID', 32: 'CKR_DATA_INVALID', 33: 'CKR_DATA_LEN_RANGE', 48: 'CKR_DEVICE_ERROR', 49: 'CKR_DEVICE_MEMORY', 50: 'CKR_DEVICE_REMOVED', 64: 'CKR_ENCRYPTED_DATA_INVALID', 65: 'CKR_ENCRYPTED_DATA_LEN_RANGE', 80: 'CKR_FUNCTION_CANCELED', 81: 'CKR_FUNCTION_NOT_PARALLEL', 82: 'CKR_FUNCTION_PARALLEL', 84: 'CKR_FUNCTION_NOT_SUPPORTED', 96: 'CKR_KEY_HANDLE_INVALID', 98: 'CKR_KEY_SIZE_RANGE', 99: 'CKR_KEY_TYPE_INCONSISTENT', 100: 'CKR_KEY_NOT_NEEDED', 101: 'CKR_KEY_CHANGED', 102: 'CKR_KEY_NEEDED', 103: 'CKR_KEY_INDIGESTIBLE', 104: 'CKR_KEY_FUNCTION_NOT_PERMITTED', 105: 'CKR_KEY_NOT_WRAPPABLE', 106: 'CKR_KEY_UNEXTRACTABLE', 112: 'CKR_MECHANISM_INVALID', 113: 'CKR_MECHANISM_PARAM_INVALID', 130: 'CKR_OBJECT_HANDLE_INVALID', 144: 'CKR_OPERATION_ACTIVE', 145: 'CKR_OPERATION_NOT_INITIALIZED', 160: 'CKR_PIN_INCORRECT', 161: 'CKR_PIN_INVALID', 162: 'CKR_PIN_LEN_RANGE', 163: 'CKR_PIN_EXPIRED', 164: 'CKR_PIN_LOCKED', 176: 'CKR_SESSION_CLOSED', 177: 'CKR_SESSION_COUNT', 178: 'CKR_SESSION_EXCLUSIVE_EXISTS', 179: 'CKR_SESSION_HANDLE_INVALID', 180: 'CKR_SESSION_PARALLEL_NOT_SUPPORTED', 181: 'CKR_SESSION_READ_ONLY', 182: 'CKR_SESSION_EXISTS', 183: 'CKR_SESSION_READ_ONLY_EXISTS', 184: 'CKR_SESSION_READ_WRITE_SO_EXISTS', 192: 'CKR_SIGNATURE_INVALID', 193: 'CKR_SIGNATURE_LEN_RANGE', 208: 'CKR_TEMPLATE_INCOMPLETE', 209: 'CKR_TEMPLATE_INCONSISTENT', 224: 'CKR_TOKEN_NOT_PRESENT', 225: 'CKR_TOKEN_NOT_RECOGNIZED', 226: 'CKR_TOKEN_WRITE_PROTECTED', 240: 'CKR_UNWRAPPING_KEY_HANDLE_INVALID', 241: 'CKR_UNWRAPPING_KEY_SIZE_RANGE', 242: 'CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT', 256: 'CKR_USER_ALREADY_LOGGED_IN', 257: 'CKR_USER_NOT_LOGGED_IN', 258: 'CKR_USER_PIN_NOT_INITIALIZED', 259: 'CKR_USER_TYPE_INVALID', 260: 'CKR_USER_ANOTHER_ALREADY_LOGGED_IN', 261: 'CKR_USER_TOO_MANY_TYPES', 272: 'CKR_WRAPPED_KEY_INVALID', 274: 'CKR_WRAPPED_KEY_LEN_RANGE', 275: 'CKR_WRAPPING_KEY_HANDLE_INVALID', 276: 'CKR_WRAPPING_KEY_SIZE_RANGE', 277: 'CKR_WRAPPING_KEY_TYPE_INCONSISTENT', 288: 'CKR_RANDOM_SEED_NOT_SUPPORTED', 289: 'CKR_RANDOM_NO_RNG', 304: 'CKR_DOMAIN_PARAMS_INVALID', 321: 'CKR_INSERTION_CALLBACK_NOT_SUPPORTED', 336: 'CKR_BUFFER_TOO_SMALL', 352: 'CKR_SAVED_STATE_INVALID', 368: 'CKR_INFORMATION_SENSITIVE', 384: 'CKR_STATE_UNSAVEABLE', 400: 'CKR_CRYPTOKI_NOT_INITIALIZED', 401: 'CKR_CRYPTOKI_ALREADY_INITIALIZED', 416: 'CKR_MUTEX_BAD', 417: 'CKR_MUTEX_NOT_LOCKED', 432: 'CKR_NEW_PIN_MODE', 433: 'CKR_NEXT_OTP', 512: 'CKR_FUNCTION_REJECTED', 2147483648: 'CKR_VENDOR_DEFINED', 2147483652: 'CKR_RC_ERROR', 2147483653: 'CKR_CONTAINER_HANDLE_INVALID', 2147483654: 'CKR_TOO_MANY_CONTAINERS', 2147483655: 'CKR_USER_LOCKED_OUT', 2147483656: 'CKR_CLONING_PARAMETER_ALREADY_EXISTS', 2147483657: 'CKR_CLONING_PARAMETER_MISSING', 2147483658: 'CKR_CERTIFICATE_DATA_MISSING', 2147483659: 'CKR_CERTIFICATE_DATA_INVALID', 2147483660: 'CKR_ACCEL_DEVICE_ERROR', 2147483661: 'CKR_WRAPPING_ERROR', 2147483662: 'CKR_UNWRAPPING_ERROR', 2147483663: 'CKR_MAC_MISSING', 2147483664: 'CKR_DAC_POLICY_PID_MISMATCH', 2147483665: 'CKR_DAC_MISSING', 2147483666: 'CKR_BAD_DAC', 2147483667: 'CKR_SSK_MISSING', 2147483668: 'CKR_BAD_MAC', 2147483669: 'CKR_DAK_MISSING', 2147483670: 'CKR_BAD_DAK', 2147483671: 'CKR_SIM_AUTHORIZATION_FAILED', 2147483672: 'CKR_SIM_VERSION_UNSUPPORTED', 2147483673: 'CKR_SIM_CORRUPT_DATA', 2147483674: 'CKR_USER_NOT_AUTHORIZED', 2147483675: 'CKR_MAX_OBJECT_COUNT_EXCEEDED', 2147483676: 'CKR_SO_LOGIN_FAILURE_THRESHOLD', 2147483677: 'CKR_SIM_AUTHFORM_INVALID', 2147483678: 'CKR_CITS_DAK_MISSING', 2147483679: 'CKR_UNABLE_TO_CONNECT', 2147483680: 'CKR_PARTITION_DISABLED', 2147483681: 'CKR_CALLBACK_ERROR', 2147483682: 'CKR_SECURITY_PARAMETER_MISSING', 2147483683: 'CKR_SP_TIMEOUT', 2147483684: 'CKR_TIMEOUT', 2147483685: 'CKR_ECC_UNKNOWN_CURVE', 2147483686: 'CKR_MTK_ZEROIZED', 2147483687: 'CKR_MTK_STATE_INVALID', 2147483688: 'CKR_INVALID_ENTRY_TYPE', 2147483689: 'CKR_MTK_SPLIT_INVALID', 2147483690: 'CKR_HSM_STORAGE_FULL', 2147483691: 'CKR_DEVICE_TIMEOUT', 2147483692: 'CKR_CONTAINER_OBJECT_STORAGE_FULL', 2147483693: 'CKR_PED_CLIENT_NOT_RUNNING', 2147483694: 'CKR_PED_UNPLUGGED', 2147483695: 'CKR_ECC_POINT_INVALID', 2147483696: 'CKR_OPERATION_NOT_ALLOWED', 2147483697: 'CKR_LICENSE_CAPACITY_EXCEEDED', 2147483698: 'CKR_LOG_FILE_NOT_OPEN', 2147483699: 'CKR_LOG_FILE_WRITE_ERROR', 2147483700: 'CKR_LOG_BAD_FILE_NAME', 2147483701: 'CKR_LOG_FULL', 2147483702: 'CKR_LOG_NO_KCV', 2147483703: 'CKR_LOG_BAD_RECORD_HMAC', 2147483704: 'CKR_LOG_BAD_TIME', 2147483705: 'CKR_LOG_AUDIT_NOT_INITIALIZED', 2147483706: 'CKR_LOG_RESYNC_NEEDED', 2147483707: 'CKR_AUDIT_LOGIN_TIMEOUT_IN_PROGRESS', 2147483708: 'CKR_AUDIT_LOGIN_FAILURE_THRESHOLD', 2147483709: 'CKR_INVALID_FUF_TARGET', 2147483710: 'CKR_INVALID_FUF_HEADER', 2147483711: 'CKR_INVALID_FUF_VERSION', 2147483712: 'CKR_ECC_ECC_RESULT_AT_INF', 2147483713: 'CKR_AGAIN', 2147483714: 'CKR_TOKEN_COPIED', 2147483715: 'CKR_SLOT_NOT_EMPTY', 2147483716: 'CKR_USER_ALREADY_ACTIVATED', 2147483717: 'CKR_STC_NO_CONTEXT', 2147483718: 'CKR_STC_CLIENT_IDENTITY_NOT_CONFIGURED', 2147483719: 'CKR_STC_PARTITION_IDENTITY_NOT_CONFIGURED', 2147483720: 'CKR_STC_DH_KEYGEN_ERROR', 2147483721: 'CKR_STC_CIPHER_SUITE_REJECTED', 2147483722: 'CKR_STC_DH_KEY_NOT_FROM_SAME_GROUP', 2147483723: 'CKR_STC_COMPUTE_DH_KEY_ERROR', 2147483724: 'CKR_STC_FIRST_PHASE_KDF_ERROR', 2147483725: 'CKR_STC_SECOND_PHASE_KDF_ERROR', 2147483726: 'CKR_STC_KEY_CONFIRMATION_FAILED', 2147483727: 'CKR_STC_NO_SESSION_KEY', 2147483728: 'CKR_STC_RESPONSE_BAD_MAC', 2147483729: 'CKR_STC_NOT_ENABLED', 2147483730: 'CKR_STC_CLIENT_HANDLE_INVALID', 2147483731: 'CKR_STC_SESSION_INVALID', 2147483732: 'CKR_STC_CONTAINER_INVALID', 2147483733: 'CKR_STC_SEQUENCE_NUM_INVALID', 2147483734: 'CKR_STC_NO_CHANNEL', 2147483735: 'CKR_STC_RESPONSE_DECRYPT_ERROR', 2147483736: 'CKR_STC_RESPONSE_REPLAYED', 2147483737: 'CKR_STC_REKEY_CHANNEL_MISMATCH', 2147483738: 'CKR_STC_RSA_ENCRYPT_ERROR', 2147483739: 'CKR_STC_RSA_SIGN_ERROR', 2147483740: 'CKR_STC_RSA_DECRYPT_ERROR', 2147483741: 'CKR_STC_RESPONSE_UNEXPECTED_KEY', 2147483742: 'CKR_STC_UNEXPECTED_NONCE_PAYLOAD_SIZE', 2147483743: 'CKR_STC_UNEXPECTED_DH_DATA_SIZE', 2147483744: 'CKR_STC_OPEN_CIPHER_MISMATCH', 2147483745: 'CKR_STC_OPEN_DHNIST_PUBKEY_ERROR', 2147483746: 'CKR_STC_OPEN_KEY_MATERIAL_GEN_FAIL', 2147483747: 'CKR_STC_OPEN_RESP_GEN_FAIL', 2147483748: 'CKR_STC_ACTIVATE_MACTAG_U_VERIFY_FAIL', 2147483749: 'CKR_STC_ACTIVATE_MACTAG_V_GEN_FAIL', 2147483750: 'CKR_STC_ACTIVATE_RESP_GEN_FAIL', 2147483751: 'CKR_CHALLENGE_INCORRECT', 2147483752: 'CKR_ACCESS_ID_INVALID', 2147483753: 'CKR_ACCESS_ID_ALREADY_EXISTS', 2147483759: 'CKR_OBJECT_ALREADY_EXISTS', 2147483764: 'CKR_KEK_RETRY_FAILURE', 2147483765: 'CKR_RNG_RESEED_TOO_EARLY', 2147483775: 'CKR_INVALID_UTILIZATION_METRICS', 2147483791: 'CKR_ASSIGNED_KEY_REQUIRES_AUTH_DATA', 2147483792: 'CKR_ROLE_CANNOT_MAKE_KEYS_ASSIGNED', 2147483793: 'CKR_ASSIGNED_KEY_CANNOT_BE_MODIFIED', 2147483794: 'CKR_AUTH_DATA_TOO_LARGE', 2147483795: 'CKR_AUTH_DATA_TOO_SMALL', 2147483796: 'CKR_OH_AUTH_DATA_NOT_PROVIDED', 2147483797: 'CKR_ASSIGNED_KEY_FAILED_ATTRIBUTE_DEPENDENCIES', 2147483798: 'CKR_KEY_CANNOT_BE_AUTHORIZED', 2147483799: 'CKR_KEY_NOT_AUTHORIZED', 2147483800: 'CKR_AUTH_DATA_INCORRECT', 2147483801: 'CKR_SMK_ID_NOT_FOUND', 2147483802: 'CKR_INTERNAL_INTEGRITY_ERROR', 2147483803: 'CKR_ASSIGNED_KEY_CANNOT_BE_RESET', 2147483804: 'CKR_AUTH_DATA_INCORRECT_AND_LIMIT_REACHED', 2147483924: 'CKR_OBJECT_READ_ONLY', 2147483958: 'CKR_KEY_NOT_ACTIVE'}

default_templates

File containing a number of templates taken from CKDemo and manually converted into python format. See the attributes.py file for methods to convert them into the proper C format.

pycryptoki.default_templates.CERTIFICATE_TEMPLATE = {0: 1, 1: True, 3: b'Created certificate object', 17: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], 128: 0, 257: b''}

The simple data object template taken from CKDemo when you select the Create Object option and choose data

pycryptoki.default_templates.CKM_DH_PKCS_PARAMETER_GEN_TEMP = {1: True, 2: True, 3: b'SH PKCS Parameter Key', 259: True, 307: 512}

The simple certificate object taken from CKDemo when you select the Create Object option and choose certificate

pycryptoki.default_templates.CKM_SSL3_PRE_MASTER_KEY_GEN_TEMP = {1: True, 3: b'SSL3 Pre Master Key', 260: 4097, 268: True}

Curve dictionary for ECDSA with oids as lists, taken from Components/tools/common/CommonData.cpp

pycryptoki.default_templates.KEY_PAIR_GENERATOR_TEMPLATES = {0: ({1: True, 2: True, 368: True, 260: True, 266: True, 262: True, 289: 1024, 290: 3, 3: b'RSA Public Key'}, {1: True, 2: True, 259: True, 368: True, 354: True, 261: True, 264: True, 263: True, 3: b'RSA Private Key'}), 10: ({1: True, 2: True, 368: True, 260: True, 266: True, 262: True, 289: 1024, 290: 3, 3: b'RSA Public Key'}, {1: True, 2: True, 259: True, 368: True, 354: True, 261: True, 264: True, 263: True, 3: b'RSA Private Key'}), 16: ({1: True, 2: True, 260: True, 266: True, 262: True, 304: [160, 56, 62, 230, 146, 248, 245, 186, 221, 249, 49, 123, 22, 237, 210, 132, 163, 99, 25, 176, 83, 247, 58, 212, 49, 174, 75, 93, 178, 198, 99, 11, 90, 191, 232, 197, 203, 157, 35, 6, 80, 220, 114, 238, 251, 230, 242, 97, 219, 47, 67, 230, 131, 129, 88, 140, 253, 74, 116, 81, 187, 187, 48, 197, 149, 33, 215, 142, 167, 109, 192, 112, 207, 129, 120, 51, 25, 159, 247, 21, 203, 209, 18, 162, 88, 80, 105, 53, 68, 102, 46, 18, 187, 39, 147, 168, 20, 132, 119, 100, 172, 39, 124, 92, 240, 107, 62, 4, 74, 69, 145, 62, 221, 97, 146, 41, 221, 215, 40, 147, 20, 208, 11, 182, 167, 218, 241, 126, 184, 99, 243, 29, 194, 44, 204, 5, 246, 20, 193, 187, 12, 234, 76, 69, 79, 198, 160, 41, 192, 210, 86, 141, 28, 94, 239, 127, 124, 65, 241, 182, 89, 206, 217, 36, 221, 14, 171, 199, 201, 188, 58, 85, 144, 212, 3, 18, 227, 236, 19, 162, 202, 161, 128, 237, 107, 12, 125, 84, 209, 99, 202, 31, 50, 205, 137, 39, 160, 253, 57, 78, 81, 222, 242, 163, 30, 131, 252, 83, 115, 190, 248, 210, 95, 101, 50, 239, 81, 95, 134, 123, 11, 49, 115, 143, 242, 127, 172, 173, 13, 251, 64, 231, 107, 104, 58, 59, 17, 201, 159, 89, 200, 164, 152, 186, 43, 136, 8, 112, 15, 32, 21, 20, 92, 119, 219, 164, 32, 197, 240, 219, 149, 172, 136, 3, 106, 64, 144, 74, 83, 179, 128, 170, 12, 117, 128, 90, 13, 253, 173, 76, 190, 170, 72, 145, 171, 216, 77, 36, 187, 100, 77, 150, 197, 159, 51, 158, 1, 107, 180, 50, 31, 244, 238, 51, 228, 3, 206, 160, 222, 158, 217, 89, 204, 108, 27, 186, 44, 125, 199, 68, 222, 122, 34, 95, 101, 251, 10, 120, 238, 87, 186, 125, 42, 146, 242, 71, 80, 218, 166, 140, 138, 106, 131, 6, 195, 92, 73, 13, 45, 47, 88, 146, 190, 18, 65, 134, 10, 213, 69, 59, 27, 227, 43, 14, 199, 41, 152, 62, 60, 151, 211, 40, 115, 252, 130, 199, 180, 244, 107, 253, 165, 20, 158, 143], 305: [243, 150, 82, 208, 14, 247, 150, 45, 174, 125, 138, 19, 168, 9, 168, 20, 197, 228, 249, 186, 142, 109, 234, 61, 24, 243, 81, 72, 4, 252, 225, 55], 306: [7, 31, 148, 151, 248, 88, 133, 94, 166, 31, 168, 5, 151, 52, 192, 18, 42, 201, 28, 185, 248, 29, 253, 143, 166, 236, 192, 131, 246, 12, 179, 14, 168, 11, 21, 86, 229, 195, 144, 208, 6, 115, 36, 104, 40, 212, 188, 237, 161, 132, 137, 21, 171, 134, 255, 36, 86, 142, 64, 2, 3, 153, 189, 185, 246, 117, 18, 89, 81, 173, 30, 87, 29, 212, 242, 35, 70, 20, 137, 171, 101, 69, 4, 64, 226, 43, 1, 184, 245, 155, 155, 56, 105, 47, 18, 11, 152, 52, 221, 40, 235, 159, 240, 138, 252, 68, 152, 225, 114, 235, 61, 84, 178, 138, 142, 177, 0, 171, 80, 165, 102, 123, 154, 158, 138, 173, 63, 104, 241, 222, 177, 4, 96, 74, 61, 46, 15, 37, 10, 156, 24, 139, 116, 97, 236, 215, 222, 198, 86, 181, 119, 232, 70, 126, 70, 78, 17, 172, 73, 68, 151, 136, 101, 205, 245, 99, 170, 182, 162, 230, 138, 41, 83, 149, 43, 10, 104, 232, 129, 72, 110, 118, 52, 212, 145, 141, 249, 112, 167, 206, 13, 96, 138, 146, 112, 142, 73, 82, 18, 253, 75, 38, 121, 13, 92, 7, 221, 90, 181, 90, 232, 32, 155, 99, 25, 5, 85, 192, 67, 183, 128, 47, 174, 120, 121, 126, 79, 99, 241, 203, 24, 9, 175, 74, 252, 96, 178, 180, 175, 120, 186, 179, 173, 156, 204, 57, 16, 8, 150, 67, 142, 103, 145, 174, 236, 144, 232, 153, 249, 118, 89, 69, 79, 76, 117, 150, 51, 176, 216, 87, 181, 5, 18, 69, 21, 199, 94, 58, 100, 144, 231, 22, 140, 115, 250, 21, 104, 232, 201, 4, 176, 66, 73, 250, 49, 168, 60, 109, 131, 138, 247, 212, 45, 72, 113, 9, 137, 249, 251, 201, 195, 123, 44, 135, 145, 87, 201, 233, 129, 142, 164, 221, 183, 122, 31, 188, 102, 62, 216, 45, 232, 56, 195, 171, 59, 130, 197, 125, 208, 255, 191, 164, 149, 230, 234, 211, 62, 68, 5, 208, 88, 233, 179, 123, 58, 113, 206, 189, 228, 47, 77, 51, 70, 180, 197, 249, 214, 73, 139, 115, 188, 27, 159, 13, 61, 12, 73, 41, 66, 153, 112, 233, 197, 235], 3: b'DSA 3072_256 Public Key'}, {1: True, 2: True, 259: True, 261: True, 264: True, 263: True, 354: True, 3: b'DSA Public Key'}), 32: ({1: True, 2: True, 268: True, 304: [244, 136, 253, 88, 78, 73, 219, 205, 32, 180, 157, 228, 145, 7, 54, 107, 51, 108, 56, 13, 69, 29, 15, 124, 136, 179, 28, 124, 91, 45, 142, 246, 243, 201, 35, 192, 67, 240, 165, 91, 24, 141, 142, 187, 85, 140, 184, 93, 56, 211, 52, 253, 124, 23, 87, 67, 163, 29, 24, 108, 222, 51, 33, 44, 181, 42, 255, 60, 225, 177, 41, 64, 24, 17, 141, 124, 132, 167, 10, 114, 214, 134, 196, 3, 25, 200, 7, 41, 122, 202, 149, 12, 217, 150, 159, 171, 208, 10, 80, 155, 2, 70, 211, 8, 61, 102, 164, 93, 65, 159, 156, 124, 189, 137, 75, 34, 25, 38, 186, 171, 162, 94, 195, 85, 233, 47, 120, 199], 306: [2], 3: b'DH Public Key'}, {352: 1024, 1: True, 2: True, 259: True, 268: True, 354: True, 3: b'DH Private Key'}), 4160: ({1: True, 2: True, 260: True, 266: True, 268: True, 384: [6, 5, 43, 129, 4, 0, 6], 3: b'ECDSA Public Key'}, {1: True, 2: True, 259: True, 261: True, 264: True, 268: True, 354: True, 3: b'ECDSA Private Key'}), 2147483905: ({1: True, 2: True, 260: True, 266: True, 262: True, 304: [236, 254, 163, 63, 162, 39, 195, 177, 167, 223, 215, 241, 187, 72, 124, 212, 38, 171, 10, 43, 43, 58, 241, 143, 239, 157, 97, 205, 79, 123, 187, 141, 125, 141, 76, 132, 19, 122, 175, 229, 181, 186, 157, 228, 210, 181, 139, 0, 57, 188, 102, 156, 124, 61, 152, 126, 10, 116, 27, 6, 207, 151, 181, 62, 203, 30, 29, 34, 81, 230, 212, 226, 114, 167, 114, 211, 76, 63, 252, 212, 213, 124, 63, 68, 162, 27, 252, 151, 173, 52, 178, 143, 211, 207, 119, 137, 122, 206, 100, 198, 146, 170, 105, 19, 237, 34, 162, 59, 69, 25, 152, 136, 41, 5, 124, 210, 51, 175, 161, 247, 171, 102, 64, 202, 5, 126, 22, 153, 122, 146, 170, 94, 7, 192, 199, 60, 130, 180, 150, 2, 35, 102, 153, 151, 163, 64, 241, 54, 155, 51, 199, 190, 233, 172, 206, 133, 248, 189, 106, 38, 15, 121, 231, 158, 238, 238, 214, 130, 200, 125, 75, 231, 76, 47, 68, 154, 27, 104, 63, 186, 228, 253, 25, 202, 208, 151, 211, 113, 18, 140, 134, 190, 147, 132, 183, 53, 42, 209, 58, 154, 39, 143, 54, 79, 8, 158, 56, 223, 37, 232, 74, 112, 77, 228, 251, 22, 64, 165, 25, 252, 98, 145, 118, 29, 171, 17, 226, 247, 128, 231, 26, 98, 46, 154, 191, 133, 254, 25, 74, 69, 121, 59, 250, 179, 161, 233, 138, 29, 253, 87, 181, 199, 9, 121, 184, 27], 305: [229, 125, 72, 212, 68, 61, 96, 178, 111, 72, 130, 61, 29, 234, 206, 242, 180, 74, 108, 71, 91, 18, 67, 71, 180, 129, 71, 248, 162, 253, 51, 211], 306: [104, 144, 234, 111, 90, 86, 79, 210, 161, 254, 7, 215, 188, 165, 171, 128, 249, 90, 95, 71, 233, 127, 252, 154, 234, 103, 19, 248, 173, 54, 225, 252, 2, 66, 23, 205, 249, 190, 92, 233, 166, 205, 219, 107, 92, 30, 126, 34, 14, 213, 127, 43, 12, 155, 247, 226, 213, 35, 193, 69, 11, 70, 126, 100, 128, 201, 111, 155, 32, 118, 208, 63, 174, 140, 77, 153, 62, 156, 230, 107, 201, 184, 57, 165, 88, 21, 108, 105, 121, 42, 250, 52, 118, 23, 100, 106, 42, 41, 77, 206, 228, 7, 120, 163, 203, 147, 122, 120, 42, 81, 145, 189, 66, 151, 59, 7, 49, 202, 79, 98, 42, 99, 224, 105, 69, 49, 200, 117, 62, 58, 176, 232, 141, 220, 134, 28, 117, 28, 37, 46, 116, 24, 137, 179, 62, 57, 14, 28, 165, 196, 117, 31, 49, 30, 25, 97, 91, 190, 167, 24, 155, 4, 242, 41, 200, 231, 64, 132, 57, 210, 40, 165, 48, 91, 34, 120, 51, 171, 168, 48, 152, 28, 51, 236, 254, 231, 144, 140, 109, 57, 84, 66, 155, 239, 48, 222, 161, 21, 254, 230, 208, 63, 19, 240, 160, 46, 178, 25, 228, 185, 176, 186, 172, 50, 194, 36, 11, 42, 71, 23, 218, 124, 17, 108, 226, 9, 36, 113, 48, 172, 20, 12, 211, 171, 220, 231, 120, 164, 39, 39, 243, 44, 250, 253, 174, 158, 81, 104, 71, 178, 108, 228, 203, 183, 102, 3], 3: b'KCDSA Public Key'}, {1: True, 2: True, 259: True, 261: True, 264: True, 263: True, 354: True, 3: b'KCDSA Private Key'}), 2147483970: ({1: True, 2: True, 368: True, 260: True, 266: True, 262: True, 289: 1024, 290: 3, 3: b'RSA Public Key'}, {1: True, 2: True, 259: True, 368: True, 354: True, 261: True, 264: True, 263: True, 3: b'RSA Private Key'}), 2147483971: ({1: True, 2: True, 368: True, 260: True, 266: True, 262: True, 289: 1024, 290: 3, 3: b'RSA Public Key'}, {1: True, 2: True, 259: True, 368: True, 354: True, 261: True, 264: True, 263: True, 3: b'RSA Private Key'})}

This list is not complete

pycryptoki.default_templates.get_default_key_pair_template(mechanism)[source]

Gets the default template for the given key pair gen mechanism, returns a deep copy

Parameters:mechanism
pycryptoki.default_templates.get_default_key_template(mechanism)[source]

Gets a default template for the given key gen mechanism, returns a deep copy

Parameters:mechanism

defaults

A file containing commonly used strings or other data similar to a config file