"""
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.
"""
import copy
from .defines import (CKA_BASE, CKA_CERTIFICATE_TYPE, CKA_CLASS, CKA_DECRYPT, CKA_DERIVE,
CKA_ECDSA_PARAMS, CKA_ENCRYPT,
CKA_EXTRACTABLE, CKA_KEY_TYPE, CKA_LABEL, CKA_MODIFIABLE, CKA_MODULUS_BITS,
CKA_PRIME,
CKA_PRIME_BITS, CKA_PRIVATE, CKA_PUBLIC_EXPONENT, CKA_SENSITIVE, CKA_SIGN,
CKA_SUBJECT,
CKA_SUBPRIME, CKA_SUBPRIME_BITS, CKA_TOKEN, CKA_UNWRAP, CKA_VALUE,
CKA_VALUE_BITS, CKA_VALUE_LEN,
CKA_VERIFY, CKA_WRAP, CKC_X_509, CKK_AES, CKK_ARIA, CKK_CAST3, CKK_CAST5,
CKK_DES, CKK_DES2,
CKK_DES3, CKK_GENERIC_SECRET, CKK_RC2, CKK_RC4, CKK_RC5, CKK_SEED,
CKM_2DES_KEY_DERIVATION,
CKM_ACTI, CKM_ACTI_KEY_GEN, CKM_AES_CBC, CKM_AES_CBC_ENCRYPT_DATA,
CKM_AES_CBC_PAD,
CKM_AES_CBC_PAD_EXTRACT, CKM_AES_CBC_PAD_EXTRACT_DOMAIN_CTRL,
CKM_AES_CBC_PAD_EXTRACT_FLATTENED,
CKM_AES_CBC_PAD_INSERT, CKM_AES_CBC_PAD_INSERT_DOMAIN_CTRL,
CKM_AES_CBC_PAD_INSERT_FLATTENED,
CKM_AES_CBC_PAD_IPSEC, CKM_AES_CFB128, CKM_AES_CFB8, CKM_AES_CMAC,
CKM_AES_CMAC_GENERAL,
CKM_AES_CTR, CKM_AES_ECB, CKM_AES_ECB_ENCRYPT_DATA, CKM_AES_GCM, CKM_AES_GMAC,
CKM_AES_KEY_GEN,
CKM_AES_KEY_WRAP, CKM_AES_KEY_WRAP_PAD, CKM_AES_KW, CKM_AES_KWP, CKM_AES_MAC,
CKM_AES_MAC_GENERAL,
CKM_AES_OFB, CKM_ARIA_CBC, CKM_ARIA_CBC_ENCRYPT_DATA, CKM_ARIA_CBC_PAD,
CKM_ARIA_CFB128,
CKM_ARIA_CFB8, CKM_ARIA_CMAC, CKM_ARIA_CMAC_GENERAL, CKM_ARIA_CTR,
CKM_ARIA_ECB,
CKM_ARIA_ECB_ENCRYPT_DATA, CKM_ARIA_GCM, CKM_ARIA_KEY_GEN, CKM_ARIA_L_CBC,
CKM_ARIA_L_CBC_PAD,
CKM_ARIA_L_ECB, CKM_ARIA_L_MAC, CKM_ARIA_L_MAC_GENERAL, CKM_ARIA_MAC,
CKM_ARIA_MAC_GENERAL,
CKM_ARIA_OFB, CKM_BATON_CBC128, CKM_BATON_COUNTER, CKM_BATON_ECB128,
CKM_BATON_ECB96,
CKM_BATON_KEY_GEN, CKM_BATON_SHUFFLE, CKM_BATON_WRAP, CKM_BLOWFISH_CBC,
CKM_BLOWFISH_KEY_GEN,
CKM_CAMELLIA_CBC, CKM_CAMELLIA_CBC_ENCRYPT_DATA, CKM_CAMELLIA_CBC_PAD,
CKM_CAMELLIA_CTR,
CKM_CAMELLIA_ECB, CKM_CAMELLIA_ECB_ENCRYPT_DATA, CKM_CAMELLIA_KEY_GEN,
CKM_CAMELLIA_MAC,
CKM_CAMELLIA_MAC_GENERAL, CKM_CAST3_CBC, CKM_CAST3_CBC_PAD, CKM_CAST3_ECB,
CKM_CAST3_KEY_GEN,
CKM_CAST3_MAC, CKM_CAST3_MAC_GENERAL, CKM_CAST5_CBC, CKM_CAST5_CBC_PAD,
CKM_CAST5_ECB,
CKM_CAST5_KEY_GEN, CKM_CAST5_MAC, CKM_CAST5_MAC_GENERAL, CKM_CAST_CBC,
CKM_CAST_CBC_PAD,
CKM_CAST_ECB, CKM_CAST_KEY_GEN, CKM_CAST_MAC, CKM_CAST_MAC_GENERAL,
CKM_CDMF_CBC, CKM_CDMF_CBC_PAD,
CKM_CDMF_ECB, CKM_CDMF_KEY_GEN, CKM_CDMF_MAC, CKM_CDMF_MAC_GENERAL,
CKM_CMS_SIG,
CKM_CONCATENATE_BASE_AND_DATA, CKM_CONCATENATE_BASE_AND_KEY,
CKM_CONCATENATE_DATA_AND_BASE,
CKM_DES2_DUKPT_DATA, CKM_DES2_DUKPT_DATA_RESP, CKM_DES2_DUKPT_MAC,
CKM_DES2_DUKPT_MAC_RESP,
CKM_DES2_DUKPT_PIN, CKM_DES2_KEY_GEN, CKM_DES3_CBC, CKM_DES3_CBC_ENCRYPT_DATA,
CKM_DES3_CBC_PAD,
CKM_DES3_CBC_PAD_IPSEC, CKM_DES3_CMAC, CKM_DES3_CMAC_GENERAL, CKM_DES3_CTR,
CKM_DES3_ECB,
CKM_DES3_ECB_ENCRYPT_DATA, CKM_DES3_KEY_GEN, CKM_DES3_MAC,
CKM_DES3_MAC_GENERAL, CKM_DES3_X919_MAC,
CKM_DES_CBC, CKM_DES_CBC_ENCRYPT_DATA, CKM_DES_CBC_PAD, CKM_DES_CFB64,
CKM_DES_CFB8, CKM_DES_ECB,
CKM_DES_ECB_ENCRYPT_DATA, CKM_DES_KEY_GEN, CKM_DES_MAC, CKM_DES_MAC_GENERAL,
CKM_DES_OFB64,
CKM_DES_OFB8, CKM_DH_PKCS_DERIVE, CKM_DH_PKCS_KEY_PAIR_GEN,
CKM_DH_PKCS_PARAMETER_GEN, CKM_DSA,
CKM_DSA_KEY_PAIR_GEN, CKM_DSA_PARAMETER_GEN, CKM_DSA_SHA1, CKM_DSA_SHA224,
CKM_DSA_SHA256,
CKM_ECDH1_COFACTOR_DERIVE, CKM_ECDH1_DERIVE, CKM_ECDSA, CKM_ECDSA_GBCS_SHA256,
CKM_ECDSA_KEY_PAIR_GEN, CKM_ECDSA_KEY_PAIR_GEN_W_EXTRA_BITS, CKM_ECDSA_SHA1,
CKM_ECDSA_SHA224,
CKM_ECDSA_SHA256, CKM_ECDSA_SHA384, CKM_ECDSA_SHA512, CKM_ECIES,
CKM_ECMQV_DERIVE,
CKM_EXTRACT_KEY_FROM_KEY, CKM_FASTHASH, CKM_FORTEZZA_TIMESTAMP,
CKM_GENERIC_SECRET_KEY_GEN,
CKM_HAS160, CKM_HOTP, CKM_HOTP_KEY_GEN, CKM_IDEA_CBC, CKM_IDEA_CBC_PAD,
CKM_IDEA_ECB,
CKM_IDEA_KEY_GEN, CKM_IDEA_MAC, CKM_IDEA_MAC_GENERAL,
CKM_INDIRECT_LOGIN_REENCRYPT,
CKM_JUNIPER_CBC128, CKM_JUNIPER_COUNTER, CKM_JUNIPER_ECB128,
CKM_JUNIPER_KEY_GEN,
CKM_JUNIPER_SHUFFLE, CKM_JUNIPER_WRAP, CKM_KCDSA_HAS160,
CKM_KCDSA_HAS160_NO_PAD,
CKM_KCDSA_KEY_PAIR_GEN, CKM_KCDSA_PARAMETER_GEN, CKM_KCDSA_SHA1,
CKM_KCDSA_SHA1_NO_PAD,
CKM_KCDSA_SHA224, CKM_KCDSA_SHA224_NO_PAD, CKM_KCDSA_SHA256,
CKM_KCDSA_SHA256_NO_PAD,
CKM_KCDSA_SHA384, CKM_KCDSA_SHA384_NO_PAD, CKM_KCDSA_SHA512,
CKM_KCDSA_SHA512_NO_PAD,
CKM_KEA_KEY_DERIVE, CKM_KEA_KEY_PAIR_GEN, CKM_KEY_TRANSLATION,
CKM_KEY_WRAP_LYNKS,
CKM_KEY_WRAP_SET_OAEP, CKM_KIP_DERIVE, CKM_KIP_MAC, CKM_KIP_WRAP, CKM_MD2,
CKM_MD2_HMAC,
CKM_MD2_HMAC_GENERAL, CKM_MD2_KEY_DERIVATION, CKM_MD2_RSA_PKCS, CKM_MD5,
CKM_MD5_HMAC,
CKM_MD5_HMAC_GENERAL, CKM_MD5_KEY_DERIVATION, CKM_MD5_RSA_PKCS,
CKM_NIST_PRF_KDF,
CKM_PBA_SHA1_WITH_SHA1_HMAC, CKM_PBE_MD2_DES_CBC, CKM_PBE_MD5_CAST3_CBC,
CKM_PBE_MD5_CAST5_CBC,
CKM_PBE_MD5_CAST_CBC, CKM_PBE_MD5_DES_CBC, CKM_PBE_SHA1_CAST5_CBC,
CKM_PBE_SHA1_DES2_EDE_CBC,
CKM_PBE_SHA1_DES3_EDE_CBC, CKM_PBE_SHA1_RC2_128_CBC, CKM_PBE_SHA1_RC2_40_CBC,
CKM_PBE_SHA1_RC4_128,
CKM_PBE_SHA1_RC4_40, CKM_PKCS5_PBKD2, CKM_PLACE_HOLDER_FOR_ERACOME_DEF_IN_SHIM,
CKM_PRF_KDF,
CKM_RC2_CBC, CKM_RC2_CBC_PAD, CKM_RC2_ECB, CKM_RC2_KEY_GEN, CKM_RC2_MAC,
CKM_RC2_MAC_GENERAL,
CKM_RC4, CKM_RC4_KEY_GEN, CKM_RC5_CBC, CKM_RC5_CBC_PAD, CKM_RC5_ECB,
CKM_RC5_KEY_GEN, CKM_RC5_MAC,
CKM_RC5_MAC_GENERAL, CKM_RIPEMD128, CKM_RIPEMD128_HMAC,
CKM_RIPEMD128_HMAC_GENERAL,
CKM_RIPEMD128_RSA_PKCS, CKM_RIPEMD160, CKM_RIPEMD160_HMAC,
CKM_RIPEMD160_HMAC_GENERAL,
CKM_RIPEMD160_RSA_PKCS, CKM_RSA_9796,
CKM_RSA_FIPS_186_3_AUX_PRIME_KEY_PAIR_GEN,
CKM_RSA_FIPS_186_3_PRIME_KEY_PAIR_GEN, CKM_RSA_PKCS, CKM_RSA_PKCS_KEY_PAIR_GEN,
CKM_RSA_PKCS_OAEP,
CKM_RSA_PKCS_PSS, CKM_RSA_X9_31, CKM_RSA_X9_31_KEY_PAIR_GEN,
CKM_RSA_X9_31_NON_FIPS, CKM_RSA_X_509,
CKM_SECURID, CKM_SECURID_KEY_GEN, CKM_SEED_CBC, CKM_SEED_CBC_PAD,
CKM_SEED_CMAC,
CKM_SEED_CMAC_GENERAL, CKM_SEED_CTR, CKM_SEED_ECB, CKM_SEED_KEY_GEN,
CKM_SEED_MAC,
CKM_SEED_MAC_GENERAL, CKM_SHA1_KEY_DERIVATION, CKM_SHA1_RSA_PKCS,
CKM_SHA1_RSA_PKCS_PSS,
CKM_SHA1_RSA_X9_31, CKM_SHA1_RSA_X9_31_NON_FIPS, CKM_SHA224, CKM_SHA224_HMAC,
CKM_SHA224_HMAC_GENERAL, CKM_SHA224_KEY_DERIVATION, CKM_SHA224_RSA_PKCS,
CKM_SHA224_RSA_PKCS_PSS,
CKM_SHA224_RSA_X9_31, CKM_SHA224_RSA_X9_31_NON_FIPS, CKM_SHA256,
CKM_SHA256_HMAC,
CKM_SHA256_HMAC_GENERAL, CKM_SHA256_KEY_DERIVATION, CKM_SHA256_RSA_PKCS,
CKM_SHA256_RSA_PKCS_PSS,
CKM_SHA256_RSA_X9_31, CKM_SHA256_RSA_X9_31_NON_FIPS, CKM_SHA384,
CKM_SHA384_HMAC,
CKM_SHA384_HMAC_GENERAL, CKM_SHA384_KEY_DERIVATION, CKM_SHA384_RSA_PKCS,
CKM_SHA384_RSA_PKCS_PSS,
CKM_SHA384_RSA_X9_31, CKM_SHA384_RSA_X9_31_NON_FIPS, CKM_SHA512,
CKM_SHA512_HMAC,
CKM_SHA512_HMAC_GENERAL, CKM_SHA512_KEY_DERIVATION, CKM_SHA512_RSA_PKCS,
CKM_SHA512_RSA_PKCS_PSS,
CKM_SHA512_RSA_X9_31, CKM_SHA512_RSA_X9_31_NON_FIPS, CKM_SHA_1, CKM_SHA_1_HMAC,
CKM_SHA_1_HMAC_GENERAL, CKM_SKIPJACK_CBC64, CKM_SKIPJACK_CFB16,
CKM_SKIPJACK_CFB32,
CKM_SKIPJACK_CFB64, CKM_SKIPJACK_CFB8, CKM_SKIPJACK_ECB64,
CKM_SKIPJACK_KEY_GEN, CKM_SKIPJACK_OFB64,
CKM_SKIPJACK_PRIVATE_WRAP, CKM_SKIPJACK_RELAYX, CKM_SKIPJACK_WRAP,
CKM_SSL3_KEY_AND_MAC_DERIVE,
CKM_SSL3_MASTER_KEY_DERIVE, CKM_SSL3_MASTER_KEY_DERIVE_DH, CKM_SSL3_MD5_MAC,
CKM_SSL3_PRE_MASTER_KEY_GEN, CKM_SSL3_SHA1_MAC, CKM_TDEA_KW, CKM_TDEA_KWP,
CKM_TLS_KEY_AND_MAC_DERIVE, CKM_TLS_MASTER_KEY_DERIVE,
CKM_TLS_MASTER_KEY_DERIVE_DH,
CKM_TLS_PRE_MASTER_KEY_GEN, CKM_TLS_PRF, CKM_TWOFISH_CBC, CKM_TWOFISH_KEY_GEN,
CKM_VENDOR_DEFINED,
CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE, CKM_WTLS_MASTER_KEY_DERIVE,
CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC,
CKM_WTLS_PRE_MASTER_KEY_GEN, CKM_WTLS_PRF, CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE,
CKM_X9_42_DH_DERIVE,
CKM_X9_42_DH_HYBRID_DERIVE, CKM_X9_42_DH_KEY_PAIR_GEN,
CKM_X9_42_DH_PARAMETER_GEN,
CKM_X9_42_MQV_DERIVE, CKM_XOR_BASE_AND_DATA, CKM_XOR_BASE_AND_DATA_W_KDF,
CKM_XOR_BASE_AND_KEY,
CKO_CERTIFICATE, CKO_DATA, CKO_SECRET_KEY)
CKM_DES_KEY_GEN_TEMP = {CKA_CLASS: CKO_SECRET_KEY,
CKA_KEY_TYPE: CKK_DES,
CKA_TOKEN: True,
CKA_SENSITIVE: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_UNWRAP: True,
CKA_DERIVE: True,
CKA_VALUE_LEN: 8,
CKA_EXTRACTABLE: True,
CKA_LABEL: b"DES Key"}
CKM_DES_UNWRAP_TEMP = {CKA_CLASS: CKO_SECRET_KEY,
CKA_KEY_TYPE: CKK_DES,
CKA_TOKEN: True,
CKA_SENSITIVE: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_SIGN: True,
CKA_WRAP: True,
CKA_DERIVE: True,
CKA_LABEL: b"DES Key"}
CKM_DES2_KEY_GEN_TEMP = {CKA_CLASS: CKO_SECRET_KEY,
CKA_KEY_TYPE: CKK_DES2,
CKA_TOKEN: True,
CKA_SENSITIVE: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_UNWRAP: True,
CKA_DERIVE: True,
CKA_VALUE_LEN: 16,
CKA_EXTRACTABLE: True,
CKA_LABEL: b"DES2 Key"}
CKM_DES3_KEY_GEN_TEMP = {CKA_CLASS: CKO_SECRET_KEY,
CKA_KEY_TYPE: CKK_DES3,
CKA_TOKEN: True,
CKA_SENSITIVE: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_UNWRAP: True,
CKA_DERIVE: True,
CKA_VALUE_LEN: 24,
CKA_EXTRACTABLE: True,
CKA_LABEL: b"DES3 Key"}
CKM_CAST3_KEY_GEN_TEMP = {CKA_CLASS: CKO_SECRET_KEY,
CKA_KEY_TYPE: CKK_CAST3,
CKA_TOKEN: True,
CKA_SENSITIVE: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_UNWRAP: True,
CKA_DERIVE: True,
CKA_VALUE_LEN: 8, # 1-8
CKA_EXTRACTABLE: True,
CKA_LABEL: b"CAST3 Key"}
CKM_GENERIC_SECRET_KEY_GEN_TEMP = {CKA_CLASS: CKO_SECRET_KEY,
CKA_KEY_TYPE: CKK_GENERIC_SECRET,
CKA_TOKEN: True,
CKA_SENSITIVE: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_UNWRAP: True,
CKA_DERIVE: True,
CKA_VALUE_LEN: 16,
CKA_EXTRACTABLE: True,
CKA_LABEL: b"GENERIC SECRET Key"}
CKM_RSA_PKCS_KEY_PAIR_GEN_PUBTEMP = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_MODIFIABLE: True,
CKA_ENCRYPT: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_MODULUS_BITS: 1024, # long 0 - MAX_RSA_KEY_NBITS
CKA_PUBLIC_EXPONENT: 3, # byte
CKA_LABEL: b"RSA Public Key"}
CKM_RSA_PKCS_KEY_PAIR_GEN_PRIVTEMP = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_SENSITIVE: True,
CKA_MODIFIABLE: True,
CKA_EXTRACTABLE: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_UNWRAP: True,
CKA_LABEL: b"RSA Private Key"}
dsa_prime_1024_160 = [0xfc, 0xec, 0x61, 0x82, 0xeb, 0x20, 0x6b, 0x43, 0xc0, 0x3e, 0x36, 0xc0, 0xea,
0xda, 0xbf, 0xf5,
0x6a, 0x0c, 0x2e, 0x79, 0xde, 0xf4, 0x4b, 0xc8, 0xf2, 0xe5, 0x36, 0x99, 0x09,
0x6d, 0x1f, 0xf2,
0x70, 0xf1, 0x59, 0x78, 0x5d, 0x75, 0x69, 0x21, 0xdb, 0xff, 0x97, 0x73, 0xae,
0x08, 0x48, 0x3b,
0x66, 0x2f, 0xc0, 0x7d, 0xf7, 0x51, 0x2f, 0xf6, 0x8b, 0x2e, 0x55, 0x65, 0xfd,
0x79, 0x82, 0xe2,
0x0c, 0x24, 0x48, 0x32, 0xab, 0xa1, 0x21, 0xcc, 0x07, 0x99, 0xcc, 0x09, 0xf2,
0xd5, 0x41, 0x4d,
0x5f, 0x39, 0x66, 0x21, 0x13, 0x65, 0xf5, 0x1b, 0x83, 0xe9, 0xff, 0xcc, 0xcb,
0x3d, 0x88, 0xcd,
0xf2, 0x38, 0xf7, 0xc2, 0x73, 0x91, 0x31, 0xca, 0x7a, 0xad, 0xff, 0x66, 0x2f,
0xec, 0x1f, 0xb0,
0xe1, 0xd3, 0x11, 0xa4, 0x04, 0x26, 0x03, 0x76, 0xfd, 0x01, 0x1f, 0xe0, 0x0d,
0x02, 0x04, 0xc3]
dsa_sub_prime_1024_160 = [0xd3, 0x80, 0x73, 0x53, 0xb5, 0x1c, 0x5f, 0x71, 0xb2, 0x2a, 0xc3, 0xd0,
0xc7, 0xe3, 0x94,
0x14,
0x8f, 0xce, 0xdc, 0x61]
dsa_base_1024_160 = [0x42, 0xe3, 0x77, 0x8e, 0x6e, 0xc3, 0x1b, 0x0d, 0xb0, 0x7a, 0x6b, 0x37, 0x0d,
0x7f, 0xb6, 0xfb,
0x4a, 0x0b, 0xca, 0x6d, 0xea, 0xac, 0x37, 0x1f, 0x6a, 0xdb, 0xcb, 0xeb, 0xa3,
0x8d, 0xdf, 0x76,
0xa4, 0x7c, 0x3c, 0x3d, 0x79, 0x27, 0x6a, 0x0e, 0x57, 0x9c, 0xe4, 0xe3, 0x47,
0x18, 0x0f, 0xd9,
0xb4, 0xad, 0x46, 0x1d, 0x6c, 0xf0, 0xea, 0xc5, 0x1f, 0xb0, 0x8c, 0xf4, 0x52,
0xf6, 0x24, 0x57,
0x00, 0x51, 0xe5, 0x18, 0xa7, 0x5a, 0x5b, 0xb9, 0xc3, 0x57, 0x8a, 0x14, 0xfd,
0x4f, 0x27, 0xf7,
0x95, 0xb2, 0x2a, 0xce, 0xa6, 0x2b, 0x1f, 0xdf, 0x10, 0x32, 0xc1, 0x26, 0x6d,
0xa0, 0x81, 0xc7,
0xfb, 0x99, 0xc4, 0x26, 0x66, 0x26, 0x58, 0x70, 0x93, 0xfd, 0x38, 0x16, 0x17,
0x23, 0x8e, 0xe1,
0x57, 0x8f, 0xc3, 0x25, 0x54, 0x8d, 0xc1, 0xc0, 0x8e, 0x5f, 0x93, 0x22, 0xc3,
0xb1, 0x20, 0x5e]
dsa_prime_2048_224 = [0xa2, 0x15, 0xdc, 0xa3, 0xf7, 0x87, 0x34, 0x2c, 0x91, 0x90, 0x87, 0x83, 0x70,
0x79, 0x73, 0x38,
0x9f, 0x3e, 0x02, 0xf2, 0xc9, 0x68, 0xfe, 0x67, 0xca, 0xb9, 0x4f, 0x5d, 0x6f,
0x92, 0x8c, 0xe8,
0x6c, 0x8d, 0x62, 0x25, 0x37, 0x4c, 0xa1, 0xbf, 0x7f, 0x27, 0x77, 0x44, 0x8c,
0xc7, 0xc0, 0xc5,
0xed, 0x66, 0xd1, 0x20, 0x11, 0x7f, 0xec, 0x10, 0xed, 0x81, 0x55, 0x51, 0x45,
0x36, 0xe1, 0xaa,
0x31, 0x6b, 0x8d, 0xd4, 0x58, 0x27, 0xa0, 0xf0, 0x0e, 0x5d, 0x91, 0x8c, 0x0f,
0xdd, 0x21, 0x8a,
0xcd, 0x6c, 0x26, 0x3c, 0x1c, 0x2e, 0x55, 0xf6, 0xd0, 0xa7, 0x0f, 0x1b, 0xc9,
0x7f, 0x4b, 0xb0,
0x4f, 0xff, 0xee, 0x4b, 0x78, 0xb4, 0xdf, 0x34, 0x90, 0xad, 0x98, 0xab, 0xad,
0x0a, 0x4b, 0xfe,
0x1d, 0xaf, 0xaf, 0x6c, 0x09, 0xdd, 0xda, 0xdf, 0xb8, 0x88, 0x96, 0x94, 0x51,
0x3b, 0x86, 0x5c,
0x07, 0xa4, 0xf5, 0xf9, 0x27, 0xbe, 0x72, 0x39, 0xe8, 0xd7, 0x67, 0x14, 0xe0,
0x3b, 0x7b, 0xfa,
0xfb, 0x92, 0x94, 0x00, 0x0f, 0xbb, 0x3f, 0x7a, 0x75, 0x0b, 0x39, 0xca, 0x50,
0x63, 0x0e, 0xe7,
0xd0, 0xbc, 0x45, 0xa9, 0xc9, 0x87, 0xae, 0x38, 0xae, 0x03, 0x7a, 0x11, 0xb1,
0xd1, 0x3d, 0xf5,
0x51, 0x76, 0xd9, 0xd8, 0xab, 0x9e, 0xc0, 0xa4, 0x1b, 0x78, 0xa6, 0x36, 0x9e,
0xb5, 0x19, 0x88,
0xfe, 0x9f, 0xbd, 0x97, 0xa1, 0x0d, 0x48, 0xe2, 0xeb, 0x21, 0x8e, 0xc6, 0x92,
0xb3, 0x1c, 0xfc,
0xc9, 0x58, 0x3c, 0x7a, 0x41, 0x1d, 0x7d, 0xfa, 0x0a, 0xb3, 0x15, 0xfb, 0x0c,
0x75, 0xe2, 0x10,
0x9e, 0xb1, 0xe2, 0xee, 0x75, 0xf4, 0x1d, 0x0a, 0x01, 0x65, 0x46, 0xda, 0x70,
0xa6, 0x31, 0xac,
0x77, 0x8a, 0x2a, 0xe3, 0x25, 0x1f, 0x11, 0x39, 0xe5, 0x74, 0xe2, 0x6d, 0x2c,
0xc6, 0x5c, 0x47]
dsa_sub_prime_2048_224 = [0xd3, 0x76, 0x83, 0x74, 0x55, 0x3d, 0x49, 0x17, 0x19, 0x92, 0x74, 0xba,
0x05, 0x63, 0xbe,
0xff,
0xa2, 0xa4, 0x5f, 0x05, 0xae, 0x83, 0xdf, 0x9b, 0x34, 0x81, 0x55, 0xbf]
dsa_base_2048_224 = [0x4e, 0x1f, 0x73, 0x4e, 0x08, 0x92, 0xd0, 0x4d, 0x80, 0x89, 0x93, 0xe6, 0x3d,
0xad, 0xef, 0xb3,
0xfa, 0xa2, 0x48, 0x4c, 0x88, 0x83, 0x8d, 0x38, 0xd8, 0xea, 0x64, 0xca, 0x28,
0xd6, 0xc0, 0x89,
0xbe, 0x4b, 0x88, 0x14, 0x66, 0x83, 0xec, 0xbd, 0x8b, 0x8d, 0xc6, 0xfb, 0x17,
0x81, 0xca, 0x1d,
0x83, 0xf3, 0x7f, 0x38, 0xd2, 0x36, 0x03, 0x2b, 0x17, 0x51, 0x16, 0x6a, 0xe4,
0x3f, 0x22, 0xb5,
0x2d, 0xd6, 0x03, 0x40, 0x1e, 0x89, 0xfe, 0xf6, 0xc9, 0xd0, 0x21, 0x5f, 0x49,
0xa2, 0xcf, 0x97,
0x33, 0x7b, 0xe2, 0x61, 0x28, 0x8f, 0xd9, 0xac, 0xfb, 0xb6, 0xc2, 0xc0, 0xc5,
0xea, 0x70, 0x9d,
0x14, 0x76, 0x02, 0x74, 0x41, 0x75, 0x4c, 0xcd, 0x71, 0x00, 0x79, 0x05, 0x52,
0x55, 0x97, 0xd7,
0xae, 0xc7, 0x71, 0xeb, 0x01, 0x2b, 0x0b, 0xfc, 0xd3, 0x4f, 0x87, 0x16, 0xc7,
0xcc, 0xb1, 0x91,
0x3d, 0x4f, 0xa6, 0x10, 0x50, 0x4b, 0x67, 0x79, 0x01, 0xdb, 0x37, 0x80, 0x01,
0x9a, 0xa6, 0x92,
0x23, 0xfb, 0xcd, 0x94, 0x33, 0x6f, 0x2b, 0xf0, 0x2b, 0x44, 0x09, 0x39, 0x39,
0xcc, 0x0d, 0x96,
0x11, 0xe8, 0xf5, 0xc6, 0x28, 0x50, 0x2e, 0x2b, 0x81, 0x08, 0x3f, 0xc1, 0x28,
0x2f, 0x65, 0x2e,
0x16, 0x48, 0xc4, 0xe2, 0xb0, 0x29, 0x54, 0x99, 0x19, 0xc5, 0x78, 0xbf, 0x3b,
0xf3, 0x84, 0x70,
0xc7, 0x8b, 0x5a, 0xcb, 0x10, 0x55, 0xfe, 0x4b, 0x71, 0xef, 0xf5, 0xdb, 0x85,
0xa6, 0xf5, 0xe8,
0x00, 0xf5, 0xc2, 0xb4, 0xa6, 0x48, 0x39, 0x83, 0x6e, 0xd1, 0xb0, 0xad, 0xea,
0x2d, 0x7e, 0x2e,
0x22, 0x98, 0xaa, 0x10, 0x7f, 0xa0, 0xec, 0x23, 0x70, 0x87, 0xf5, 0xda, 0x6b,
0x5e, 0x0d, 0x8b,
0x46, 0xc8, 0x88, 0x61, 0xc3, 0xc1, 0xf5, 0xdb, 0x02, 0x2a, 0x62, 0x7a, 0xd5,
0x95, 0xe5, 0xe2]
dsa_prime_2048_256 = [0xad, 0x78, 0xd1, 0x93, 0x08, 0x76, 0x4f, 0x04, 0xeb, 0x6a, 0xa3, 0x82, 0x09,
0x38, 0x0f, 0xf6,
0xc9, 0x87, 0x5e, 0x27, 0xb2, 0x7c, 0xc1, 0x4b, 0x78, 0x29, 0xbe, 0x2e, 0xcd,
0xae, 0x26, 0x88,
0xf4, 0x5d, 0xe8, 0x09, 0xd1, 0x16, 0x06, 0x61, 0xd4, 0x81, 0x65, 0x00, 0x5d,
0x76, 0x7e, 0xf1,
0x24, 0x73, 0x01, 0x8f, 0x92, 0xd4, 0x07, 0xe7, 0xf3, 0xf7, 0x3a, 0xb9, 0x8b,
0x8e, 0xc8, 0xf4,
0x13, 0x2b, 0x52, 0xb8, 0x2a, 0x08, 0x57, 0xbc, 0x15, 0xe5, 0x8e, 0x2a, 0x16,
0xda, 0x5e, 0xff,
0xd2, 0x4e, 0xc7, 0x24, 0xa9, 0x70, 0x74, 0xd2, 0xb4, 0xc1, 0xc0, 0xec, 0x81,
0xcb, 0x83, 0xe9,
0x29, 0x2a, 0xfd, 0x3b, 0xb9, 0x83, 0xec, 0x23, 0xd1, 0xf9, 0x13, 0xec, 0x1a,
0x68, 0x3f, 0x44,
0x9b, 0x85, 0x7a, 0x5e, 0x6a, 0x38, 0x91, 0xe0, 0xc6, 0xc8, 0x15, 0x23, 0xf3,
0x98, 0xf7, 0x29,
0x7f, 0x7b, 0x07, 0x14, 0x3f, 0x6f, 0xfa, 0x11, 0x71, 0x65, 0xff, 0xd9, 0xdc,
0x71, 0x23, 0xd3,
0x40, 0xec, 0x3b, 0x5f, 0x47, 0x9c, 0x4d, 0x53, 0x4c, 0x4f, 0x61, 0x31, 0xae,
0xda, 0x2e, 0xb6,
0xd3, 0xd2, 0x01, 0x2c, 0x63, 0x9b, 0xaa, 0x61, 0x79, 0x13, 0xe9, 0xcc, 0xef,
0x57, 0xb1, 0x7a,
0xd1, 0xd2, 0xe3, 0xfd, 0x92, 0x29, 0x43, 0x4a, 0xc4, 0x50, 0x8c, 0x36, 0xe8,
0xa5, 0xca, 0x9a,
0xf6, 0x43, 0x3e, 0x75, 0x32, 0x16, 0x8b, 0xe8, 0x98, 0x9c, 0x60, 0x00, 0x83,
0xb6, 0xf4, 0xc9,
0xa2, 0x36, 0xe8, 0xf6, 0xe3, 0x8a, 0x68, 0x64, 0x61, 0x1d, 0x7b, 0xe2, 0x3c,
0xf2, 0x48, 0x77,
0x7d, 0xe5, 0xd1, 0xd0, 0x7a, 0x8d, 0x34, 0xdd, 0x1c, 0xc2, 0xbe, 0x99, 0xa4,
0xda, 0xbf, 0xd1,
0x30, 0x4b, 0xc1, 0xc9, 0x73, 0xc1, 0x07, 0x78, 0x04, 0x0f, 0xdd, 0x7f, 0xa2,
0xfa, 0xc1, 0x0f]
dsa_sub_prime_2048_256 = [0xac, 0x66, 0x19, 0x0a, 0x7f, 0x8d, 0x6b, 0x5f, 0xc3, 0x77, 0x06, 0x35,
0x58, 0x2f, 0x9b,
0xc1,
0x4a, 0x56, 0x91, 0x55, 0xf9, 0x79, 0x3b, 0x79, 0x8e, 0x2e, 0xdb, 0xfc,
0x69, 0x4e, 0x6a,
0xfd]
dsa_base_2048_256 = [0xa6, 0x37, 0x45, 0x31, 0xe5, 0x54, 0x8a, 0x58, 0xa6, 0xd0, 0x20, 0x33, 0xdf,
0x60, 0xbf, 0xf8,
0xa3, 0x5c, 0xa4, 0x1b, 0x37, 0xe4, 0xc9, 0xea, 0xb0, 0xf2, 0x53, 0x22, 0x19,
0x60, 0xaa, 0x6f,
0xb2, 0x6b, 0xad, 0x24, 0x04, 0xad, 0x38, 0x57, 0x70, 0x3c, 0x4e, 0x71, 0x6e,
0x35, 0x0d, 0x4b,
0xcc, 0xbc, 0x4d, 0xad, 0xd9, 0x1d, 0x30, 0x5e, 0xc4, 0x3a, 0x62, 0xfe, 0x2e,
0x82, 0x52, 0xcb,
0x97, 0x37, 0xb6, 0x0a, 0xf4, 0xc5, 0x5d, 0xf7, 0xfa, 0xe4, 0x95, 0x18, 0xeb,
0x0d, 0x1b, 0xcc,
0x0e, 0xda, 0x06, 0x50, 0x28, 0xa5, 0x1a, 0x87, 0x51, 0x21, 0xcd, 0xd5, 0xea,
0x60, 0xa1, 0x39,
0x39, 0x82, 0x33, 0xa5, 0xd1, 0x9b, 0x0d, 0xb3, 0x5c, 0xc3, 0xeb, 0x7d, 0xa3,
0x23, 0xa8, 0xf3,
0xb2, 0x95, 0xd3, 0x5c, 0x31, 0xb6, 0xaa, 0x55, 0xd4, 0x22, 0xaa, 0xb5, 0x5f,
0x47, 0x0f, 0xd2,
0x79, 0xa3, 0xd3, 0x55, 0xb2, 0xa5, 0xd7, 0x5b, 0xd0, 0x37, 0x1d, 0x92, 0x58,
0xf6, 0xda, 0x07,
0x48, 0x9e, 0x02, 0x9d, 0xfb, 0xd6, 0x71, 0x10, 0x7e, 0x0b, 0x2c, 0x94, 0xff,
0xc3, 0xdc, 0xa7,
0x40, 0x4b, 0x81, 0x34, 0x19, 0xdb, 0x55, 0xc3, 0x46, 0xf8, 0xc3, 0x4d, 0xe7,
0x8a, 0x0d, 0x1c,
0x69, 0xd2, 0x6f, 0x91, 0xb2, 0xd3, 0xcf, 0xc5, 0x20, 0xfe, 0x0a, 0xc0, 0x6d,
0x95, 0x5b, 0xd2,
0x50, 0xa6, 0xb8, 0x6f, 0xe1, 0x32, 0xc0, 0x57, 0x13, 0x0b, 0x26, 0xd8, 0x22,
0x9d, 0xe3, 0xad,
0x06, 0x79, 0xb4, 0xfc, 0xf5, 0x00, 0xb5, 0x5c, 0x76, 0x5d, 0xf9, 0x86, 0xb6,
0x69, 0x4f, 0x6c,
0x02, 0x2d, 0x92, 0x7d, 0x9c, 0x48, 0x58, 0x7b, 0x17, 0x95, 0x7c, 0xe3, 0x97,
0x4d, 0x93, 0x7a,
0x4c, 0x26, 0xc1, 0xa1, 0xe0, 0x6c, 0xbb, 0xc3, 0x01, 0x70, 0x9f, 0x14, 0x29,
0x3f, 0xe0, 0x5e]
dsa_prime_3072_256 = [0xa0, 0x38, 0x3e, 0xe6, 0x92, 0xf8, 0xf5, 0xba, 0xdd, 0xf9, 0x31, 0x7b, 0x16,
0xed, 0xd2, 0x84,
0xa3, 0x63, 0x19, 0xb0, 0x53, 0xf7, 0x3a, 0xd4, 0x31, 0xae, 0x4b, 0x5d, 0xb2,
0xc6, 0x63, 0x0b,
0x5a, 0xbf, 0xe8, 0xc5, 0xcb, 0x9d, 0x23, 0x06, 0x50, 0xdc, 0x72, 0xee, 0xfb,
0xe6, 0xf2, 0x61,
0xdb, 0x2f, 0x43, 0xe6, 0x83, 0x81, 0x58, 0x8c, 0xfd, 0x4a, 0x74, 0x51, 0xbb,
0xbb, 0x30, 0xc5,
0x95, 0x21, 0xd7, 0x8e, 0xa7, 0x6d, 0xc0, 0x70, 0xcf, 0x81, 0x78, 0x33, 0x19,
0x9f, 0xf7, 0x15,
0xcb, 0xd1, 0x12, 0xa2, 0x58, 0x50, 0x69, 0x35, 0x44, 0x66, 0x2e, 0x12, 0xbb,
0x27, 0x93, 0xa8,
0x14, 0x84, 0x77, 0x64, 0xac, 0x27, 0x7c, 0x5c, 0xf0, 0x6b, 0x3e, 0x04, 0x4a,
0x45, 0x91, 0x3e,
0xdd, 0x61, 0x92, 0x29, 0xdd, 0xd7, 0x28, 0x93, 0x14, 0xd0, 0x0b, 0xb6, 0xa7,
0xda, 0xf1, 0x7e,
0xb8, 0x63, 0xf3, 0x1d, 0xc2, 0x2c, 0xcc, 0x05, 0xf6, 0x14, 0xc1, 0xbb, 0x0c,
0xea, 0x4c, 0x45,
0x4f, 0xc6, 0xa0, 0x29, 0xc0, 0xd2, 0x56, 0x8d, 0x1c, 0x5e, 0xef, 0x7f, 0x7c,
0x41, 0xf1, 0xb6,
0x59, 0xce, 0xd9, 0x24, 0xdd, 0x0e, 0xab, 0xc7, 0xc9, 0xbc, 0x3a, 0x55, 0x90,
0xd4, 0x03, 0x12,
0xe3, 0xec, 0x13, 0xa2, 0xca, 0xa1, 0x80, 0xed, 0x6b, 0x0c, 0x7d, 0x54, 0xd1,
0x63, 0xca, 0x1f,
0x32, 0xcd, 0x89, 0x27, 0xa0, 0xfd, 0x39, 0x4e, 0x51, 0xde, 0xf2, 0xa3, 0x1e,
0x83, 0xfc, 0x53,
0x73, 0xbe, 0xf8, 0xd2, 0x5f, 0x65, 0x32, 0xef, 0x51, 0x5f, 0x86, 0x7b, 0x0b,
0x31, 0x73, 0x8f,
0xf2, 0x7f, 0xac, 0xad, 0x0d, 0xfb, 0x40, 0xe7, 0x6b, 0x68, 0x3a, 0x3b, 0x11,
0xc9, 0x9f, 0x59,
0xc8, 0xa4, 0x98, 0xba, 0x2b, 0x88, 0x08, 0x70, 0x0f, 0x20, 0x15, 0x14, 0x5c,
0x77, 0xdb, 0xa4,
0x20, 0xc5, 0xf0, 0xdb, 0x95, 0xac, 0x88, 0x03, 0x6a, 0x40, 0x90, 0x4a, 0x53,
0xb3, 0x80, 0xaa,
0x0c, 0x75, 0x80, 0x5a, 0x0d, 0xfd, 0xad, 0x4c, 0xbe, 0xaa, 0x48, 0x91, 0xab,
0xd8, 0x4d, 0x24,
0xbb, 0x64, 0x4d, 0x96, 0xc5, 0x9f, 0x33, 0x9e, 0x01, 0x6b, 0xb4, 0x32, 0x1f,
0xf4, 0xee, 0x33,
0xe4, 0x03, 0xce, 0xa0, 0xde, 0x9e, 0xd9, 0x59, 0xcc, 0x6c, 0x1b, 0xba, 0x2c,
0x7d, 0xc7, 0x44,
0xde, 0x7a, 0x22, 0x5f, 0x65, 0xfb, 0x0a, 0x78, 0xee, 0x57, 0xba, 0x7d, 0x2a,
0x92, 0xf2, 0x47,
0x50, 0xda, 0xa6, 0x8c, 0x8a, 0x6a, 0x83, 0x06, 0xc3, 0x5c, 0x49, 0x0d, 0x2d,
0x2f, 0x58, 0x92,
0xbe, 0x12, 0x41, 0x86, 0x0a, 0xd5, 0x45, 0x3b, 0x1b, 0xe3, 0x2b, 0x0e, 0xc7,
0x29, 0x98, 0x3e,
0x3c, 0x97, 0xd3, 0x28, 0x73, 0xfc, 0x82, 0xc7, 0xb4, 0xf4, 0x6b, 0xfd, 0xa5,
0x14, 0x9e, 0x8f]
dsa_sub_prime_3072_256 = [0xf3, 0x96, 0x52, 0xd0, 0x0e, 0xf7, 0x96, 0x2d, 0xae, 0x7d, 0x8a, 0x13,
0xa8, 0x09, 0xa8,
0x14,
0xc5, 0xe4, 0xf9, 0xba, 0x8e, 0x6d, 0xea, 0x3d, 0x18, 0xf3, 0x51, 0x48,
0x04, 0xfc, 0xe1,
0x37]
dsa_base_3072_256 = [0x07, 0x1f, 0x94, 0x97, 0xf8, 0x58, 0x85, 0x5e, 0xa6, 0x1f, 0xa8, 0x05, 0x97,
0x34, 0xc0, 0x12,
0x2a, 0xc9, 0x1c, 0xb9, 0xf8, 0x1d, 0xfd, 0x8f, 0xa6, 0xec, 0xc0, 0x83, 0xf6,
0x0c, 0xb3, 0x0e,
0xa8, 0x0b, 0x15, 0x56, 0xe5, 0xc3, 0x90, 0xd0, 0x06, 0x73, 0x24, 0x68, 0x28,
0xd4, 0xbc, 0xed,
0xa1, 0x84, 0x89, 0x15, 0xab, 0x86, 0xff, 0x24, 0x56, 0x8e, 0x40, 0x02, 0x03,
0x99, 0xbd, 0xb9,
0xf6, 0x75, 0x12, 0x59, 0x51, 0xad, 0x1e, 0x57, 0x1d, 0xd4, 0xf2, 0x23, 0x46,
0x14, 0x89, 0xab,
0x65, 0x45, 0x04, 0x40, 0xe2, 0x2b, 0x01, 0xb8, 0xf5, 0x9b, 0x9b, 0x38, 0x69,
0x2f, 0x12, 0x0b,
0x98, 0x34, 0xdd, 0x28, 0xeb, 0x9f, 0xf0, 0x8a, 0xfc, 0x44, 0x98, 0xe1, 0x72,
0xeb, 0x3d, 0x54,
0xb2, 0x8a, 0x8e, 0xb1, 0x00, 0xab, 0x50, 0xa5, 0x66, 0x7b, 0x9a, 0x9e, 0x8a,
0xad, 0x3f, 0x68,
0xf1, 0xde, 0xb1, 0x04, 0x60, 0x4a, 0x3d, 0x2e, 0x0f, 0x25, 0x0a, 0x9c, 0x18,
0x8b, 0x74, 0x61,
0xec, 0xd7, 0xde, 0xc6, 0x56, 0xb5, 0x77, 0xe8, 0x46, 0x7e, 0x46, 0x4e, 0x11,
0xac, 0x49, 0x44,
0x97, 0x88, 0x65, 0xcd, 0xf5, 0x63, 0xaa, 0xb6, 0xa2, 0xe6, 0x8a, 0x29, 0x53,
0x95, 0x2b, 0x0a,
0x68, 0xe8, 0x81, 0x48, 0x6e, 0x76, 0x34, 0xd4, 0x91, 0x8d, 0xf9, 0x70, 0xa7,
0xce, 0x0d, 0x60,
0x8a, 0x92, 0x70, 0x8e, 0x49, 0x52, 0x12, 0xfd, 0x4b, 0x26, 0x79, 0x0d, 0x5c,
0x07, 0xdd, 0x5a,
0xb5, 0x5a, 0xe8, 0x20, 0x9b, 0x63, 0x19, 0x05, 0x55, 0xc0, 0x43, 0xb7, 0x80,
0x2f, 0xae, 0x78,
0x79, 0x7e, 0x4f, 0x63, 0xf1, 0xcb, 0x18, 0x09, 0xaf, 0x4a, 0xfc, 0x60, 0xb2,
0xb4, 0xaf, 0x78,
0xba, 0xb3, 0xad, 0x9c, 0xcc, 0x39, 0x10, 0x08, 0x96, 0x43, 0x8e, 0x67, 0x91,
0xae, 0xec, 0x90,
0xe8, 0x99, 0xf9, 0x76, 0x59, 0x45, 0x4f, 0x4c, 0x75, 0x96, 0x33, 0xb0, 0xd8,
0x57, 0xb5, 0x05,
0x12, 0x45, 0x15, 0xc7, 0x5e, 0x3a, 0x64, 0x90, 0xe7, 0x16, 0x8c, 0x73, 0xfa,
0x15, 0x68, 0xe8,
0xc9, 0x04, 0xb0, 0x42, 0x49, 0xfa, 0x31, 0xa8, 0x3c, 0x6d, 0x83, 0x8a, 0xf7,
0xd4, 0x2d, 0x48,
0x71, 0x09, 0x89, 0xf9, 0xfb, 0xc9, 0xc3, 0x7b, 0x2c, 0x87, 0x91, 0x57, 0xc9,
0xe9, 0x81, 0x8e,
0xa4, 0xdd, 0xb7, 0x7a, 0x1f, 0xbc, 0x66, 0x3e, 0xd8, 0x2d, 0xe8, 0x38, 0xc3,
0xab, 0x3b, 0x82,
0xc5, 0x7d, 0xd0, 0xff, 0xbf, 0xa4, 0x95, 0xe6, 0xea, 0xd3, 0x3e, 0x44, 0x05,
0xd0, 0x58, 0xe9,
0xb3, 0x7b, 0x3a, 0x71, 0xce, 0xbd, 0xe4, 0x2f, 0x4d, 0x33, 0x46, 0xb4, 0xc5,
0xf9, 0xd6, 0x49,
0x8b, 0x73, 0xbc, 0x1b, 0x9f, 0x0d, 0x3d, 0x0c, 0x49, 0x29, 0x42, 0x99, 0x70,
0xe9, 0xc5, 0xeb]
CKM_DSA_KEY_PAIR_GEN_PUBTEMP_1024_160 = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_PRIME: dsa_prime_1024_160,
CKA_SUBPRIME: dsa_sub_prime_1024_160,
CKA_BASE: dsa_base_1024_160,
CKA_LABEL: b"DSA 1024_160 Public Key"}
CKM_DSA_KEY_PAIR_GEN_PUBTEMP_2048_224 = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_PRIME: dsa_prime_2048_224,
CKA_SUBPRIME: dsa_sub_prime_2048_224,
CKA_BASE: dsa_base_2048_224,
CKA_LABEL: b"DSA 2048_224 Public Key"}
CKM_DSA_KEY_PAIR_GEN_PUBTEMP_2048_256 = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_PRIME: dsa_prime_2048_256,
CKA_SUBPRIME: dsa_sub_prime_2048_256,
CKA_BASE: dsa_base_2048_256,
CKA_LABEL: b"DSA 2048_256 Public Key"}
CKM_DSA_KEY_PAIR_GEN_PUBTEMP_3072_256 = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_PRIME: dsa_prime_3072_256,
CKA_SUBPRIME: dsa_sub_prime_3072_256,
CKA_BASE: dsa_base_3072_256,
CKA_LABEL: b"DSA 3072_256 Public Key"}
CKM_DSA_KEY_PAIR_GEN_PRIVTEMP = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_SENSITIVE: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_UNWRAP: True,
CKA_EXTRACTABLE: True,
CKA_LABEL: b"DSA Public Key"}
dh_prime = [0xF4, 0x88, 0xFD, 0x58, 0x4E, 0x49, 0xDB, 0xCD, 0x20, 0xB4, 0x9D, 0xE4, 0x91, 0x07,
0x36, 0x6B,
0x33, 0x6C, 0x38, 0x0D, 0x45, 0x1D, 0x0F, 0x7C, 0x88, 0xB3, 0x1C, 0x7C, 0x5B, 0x2D,
0x8E, 0xF6,
0xF3, 0xC9, 0x23, 0xC0, 0x43, 0xF0, 0xA5, 0x5B, 0x18, 0x8D, 0x8E, 0xBB, 0x55, 0x8C,
0xB8, 0x5D,
0x38, 0xD3, 0x34, 0xFD, 0x7C, 0x17, 0x57, 0x43, 0xA3, 0x1D, 0x18, 0x6C, 0xDE, 0x33,
0x21, 0x2C,
0xB5, 0x2A, 0xFF, 0x3C, 0xE1, 0xB1, 0x29, 0x40, 0x18, 0x11, 0x8D, 0x7C, 0x84, 0xA7,
0x0A, 0x72,
0xD6, 0x86, 0xC4, 0x03, 0x19, 0xC8, 0x07, 0x29, 0x7A, 0xCA, 0x95, 0x0C, 0xD9, 0x96,
0x9F, 0xAB,
0xD0, 0x0A, 0x50, 0x9B, 0x02, 0x46, 0xD3, 0x08, 0x3D, 0x66, 0xA4, 0x5D, 0x41, 0x9F,
0x9C, 0x7C,
0xBD, 0x89, 0x4B, 0x22, 0x19, 0x26, 0xBA, 0xAB, 0xA2, 0x5E, 0xC3, 0x55, 0xE9, 0x2F,
0x78, 0xC7]
dh_prime_2048 = [0xF1, 0x20, 0xB5, 0x5B, 0x3A, 0xE4, 0xD0, 0xF6, 0xEF, 0xA4, 0xF2, 0x9F, 0xC4, 0xDF,
0x86, 0x84,
0x57, 0x54, 0x14, 0x90, 0x98, 0xBD, 0x3E, 0x57, 0x86, 0xE8, 0xC9, 0xA0, 0x30, 0xAF,
0xE6, 0xA7,
0x6D, 0x7E, 0x4F, 0xDA, 0x20, 0x87, 0x46, 0x0C, 0xED, 0x88, 0xDC, 0xDB, 0x95, 0xDE,
0xD3, 0x4F,
0xC7, 0x18, 0x80, 0x3A, 0x0D, 0xD2, 0xF1, 0x54, 0x5C, 0xD2, 0x29, 0x78, 0x3C, 0xE4,
0x40, 0x0C,
0x1A, 0x6B, 0x36, 0x73, 0x42, 0xE1, 0xB3, 0xD3, 0xEB, 0x95, 0xDB, 0x7A, 0x06, 0xD6,
0x54, 0x11,
0xDB, 0x0B, 0xB3, 0x00, 0x52, 0xA5, 0x74, 0x77, 0x5B, 0x47, 0x2A, 0x6E, 0x31, 0xCB,
0x8A, 0x5D,
0x1C, 0x8A, 0x7D, 0x93, 0x7A, 0xC3, 0x62, 0x44, 0xC3, 0x29, 0x40, 0x6D, 0x3E, 0x47,
0x62, 0x2F,
0x93, 0xCD, 0xF3, 0xED, 0xA6, 0x1E, 0x1D, 0x57, 0x4E, 0xFF, 0x5F, 0x46, 0x92, 0xCC,
0xFC, 0x7E,
0x98, 0x8C, 0xE8, 0xB0, 0xAA, 0x33, 0x70, 0x96, 0x3D, 0xC1, 0x5B, 0x10, 0x2A, 0x07,
0x34, 0x84,
0x4E, 0xCD, 0xEB, 0xD7, 0x15, 0x63, 0x8C, 0xC4, 0x67, 0xB0, 0xC1, 0xB9, 0xB8, 0x45,
0xB0, 0x3B,
0x3A, 0x76, 0x83, 0x2C, 0xF5, 0x28, 0xB3, 0xF7, 0x10, 0x23, 0x7E, 0xAA, 0xF6, 0xE6,
0x8B, 0xE7,
0x57, 0x35, 0x1F, 0x51, 0x34, 0x58, 0x5E, 0x0C, 0x2D, 0x36, 0xCF, 0xA3, 0x85, 0x34,
0xB0, 0x14,
0x7D, 0xD0, 0x8C, 0x34, 0xBB, 0xC1, 0x8D, 0x49, 0x8C, 0xDA, 0x41, 0x48, 0x66, 0xDB,
0x41, 0xE1,
0xAE, 0x41, 0x9B, 0xCB, 0x6E, 0x78, 0x92, 0x0B, 0x60, 0x17, 0x4B, 0xE8, 0x15, 0x40,
0x30, 0xD5,
0x06, 0xFD, 0xA3, 0x9C, 0xA1, 0xA9, 0xC2, 0xA6, 0x46, 0xF5, 0xEA, 0xE6, 0x4E, 0xF4,
0x19, 0x49,
0x4A, 0x5C, 0x90, 0xE4, 0x6B, 0xF8, 0x04, 0xF5, 0xB6, 0xB7, 0xF9, 0x92, 0x3D, 0x5F,
0x05, 0x9B]
CKM_DH_PKCS_KEY_PAIR_GEN_PUBTEMP = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_DERIVE: True,
CKA_PRIME: dh_prime,
CKA_BASE: [0x02],
CKA_LABEL: b"DH Public Key"}
CKM_DH_PKCS_KEY_PAIR_GEN_PRIVTEMP = {CKA_VALUE_BITS: len(dh_prime) * 8, # long
CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_SENSITIVE: True,
CKA_DERIVE: True,
CKA_EXTRACTABLE: True,
CKA_LABEL: b"DH Private Key"}
CKM_CAST5_KEY_GEN_TEMP = {CKA_CLASS: CKO_SECRET_KEY,
CKA_KEY_TYPE: CKK_CAST5,
CKA_TOKEN: True,
CKA_SENSITIVE: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_UNWRAP: True,
CKA_DERIVE: True,
CKA_VALUE_LEN: 16, # 1-16
CKA_EXTRACTABLE: True,
CKA_LABEL: b"CAST5 Key"}
CKM_RC2_KEY_GEN_TEMP = {CKA_CLASS: CKO_SECRET_KEY,
CKA_KEY_TYPE: CKK_RC2,
CKA_TOKEN: True,
CKA_SENSITIVE: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_UNWRAP: True,
CKA_DERIVE: True,
CKA_VALUE_LEN: 64, # 1-128
CKA_EXTRACTABLE: True,
CKA_LABEL: b"RC2 Key"}
CKM_RC4_KEY_GEN_TEMP = {CKA_CLASS: CKO_SECRET_KEY,
CKA_KEY_TYPE: CKK_RC4,
CKA_TOKEN: True,
CKA_SENSITIVE: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_UNWRAP: True,
CKA_DERIVE: True,
CKA_VALUE_LEN: 256, # 1-256
CKA_EXTRACTABLE: True,
CKA_LABEL: b"RC4 Key"}
CKM_RC5_KEY_GEN_TEMP = {CKA_CLASS: CKO_SECRET_KEY,
CKA_KEY_TYPE: CKK_RC5,
CKA_TOKEN: True,
CKA_SENSITIVE: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_UNWRAP: True,
CKA_DERIVE: True,
CKA_VALUE_LEN: 255, # 1-255
CKA_EXTRACTABLE: True,
CKA_LABEL: b"RC5 Key"}
CKM_SSL3_PRE_MASTER_KEY_GEN_TEMP = {CKA_TOKEN: True,
CKA_DERIVE: True,
CKA_ENCRYPT: 0x1001,
# TODO, is encrypt both a long and a boolean, uh oh
CKA_LABEL: b"SSL3 Pre Master Key"}
'''
Curve dictionary for ECDSA with oids as lists, taken from Components/tools/common/CommonData.cpp
'''
curve_list = {
'secp112r1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x06], # [0] OID_secp112r1
'secp112r2': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x07], # [7] OID_secp112r2
'secp128r1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x1C], # [14] OID_secp128r1
'secp128r2': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x1D], # [21] OID_secp128r2
'secp160k1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x09], # [28] OID_secp160k1
'secp160r1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x08], # [35] OID_secp160r1
'secp160r2': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x1E], # [42] OID_secp160r2
'secp192k1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x1F], # [49] OID_secp192k1
'secp224k1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x20], # [56] OID_secp224k1
'secp224r1(P-224)': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x21], # [63] OID_secp224r1
'secp256k1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x0A], # [70] OID_secp256k1
'secp384r1(P-384)': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x22], # [77] OID_secp384r1
'secp521r1(P-521)': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x23], # [84] OID_secp521r1
'X9_62_prime192v1(P-192)': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x01],
# [91] OID_X9_62_prime192v1
'X9_62_prime192v2': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x02],
# [101] OID_X9_62_prime192v2
'X9_62_prime192v3': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x03],
# [111] OID_X9_62_prime192v3
'X9_62_prime239v1': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x04],
# [121] OID_X9_62_prime239v1
'X9_62_prime239v2': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x05],
# [131] OID_X9_62_prime239v2
'X9_62_prime239v3': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x06],
# [141] OID_X9_62_prime239v3
'X9_62_prime256v1(P-256)': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x01, 0x07],
# [151] OID_X9_62_prime256v1
'sect113r1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x04], # [161] OID_sect113r1
'sect113r2': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x05], # [168] OID_sect113r2
'sect131r1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x16], # [175] OID_sect131r1
'sect131r2': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x17], # [182] OID_sect131r2
'sect163k1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x01], # [189] OID_sect163k1
'sect163r1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x02], # [196] OID_sect163r1
'sect163r2': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x0F], # [203] OID_sect163r2
'sect193r1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x18], # [210] OID_sect193r1
'sect193r2': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x19], # [217] OID_sect193r2
'sect233k1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x1A], # [224] OID_sect233k1
'sect233r1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x1B], # [231] OID_sect233r1
'sect239k1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x03], # [238] OID_sect239k1
'sect283k1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x10], # [245] OID_sect283k1
'sect283r1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x11], # [252] OID_sect283r1
'sect409k1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x24], # [259] OID_sect409k1
'sect409r1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x25], # [266] OID_sect409r1
'sect571k1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x26], # [273] OID_sect571k1
'sect571r1': [0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x27], # [280] OID_sect571r1
'X9_62_c2pnb163v1': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x01],
# [287] OID_X9_62_c2pnb163v1
'X9_62_c2pnb163v2': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x02],
# [297] OID_X9_62_c2pnb163v2
'X9_62_c2pnb163v3': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x03],
# [307] OID_X9_62_c2pnb163v3
'X9_62_c2pnb176v1': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x04],
# [317] OID_X9_62_c2pnb176v1
'X9_62_c2tnb191v1': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x05],
# [327] OID_X9_62_c2tnb191v1
'X9_62_c2tnb191v2': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x06],
# [337] OID_X9_62_c2tnb191v2
'X9_62_c2tnb191v3': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x07],
# [347] OID_X9_62_c2tnb191v3
'X9_62_c2pnb208w1': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x0A],
# [357] OID_X9_62_c2pnb208w1
'X9_62_c2tnb239v1': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x0B],
# [367] OID_X9_62_c2tnb239v1
'X9_62_c2tnb239v2': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x0C],
# [377] OID_X9_62_c2tnb239v2
'X9_62_c2tnb239v3': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x0D],
# [387] OID_X9_62_c2tnb239v3
'X9_62_c2pnb272w1': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x10],
# [397] OID_X9_62_c2pnb272w1
'X9_62_c2pnb304w1': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x11],
# [407] OID_X9_62_c2pnb304w1
'X9_62_c2tnb359v1': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x12],
# [417] OID_X9_62_c2tnb359v1
'X9_62_c2pnb368w1': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x13],
# [427] OID_X9_62_c2pnb368w1
'X9_62_c2tnb431r1': [0x06, 0x08, 0x2A, 0x86, 0x48, 0xCE, 0x3D, 0x03, 0x00, 0x14],
# [437] OID_X9_62_c2tnb431r1
'brainpoolP160r1': [0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x01],
# [447] brainpoolP160r1
'brainpoolP160t1': [0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x02],
# [458] brainpoolP160t1
'brainpoolP192r1': [0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x03],
# [469] brainpoolP192r1
'brainpoolP192t1': [0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x04],
# [480] brainpoolP192t1
'brainpoolP224r1': [0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x05],
# [491] brainpoolP224r1
'brainpoolP224t1': [0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x06],
# [502] brainpoolP224t1
'brainpoolP256r1': [0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x07],
# [513] brainpoolP256r1
'brainpoolP256t1': [0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x08],
# [524] brainpoolP256t1
'brainpoolP320r1': [0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x09],
# [535] brainpoolP320r1
'brainpoolP320t1': [0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x0a],
# [546] brainpoolP320t1
'brainpoolP384r1': [0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x0b],
# [557] brainpoolP384r1
'brainpoolP384t1': [0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x0c],
# [568] brainpoolP384t1
'brainpoolP512r1': [0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x0d],
# [579] brainpoolP512r1
'brainpoolP512t1': [0x06, 0x09, 0x2B, 0x24, 0x03, 0x03, 0x02, 0x08, 0x01, 0x01, 0x0e],
# [590] brainpoolP512t1
'microsoftPlayReadP160': [0x30, 0x81, 0x95, 0x02, 0x01, 0x01, 0x30, 0x20,
0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x01,
0x01, 0x02, 0x15, 0x00, 0x89, 0xab, 0xcd, 0xef,
0x01, 0x23, 0x45, 0x67, 0x27, 0x18, 0x28, 0x18,
0x31, 0x41, 0x59, 0x26, 0x14, 0x14, 0x24, 0xf7,
0x30, 0x2c, 0x04, 0x14, 0x37, 0xa5, 0xab, 0xcc,
0xd2, 0x77, 0xbc, 0xe8, 0x76, 0x32, 0xff, 0x3d,
0x47, 0x80, 0xc0, 0x09, 0xeb, 0xe4, 0x14, 0x97,
0x04, 0x14, 0x0d, 0xd8, 0xda, 0xbf, 0x72, 0x5e,
0x2f, 0x32, 0x28, 0xe8, 0x5f, 0x1a, 0xd7, 0x8f,
0xde, 0xdf, 0x93, 0x28, 0x23, 0x9e, 0x04, 0x29,
0x04, 0x87, 0x23, 0x94, 0x7f, 0xd6, 0xa3, 0xa1,
0xe5, 0x35, 0x10, 0xc0, 0x7d, 0xba, 0x38, 0xda,
0xf0, 0x10, 0x9f, 0xa1, 0x20, 0x44, 0x57, 0x44,
0x91, 0x10, 0x75, 0x52, 0x2d, 0x8c, 0x3c, 0x58,
0x56, 0xd4, 0xed, 0x7a, 0xcd, 0xa3, 0x79, 0x93,
0x6f, 0x02, 0x15, 0x00, 0x89, 0xab, 0xcd, 0xef,
0x01, 0x23, 0x45, 0x67, 0x27, 0x16, 0xb2, 0x6e,
0xec, 0x14, 0x90, 0x44, 0x28, 0xc2, 0xa6, 0x75]
}
CKM_ECDSA_KEY_PAIR_GEN_PUBTEMP = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_VERIFY: True,
CKA_DERIVE: True,
CKA_ECDSA_PARAMS: curve_list['secp112r1'],
CKA_LABEL: b"ECDSA Public Key"}
CKM_ECDSA_KEY_PAIR_GEN_PRIVTEMP = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_SENSITIVE: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_DERIVE: True,
CKA_EXTRACTABLE: True,
CKA_LABEL: b"ECDSA Private Key"}
CKM_AES_KEY_GEN_TEMP = {CKA_CLASS: CKO_SECRET_KEY,
CKA_KEY_TYPE: CKK_AES,
CKA_TOKEN: True,
CKA_SENSITIVE: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_UNWRAP: True,
CKA_DERIVE: True,
CKA_VALUE_LEN: 24, # 16, 24, 32
CKA_EXTRACTABLE: True,
CKA_LABEL: b"AES Key"}
CKM_SEED_KEY_GEN_TEMP = {CKA_CLASS: CKO_SECRET_KEY,
CKA_KEY_TYPE: CKK_SEED,
CKA_TOKEN: True,
CKA_SENSITIVE: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_UNWRAP: True,
CKA_DERIVE: True,
CKA_VALUE_LEN: 16,
CKA_EXTRACTABLE: True,
CKA_LABEL: b"SEED Key"}
kcdsa_prime_1024_160 = [0xdc, 0x02, 0xf3, 0xe0, 0x51, 0x4e, 0xf4, 0x72, 0x36, 0x51, 0x09, 0x72,
0x5c, 0x12, 0x00, 0x50,
0x69, 0x7d, 0xfc, 0x1d, 0xcb, 0xb4, 0x1f, 0xbc, 0x49, 0x63, 0xc4, 0x15,
0x45, 0x97, 0xb7, 0xae,
0x8d, 0x4a, 0x35, 0x3c, 0xe2, 0xfb, 0x1f, 0xbf, 0x77, 0x7b, 0x89, 0xe5,
0x56, 0xc5, 0x15, 0x6b,
0x1a, 0x4a, 0x82, 0xcc, 0xe2, 0xb8, 0xec, 0x4d, 0x61, 0x86, 0xd4, 0xa3,
0xf6, 0xc5, 0x65, 0xae,
0x8c, 0xf6, 0x04, 0x62, 0x1d, 0x63, 0xec, 0x9f, 0x1e, 0x91, 0x31, 0x39,
0x1d, 0xc0, 0x55, 0xbc,
0xac, 0xc5, 0x1a, 0xc8, 0x5c, 0x02, 0x93, 0xd7, 0xca, 0x74, 0x4f, 0xe9,
0xa2, 0x04, 0x5c, 0x3c,
0xc1, 0xb6, 0xe1, 0x4d, 0xcd, 0xfa, 0xbb, 0x7d, 0xf8, 0xa7, 0xb1, 0x94,
0xd5, 0x08, 0xe1, 0x99,
0xc1, 0x81, 0x62, 0x93, 0xd6, 0x8c, 0x7a, 0x5c, 0x0f, 0x8a, 0xc7, 0x14,
0xb5, 0xd6, 0xf5, 0xa3]
kcdsa_sub_prime_1024_160 = [0xc8, 0xf6, 0x2e, 0x10, 0xf0, 0xa4, 0xe5, 0x43, 0x1b, 0x8e, 0x1b, 0x0f,
0x53, 0xf6, 0x27,
0xec,
0x6a, 0xd3, 0xa6, 0xa5]
kcdsa_base_1024_160 = [0x9b, 0x8b, 0x4b, 0x16, 0x53, 0x65, 0x03, 0x18, 0x47, 0x19, 0xac, 0x4d, 0x13,
0x2d, 0x14, 0x57,
0x2d, 0xca, 0x56, 0x45, 0x3f, 0x05, 0x68, 0x68, 0x3b, 0x04, 0x17, 0x27, 0x6f,
0x93, 0x88, 0xdc,
0x0a, 0x79, 0xe7, 0x76, 0x45, 0x4a, 0x97, 0x7a, 0x02, 0xc0, 0x1a, 0xc7, 0x7a,
0x07, 0x1f, 0x6b,
0x99, 0x81, 0x67, 0xb8, 0xb9, 0x89, 0xce, 0xfd, 0x88, 0x7a, 0x26, 0x71, 0xf9,
0x44, 0x12, 0xcc,
0x94, 0xac, 0x62, 0xe7, 0x61, 0xc9, 0x5a, 0xdb, 0x38, 0xf7, 0x8b, 0x76, 0x73,
0xcc, 0x09, 0x0a,
0x62, 0xcf, 0xab, 0x4b, 0x03, 0x29, 0x0d, 0x34, 0x92, 0xb9, 0x09, 0x83, 0x68,
0x9b, 0x30, 0x82,
0x1f, 0xcf, 0xb0, 0xdb, 0x83, 0x71, 0x24, 0x2c, 0x73, 0xf3, 0xa6, 0x4f, 0x56,
0xb2, 0x13, 0xfd,
0xdb, 0xbc, 0xcf, 0x77, 0x5d, 0x01, 0x1f, 0xb8, 0x35, 0x85, 0x4f, 0x88, 0xb0,
0x58, 0x92, 0x07]
kcdsa_prime_2048_256 = [0xec, 0xfe, 0xa3, 0x3f, 0xa2, 0x27, 0xc3, 0xb1, 0xa7, 0xdf, 0xd7, 0xf1,
0xbb, 0x48, 0x7c, 0xd4,
0x26, 0xab, 0x0a, 0x2b, 0x2b, 0x3a, 0xf1, 0x8f, 0xef, 0x9d, 0x61, 0xcd,
0x4f, 0x7b, 0xbb, 0x8d,
0x7d, 0x8d, 0x4c, 0x84, 0x13, 0x7a, 0xaf, 0xe5, 0xb5, 0xba, 0x9d, 0xe4,
0xd2, 0xb5, 0x8b, 0x00,
0x39, 0xbc, 0x66, 0x9c, 0x7c, 0x3d, 0x98, 0x7e, 0x0a, 0x74, 0x1b, 0x06,
0xcf, 0x97, 0xb5, 0x3e,
0xcb, 0x1e, 0x1d, 0x22, 0x51, 0xe6, 0xd4, 0xe2, 0x72, 0xa7, 0x72, 0xd3,
0x4c, 0x3f, 0xfc, 0xd4,
0xd5, 0x7c, 0x3f, 0x44, 0xa2, 0x1b, 0xfc, 0x97, 0xad, 0x34, 0xb2, 0x8f,
0xd3, 0xcf, 0x77, 0x89,
0x7a, 0xce, 0x64, 0xc6, 0x92, 0xaa, 0x69, 0x13, 0xed, 0x22, 0xa2, 0x3b,
0x45, 0x19, 0x98, 0x88,
0x29, 0x05, 0x7c, 0xd2, 0x33, 0xaf, 0xa1, 0xf7, 0xab, 0x66, 0x40, 0xca,
0x05, 0x7e, 0x16, 0x99,
0x7a, 0x92, 0xaa, 0x5e, 0x07, 0xc0, 0xc7, 0x3c, 0x82, 0xb4, 0x96, 0x02,
0x23, 0x66, 0x99, 0x97,
0xa3, 0x40, 0xf1, 0x36, 0x9b, 0x33, 0xc7, 0xbe, 0xe9, 0xac, 0xce, 0x85,
0xf8, 0xbd, 0x6a, 0x26,
0x0f, 0x79, 0xe7, 0x9e, 0xee, 0xee, 0xd6, 0x82, 0xc8, 0x7d, 0x4b, 0xe7,
0x4c, 0x2f, 0x44, 0x9a,
0x1b, 0x68, 0x3f, 0xba, 0xe4, 0xfd, 0x19, 0xca, 0xd0, 0x97, 0xd3, 0x71,
0x12, 0x8c, 0x86, 0xbe,
0x93, 0x84, 0xb7, 0x35, 0x2a, 0xd1, 0x3a, 0x9a, 0x27, 0x8f, 0x36, 0x4f,
0x08, 0x9e, 0x38, 0xdf,
0x25, 0xe8, 0x4a, 0x70, 0x4d, 0xe4, 0xfb, 0x16, 0x40, 0xa5, 0x19, 0xfc,
0x62, 0x91, 0x76, 0x1d,
0xab, 0x11, 0xe2, 0xf7, 0x80, 0xe7, 0x1a, 0x62, 0x2e, 0x9a, 0xbf, 0x85,
0xfe, 0x19, 0x4a, 0x45,
0x79, 0x3b, 0xfa, 0xb3, 0xa1, 0xe9, 0x8a, 0x1d, 0xfd, 0x57, 0xb5, 0xc7,
0x09, 0x79, 0xb8, 0x1b]
kcdsa_sub_prime_2048_256 = [0xe5, 0x7d, 0x48, 0xd4, 0x44, 0x3d, 0x60, 0xb2, 0x6f, 0x48, 0x82, 0x3d,
0x1d, 0xea, 0xce,
0xf2,
0xb4, 0x4a, 0x6c, 0x47, 0x5b, 0x12, 0x43, 0x47, 0xb4, 0x81, 0x47, 0xf8,
0xa2, 0xfd, 0x33,
0xd3]
kcdsa_base_2048_256 = [0x68, 0x90, 0xea, 0x6f, 0x5a, 0x56, 0x4f, 0xd2, 0xa1, 0xfe, 0x07, 0xd7, 0xbc,
0xa5, 0xab, 0x80,
0xf9, 0x5a, 0x5f, 0x47, 0xe9, 0x7f, 0xfc, 0x9a, 0xea, 0x67, 0x13, 0xf8, 0xad,
0x36, 0xe1, 0xfc,
0x02, 0x42, 0x17, 0xcd, 0xf9, 0xbe, 0x5c, 0xe9, 0xa6, 0xcd, 0xdb, 0x6b, 0x5c,
0x1e, 0x7e, 0x22,
0x0e, 0xd5, 0x7f, 0x2b, 0x0c, 0x9b, 0xf7, 0xe2, 0xd5, 0x23, 0xc1, 0x45, 0x0b,
0x46, 0x7e, 0x64,
0x80, 0xc9, 0x6f, 0x9b, 0x20, 0x76, 0xd0, 0x3f, 0xae, 0x8c, 0x4d, 0x99, 0x3e,
0x9c, 0xe6, 0x6b,
0xc9, 0xb8, 0x39, 0xa5, 0x58, 0x15, 0x6c, 0x69, 0x79, 0x2a, 0xfa, 0x34, 0x76,
0x17, 0x64, 0x6a,
0x2a, 0x29, 0x4d, 0xce, 0xe4, 0x07, 0x78, 0xa3, 0xcb, 0x93, 0x7a, 0x78, 0x2a,
0x51, 0x91, 0xbd,
0x42, 0x97, 0x3b, 0x07, 0x31, 0xca, 0x4f, 0x62, 0x2a, 0x63, 0xe0, 0x69, 0x45,
0x31, 0xc8, 0x75,
0x3e, 0x3a, 0xb0, 0xe8, 0x8d, 0xdc, 0x86, 0x1c, 0x75, 0x1c, 0x25, 0x2e, 0x74,
0x18, 0x89, 0xb3,
0x3e, 0x39, 0x0e, 0x1c, 0xa5, 0xc4, 0x75, 0x1f, 0x31, 0x1e, 0x19, 0x61, 0x5b,
0xbe, 0xa7, 0x18,
0x9b, 0x04, 0xf2, 0x29, 0xc8, 0xe7, 0x40, 0x84, 0x39, 0xd2, 0x28, 0xa5, 0x30,
0x5b, 0x22, 0x78,
0x33, 0xab, 0xa8, 0x30, 0x98, 0x1c, 0x33, 0xec, 0xfe, 0xe7, 0x90, 0x8c, 0x6d,
0x39, 0x54, 0x42,
0x9b, 0xef, 0x30, 0xde, 0xa1, 0x15, 0xfe, 0xe6, 0xd0, 0x3f, 0x13, 0xf0, 0xa0,
0x2e, 0xb2, 0x19,
0xe4, 0xb9, 0xb0, 0xba, 0xac, 0x32, 0xc2, 0x24, 0x0b, 0x2a, 0x47, 0x17, 0xda,
0x7c, 0x11, 0x6c,
0xe2, 0x09, 0x24, 0x71, 0x30, 0xac, 0x14, 0x0c, 0xd3, 0xab, 0xdc, 0xe7, 0x78,
0xa4, 0x27, 0x27,
0xf3, 0x2c, 0xfa, 0xfd, 0xae, 0x9e, 0x51, 0x68, 0x47, 0xb2, 0x6c, 0xe4, 0xcb,
0xb7, 0x66, 0x03]
CKM_KCDSA_KEY_PAIR_GEN_PUBTEMP_1024_160 = {CKA_TOKEN: True, # 1024_160 or 2048_256
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_PRIME: kcdsa_prime_1024_160,
CKA_SUBPRIME: kcdsa_sub_prime_1024_160,
CKA_BASE: kcdsa_base_1024_160,
CKA_LABEL: b"KCDSA Public Key"}
CKM_KCDSA_KEY_PAIR_GEN_PUBTEMP_2048_256 = {CKA_TOKEN: True, # 1024_160 or 2048_256
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_PRIME: kcdsa_prime_2048_256,
CKA_SUBPRIME: kcdsa_sub_prime_2048_256,
CKA_BASE: kcdsa_base_2048_256,
CKA_LABEL: b"KCDSA Public Key"}
CKM_KCDSA_KEY_PAIR_GEN_PRIVTEMP = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_SENSITIVE: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_UNWRAP: True,
CKA_EXTRACTABLE: True,
CKA_LABEL: b"KCDSA Private Key"}
CKM_DSA_PARAMETER_GEN_TEMP = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_SENSITIVE: True,
CKA_PRIME_BITS: 1024,
# 0-4096, ONLY SUPPORTS: 1024-160, 2048-224, 2048-256, 3072-256
CKA_SUBPRIME_BITS: 160, # 0-512
CKA_LABEL: b"DSA Parameter Key"}
CKM_KCDSA_PARAMETER_GEN_TEMP = {CKA_TOKEN: True, # primelength 0-4096, subprimelength 0-512
CKA_PRIVATE: True,
CKA_SENSITIVE: True,
CKA_PRIME_BITS: 2048, # 0-4096
CKA_SUBPRIME_BITS: 256, # 0-512
CKA_LABEL: b"KCDSA Parameter Key"}
CKM_RSA_X9_31_KEY_PAIR_GEN_PUBTEMP = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_MODIFIABLE: True,
CKA_ENCRYPT: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_MODULUS_BITS: 1024, # long 1-MAX_RSA_KEY_NBITS
CKA_PUBLIC_EXPONENT: 3, # byte
CKA_LABEL: b"RSA Public Key"}
CKM_RSA_X9_31_KEY_PAIR_GEN_PRIVTEMP = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_SENSITIVE: True,
CKA_MODIFIABLE: True,
CKA_EXTRACTABLE: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_UNWRAP: True,
CKA_LABEL: b"RSA Private Key"}
dhX9_42Prime = [0xE0, 0x01, 0xE8, 0x96, 0x7D, 0xB4, 0x93, 0x53, 0xE1, 0x6F, 0x8E, 0x89, 0x22, 0x0C,
0xCE, 0xFC,
0x5C, 0x5F, 0x12, 0xE3, 0xDF, 0xF8, 0xF1, 0xD1, 0x49, 0x90, 0x12, 0xE6, 0xEF, 0x53,
0xE3, 0x1F,
0x02, 0xEA, 0xCC, 0x5A, 0xDD, 0xF3, 0x37, 0x89, 0x35, 0xC9, 0x5B, 0x21, 0xEA, 0x3D,
0x6F, 0x1C,
0xD7, 0xCE, 0x63, 0x75, 0x52, 0xEC, 0x38, 0x6C, 0x0E, 0x34, 0xF7, 0x36, 0xAD, 0x95,
0x17, 0xEF,
0xFE, 0x5E, 0x4D, 0xA7, 0xA8, 0x6A, 0xF9, 0x0E, 0x2C, 0x22, 0x8F, 0xE4, 0xB9, 0xE6,
0xD8, 0xF8,
0xF0, 0x2D, 0x20, 0xAF, 0x78, 0xAB, 0xB6, 0x92, 0xAC, 0xBC, 0x4B, 0x23, 0xFA, 0xF2,
0xC5, 0xCC,
0xD4, 0x9A, 0x0C, 0x9A, 0x8B, 0xCD, 0x91, 0xAC, 0x0C, 0x55, 0x92, 0x01, 0xE6, 0xC2,
0xFD, 0x1F,
0x47, 0xC2, 0xCB, 0x2A, 0x88, 0xA8, 0x3C, 0x21, 0x0F, 0xC0, 0x54, 0xDB, 0x29, 0x2D,
0xBC, 0x45]
dhX9_42Base = [0x86, 0x47, 0x17, 0xA3, 0x9E, 0x6A, 0xEA, 0x7E, 0x87, 0xC4, 0x32, 0xEE, 0x77, 0x43,
0x15, 0x16,
0x96, 0x70, 0xC4, 0x99]
dhX9_42SubPrime = [0x1C, 0xE0, 0xF6, 0x69, 0x26, 0x46, 0x11, 0x97, 0xEF, 0x45, 0xC4, 0x65, 0x8B,
0x83, 0xB8, 0xAB,
0x04, 0xA9, 0x22, 0x42, 0x68, 0x50, 0x4D, 0x05, 0xB8, 0x19, 0x83, 0x99, 0xDD,
0x71, 0x37, 0x18,
0xCC, 0x1F, 0x24, 0x5D, 0x47, 0x6C, 0xCF, 0x61, 0xA2, 0xF9, 0x34, 0x93, 0xF4,
0x1F, 0x55, 0x52,
0x48, 0x65, 0x57, 0xE6, 0xD4, 0xCA, 0xA8, 0x00, 0xD6, 0xD0, 0xDB, 0x3C, 0xBF,
0x5A, 0x95, 0x4B,
0x20, 0x8A, 0x4E, 0xBA, 0xF7, 0xE6, 0x49, 0xFB, 0x61, 0x24, 0xD8, 0xA2, 0x1E,
0xF2, 0xF2, 0x2B,
0xAA, 0xAE, 0x29, 0x21, 0x10, 0x19, 0x10, 0x51, 0x46, 0x47, 0x31, 0xB6, 0xCC,
0x3C, 0x93, 0xDC,
0x6E, 0x80, 0xBA, 0x16, 0x0B, 0x66, 0x64, 0xA5, 0x6C, 0xFA, 0x96, 0xEA, 0xF1,
0xB2, 0x83, 0x39,
0x8E, 0xB4, 0x61, 0x64, 0xE5, 0xE9, 0x43, 0x84, 0xEE, 0x02, 0x24, 0xE7, 0x1F,
0x03, 0x7C, 0x23]
CKM_X9_42_DH_KEY_PAIR_GEN_PUBTEMP = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_SENSITIVE: True,
CKA_DERIVE: True,
CKA_PRIME: dhX9_42Prime,
CKA_BASE: dhX9_42Base,
CKA_SUBPRIME: dhX9_42SubPrime,
CKA_LABEL: b"DH X9.42 Public Key"}
CKM_X9_42_DH_KEY_PAIR_GEN_PRIVTEMP = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_SENSITIVE: True,
CKA_DERIVE: True,
CKA_EXTRACTABLE: True,
CKA_LABEL: b"DH X9.42 Private Key"}
CKM_ARIA_KEY_GEN_TEMP = {CKA_CLASS: CKO_SECRET_KEY,
CKA_KEY_TYPE: CKK_ARIA,
CKA_TOKEN: True,
CKA_SENSITIVE: True,
CKA_PRIVATE: True,
CKA_ENCRYPT: True,
CKA_DECRYPT: True,
CKA_SIGN: True,
CKA_VERIFY: True,
CKA_WRAP: True,
CKA_UNWRAP: True,
CKA_DERIVE: True,
CKA_VALUE_LEN: 24, # 16, 24, 32
CKA_EXTRACTABLE: True,
CKA_LABEL: b"ARIA Key"}
CKM_DH_PKCS_PARAMETER_GEN_TEMP = {CKA_TOKEN: True,
CKA_PRIVATE: True,
CKA_SENSITIVE: True,
CKA_PRIME_BITS: 512,
# between 512 and 2048 in 256bit increments (&0xff)
CKA_LABEL: b"SH PKCS Parameter Key"}
'''
The simple certificate object taken from CKDemo when
you select the Create Object option and choose certificate
'''
CERTIFICATE_TEMPLATE = {CKA_CLASS: CKO_CERTIFICATE,
CKA_CERTIFICATE_TYPE: CKC_X_509,
CKA_TOKEN: True,
CKA_LABEL: b"Created certificate object",
CKA_SUBJECT: b"",
CKA_VALUE: [0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01,
0x01, 0x01]}
'''
The simple data object template taken from CKDemo when you select
the Create Object option and choose data
'''
DATA_TEMPLATE = {CKA_CLASS: CKO_DATA,
CKA_TOKEN: True,
CKA_LABEL: b"Created data object",
CKA_VALUE: [0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01,
0x01]}
KEY_GENERATOR_TEMPLATES = {CKM_DES_KEY_GEN: CKM_DES_KEY_GEN_TEMP,
CKM_DES2_KEY_GEN: CKM_DES2_KEY_GEN_TEMP,
CKM_DES3_KEY_GEN: CKM_DES3_KEY_GEN_TEMP,
CKM_CAST3_KEY_GEN: CKM_CAST3_KEY_GEN_TEMP,
CKM_GENERIC_SECRET_KEY_GEN: CKM_GENERIC_SECRET_KEY_GEN_TEMP,
CKM_CAST5_KEY_GEN: CKM_CAST5_KEY_GEN_TEMP,
CKM_RC2_KEY_GEN: CKM_RC2_KEY_GEN_TEMP,
CKM_RC4_KEY_GEN: CKM_RC4_KEY_GEN_TEMP,
CKM_RC5_KEY_GEN: CKM_RC5_KEY_GEN_TEMP,
CKM_AES_KEY_GEN: CKM_AES_KEY_GEN_TEMP,
CKM_SEED_KEY_GEN: CKM_SEED_KEY_GEN_TEMP,
CKM_ARIA_KEY_GEN: CKM_ARIA_KEY_GEN_TEMP,
CKM_DH_PKCS_PARAMETER_GEN: CKM_DH_PKCS_PARAMETER_GEN_TEMP}
KEY_PAIR_GENERATOR_TEMPLATES = { # Note lacks multiple sizes of the same kinds of keys
CKM_RSA_PKCS_KEY_PAIR_GEN: (
CKM_RSA_PKCS_KEY_PAIR_GEN_PUBTEMP, CKM_RSA_PKCS_KEY_PAIR_GEN_PRIVTEMP),
CKM_RSA_FIPS_186_3_PRIME_KEY_PAIR_GEN: (
CKM_RSA_PKCS_KEY_PAIR_GEN_PUBTEMP, CKM_RSA_PKCS_KEY_PAIR_GEN_PRIVTEMP),
CKM_RSA_FIPS_186_3_AUX_PRIME_KEY_PAIR_GEN: (
CKM_RSA_PKCS_KEY_PAIR_GEN_PUBTEMP, CKM_RSA_PKCS_KEY_PAIR_GEN_PRIVTEMP),
CKM_DSA_KEY_PAIR_GEN: (
CKM_DSA_KEY_PAIR_GEN_PUBTEMP_3072_256, CKM_DSA_KEY_PAIR_GEN_PRIVTEMP),
CKM_DH_PKCS_KEY_PAIR_GEN: (
CKM_DH_PKCS_KEY_PAIR_GEN_PUBTEMP, CKM_DH_PKCS_KEY_PAIR_GEN_PRIVTEMP),
CKM_ECDSA_KEY_PAIR_GEN: (
CKM_ECDSA_KEY_PAIR_GEN_PUBTEMP, CKM_ECDSA_KEY_PAIR_GEN_PRIVTEMP),
CKM_KCDSA_KEY_PAIR_GEN: (
CKM_KCDSA_KEY_PAIR_GEN_PUBTEMP_2048_256, CKM_KCDSA_KEY_PAIR_GEN_PRIVTEMP),
CKM_RSA_X9_31_KEY_PAIR_GEN: (
CKM_RSA_X9_31_KEY_PAIR_GEN_PUBTEMP, CKM_RSA_X9_31_KEY_PAIR_GEN_PRIVTEMP)}
'''
This list is not complete
'''
MECHANISM_LOOKUP = {CKM_RSA_PKCS_KEY_PAIR_GEN: b"CKM_RSA_PKCS_KEY_PAIR_GEN",
CKM_RSA_PKCS: b"CKM_RSA_PKCS",
CKM_SHA1_RSA_PKCS: b"CKM_SHA1_RSA_PKCS",
CKM_SHA224_RSA_PKCS: b"CKM_SHA224_RSA_PKCS",
CKM_SHA256_RSA_PKCS: b"CKM_SHA256_RSA_PKCS",
CKM_SHA384_RSA_PKCS: b"CKM_SHA384_RSA_PKCS",
CKM_SHA512_RSA_PKCS: b"CKM_SHA512_RSA_PKCS",
CKM_RSA_PKCS_PSS: b"CKM_RSA_PKCS_PSS",
CKM_SHA1_RSA_PKCS_PSS: b"CKM_SHA1_RSA_PKCS_PSS",
CKM_SHA224_RSA_PKCS_PSS: b"CKM_SHA224_RSA_PKCS_PSS",
CKM_SHA256_RSA_PKCS_PSS: b"CKM_SHA256_RSA_PKCS_PSS",
CKM_SHA384_RSA_PKCS_PSS: b"CKM_SHA384_RSA_PKCS_PSS",
CKM_SHA512_RSA_PKCS_PSS: b"CKM_SHA512_RSA_PKCS_PSS",
CKM_RSA_X9_31_KEY_PAIR_GEN: b"CKM_RSA_X9_31_KEY_PAIR_GEN",
CKM_RSA_X9_31: b"CKM_RSA_X9_31",
CKM_SHA1_RSA_X9_31: b"CKM_SHA1_RSA_X9_31",
CKM_SHA224_RSA_X9_31: b"CKM_SHA224_RSA_X9_31",
CKM_SHA256_RSA_X9_31: b"CKM_SHA256_RSA_X9_31",
CKM_SHA384_RSA_X9_31: b"CKM_SHA384_RSA_X9_31",
CKM_SHA512_RSA_X9_31: b"CKM_SHA512_RSA_X9_31",
CKM_RSA_PKCS_OAEP: b"CKM_RSA_PKCS_OAEP",
CKM_DSA_KEY_PAIR_GEN: b"CKM_DSA_KEY_PAIR_GEN",
CKM_DSA: b"CKM_DSA",
CKM_DSA_SHA1: b"CKM_DSA_SHA1",
CKM_DSA_SHA224: b"CKM_DSA_SHA224",
CKM_DSA_SHA256: b"CKM_DSA_SHA256",
CKM_DSA_PARAMETER_GEN: b"CKM_DSA_PARAMETER_GEN",
CKM_ECDSA_KEY_PAIR_GEN: b"CKM_ECDSA_KEY_PAIR_GEN",
CKM_ECDSA: b"CKM_ECDSA",
CKM_ECDSA_SHA1: b"CKM_ECDSA_SHA1",
CKM_ECDSA_SHA224: b"CKM_ECDSA_SHA224",
CKM_ECDSA_SHA256: b"CKM_ECDSA_SHA256",
CKM_ECDSA_SHA384: b"CKM_ECDSA_SHA384",
CKM_ECDSA_SHA512: b"CKM_ECDSA_SHA512",
CKM_ECDH1_DERIVE: b"CKM_ECDH1_DERIVE",
CKM_ECDH1_COFACTOR_DERIVE: b"CKM_ECDH1_DERIVE",
CKM_SHA_1_HMAC: b"CKM_SHA_1_HMAC",
CKM_SHA224_HMAC: b"CKM_SHA224_HMAC",
CKM_SHA256_HMAC: b"CKM_SHA256_HMAC",
CKM_SHA384_HMAC: b"CKM_SHA384_HMAC",
CKM_SHA512_HMAC: b"CKM_SHA512_HMAC",
CKM_GENERIC_SECRET_KEY_GEN: b"CKM_GENERIC_SECRET_KEY_GEN",
CKM_RSA_FIPS_186_3_PRIME_KEY_PAIR_GEN: b"CKM_RSA_FIPS_186_3_PRIME_KEY_PAIR_GEN",
CKM_RSA_FIPS_186_3_AUX_PRIME_KEY_PAIR_GEN:
"CKM_RSA_FIPS_186_3_AUX_PRIME_KEY_PAIR_GEN"}
MECHANISM_LOOKUP_EXT = {
CKM_RSA_PKCS_KEY_PAIR_GEN: ('CKM_RSA_PKCS_KEY_PAIR_GEN',),
CKM_RSA_PKCS: ('CKM_RSA_PKCS',),
CKM_RSA_9796: ('CKM_RSA_9796',),
CKM_RSA_X_509: ('CKM_RSA_X_509',),
CKM_MD2_RSA_PKCS: ('CKM_MD2_RSA_PKCS',),
CKM_MD5_RSA_PKCS: ('CKM_MD5_RSA_PKCS',),
CKM_SHA1_RSA_PKCS: ('CKM_SHA1_RSA_PKCS',),
CKM_RIPEMD128_RSA_PKCS: ('CKM_RIPEMD128_RSA_PKCS',),
CKM_RIPEMD160_RSA_PKCS: ('CKM_RIPEMD160_RSA_PKCS',),
CKM_RSA_PKCS_OAEP: ('CKM_RSA_PKCS_OAEP',),
CKM_RSA_X9_31_KEY_PAIR_GEN: ('CKM_RSA_X9_31_KEY_PAIR_GEN',),
CKM_RSA_X9_31: ('CKM_RSA_X9_31',),
CKM_SHA1_RSA_X9_31: ('CKM_SHA1_RSA_X9_31',),
CKM_RSA_PKCS_PSS: ('CKM_RSA_PKCS_PSS',),
CKM_SHA1_RSA_PKCS_PSS: ('CKM_SHA1_RSA_PKCS_PSS',),
CKM_DSA_KEY_PAIR_GEN: ('CKM_DSA_KEY_PAIR_GEN',),
CKM_DSA: ('CKM_DSA',),
CKM_DSA_SHA1: ('CKM_DSA_SHA1',),
CKM_DH_PKCS_KEY_PAIR_GEN: ('CKM_DH_PKCS_KEY_PAIR_GEN',),
CKM_DH_PKCS_DERIVE: ('CKM_DH_PKCS_DERIVE',),
CKM_X9_42_DH_KEY_PAIR_GEN: ('CKM_X9_42_DH_KEY_PAIR_GEN',),
CKM_X9_42_DH_DERIVE: ('CKM_X9_42_DH_DERIVE',),
CKM_X9_42_DH_HYBRID_DERIVE: ('CKM_X9_42_DH_HYBRID_DERIVE',),
CKM_X9_42_MQV_DERIVE: ('CKM_X9_42_MQV_DERIVE',),
CKM_SHA256_RSA_PKCS: ('CKM_SHA256_RSA_PKCS',),
CKM_SHA384_RSA_PKCS: ('CKM_SHA384_RSA_PKCS',),
CKM_SHA512_RSA_PKCS: ('CKM_SHA512_RSA_PKCS',),
CKM_SHA256_RSA_PKCS_PSS: ('CKM_SHA256_RSA_PKCS_PSS',),
CKM_SHA384_RSA_PKCS_PSS: ('CKM_SHA384_RSA_PKCS_PSS',),
CKM_SHA512_RSA_PKCS_PSS: ('CKM_SHA512_RSA_PKCS_PSS',),
CKM_SHA224_RSA_PKCS: ('CKM_SHA224_RSA_PKCS',),
CKM_SHA224_RSA_PKCS_PSS: ('CKM_SHA224_RSA_PKCS_PSS',),
CKM_RC2_KEY_GEN: ('CKM_RC2_KEY_GEN',),
CKM_RC2_ECB: ('CKM_RC2_ECB',),
CKM_RC2_CBC: ('CKM_RC2_CBC',),
CKM_RC2_MAC: ('CKM_RC2_MAC',),
CKM_RC2_MAC_GENERAL: ('CKM_RC2_MAC_GENERAL',),
CKM_RC2_CBC_PAD: ('CKM_RC2_CBC_PAD',),
CKM_RC4_KEY_GEN: ('CKM_RC4_KEY_GEN',),
CKM_RC4: ('CKM_RC4',),
CKM_DES_KEY_GEN: ('CKM_DES_KEY_GEN',),
CKM_DES_ECB: ('CKM_DES_ECB',),
CKM_DES_CBC: ('CKM_DES_CBC',),
CKM_DES_MAC: ('CKM_DES_MAC',),
CKM_DES_MAC_GENERAL: ('CKM_DES_MAC_GENERAL',),
CKM_DES_CBC_PAD: ('CKM_DES_CBC_PAD',),
CKM_DES2_KEY_GEN: ('CKM_DES2_KEY_GEN',),
CKM_DES3_KEY_GEN: ('CKM_DES3_KEY_GEN',),
CKM_DES3_ECB: ('CKM_DES3_ECB',),
CKM_DES3_CBC: ('CKM_DES3_CBC',),
CKM_DES3_MAC: ('CKM_DES3_MAC',),
CKM_DES3_MAC_GENERAL: ('CKM_DES3_MAC_GENERAL',),
CKM_DES3_CBC_PAD: ('CKM_DES3_CBC_PAD',),
CKM_DES3_CMAC_GENERAL: ('CKM_DES3_CMAC_GENERAL',),
CKM_DES3_CMAC: ('CKM_DES3_CMAC',),
CKM_CDMF_KEY_GEN: ('CKM_CDMF_KEY_GEN',),
CKM_CDMF_ECB: ('CKM_CDMF_ECB',),
CKM_CDMF_CBC: ('CKM_CDMF_CBC',),
CKM_CDMF_MAC: ('CKM_CDMF_MAC',),
CKM_CDMF_MAC_GENERAL: ('CKM_CDMF_MAC_GENERAL',),
CKM_CDMF_CBC_PAD: ('CKM_CDMF_CBC_PAD',),
CKM_DES_OFB64: ('CKM_DES_OFB64',),
CKM_DES_OFB8: ('CKM_DES_OFB8',),
CKM_DES_CFB64: ('CKM_DES_CFB64',),
CKM_DES_CFB8: ('CKM_DES_CFB8',),
CKM_MD2: ('CKM_MD2',),
CKM_MD2_HMAC: ('CKM_MD2_HMAC',),
CKM_MD2_HMAC_GENERAL: ('CKM_MD2_HMAC_GENERAL',),
CKM_MD5: ('CKM_MD5',),
CKM_MD5_HMAC: ('CKM_MD5_HMAC',),
CKM_MD5_HMAC_GENERAL: ('CKM_MD5_HMAC_GENERAL',),
CKM_SHA_1: ('CKM_SHA_1',),
CKM_SHA_1_HMAC: ('CKM_SHA_1_HMAC',),
CKM_SHA_1_HMAC_GENERAL: ('CKM_SHA_1_HMAC_GENERAL',),
CKM_RIPEMD128: ('CKM_RIPEMD128',),
CKM_RIPEMD128_HMAC: ('CKM_RIPEMD128_HMAC',),
CKM_RIPEMD128_HMAC_GENERAL: ('CKM_RIPEMD128_HMAC_GENERAL',),
CKM_RIPEMD160: ('CKM_RIPEMD160',),
CKM_RIPEMD160_HMAC: ('CKM_RIPEMD160_HMAC',),
CKM_RIPEMD160_HMAC_GENERAL: ('CKM_RIPEMD160_HMAC_GENERAL',),
CKM_SHA256: ('CKM_SHA256',),
CKM_SHA256_HMAC: ('CKM_SHA256_HMAC',),
CKM_SHA256_HMAC_GENERAL: ('CKM_SHA256_HMAC_GENERAL',),
CKM_SHA224: ('CKM_SHA224',),
CKM_SHA224_HMAC: ('CKM_SHA224_HMAC',),
CKM_SHA224_HMAC_GENERAL: ('CKM_SHA224_HMAC_GENERAL',),
CKM_SHA384: ('CKM_SHA384',),
CKM_SHA384_HMAC: ('CKM_SHA384_HMAC',),
CKM_SHA384_HMAC_GENERAL: ('CKM_SHA384_HMAC_GENERAL',),
CKM_SHA512: ('CKM_SHA512',),
CKM_SHA512_HMAC: ('CKM_SHA512_HMAC',),
CKM_SHA512_HMAC_GENERAL: ('CKM_SHA512_HMAC_GENERAL',),
CKM_SECURID_KEY_GEN: ('CKM_SECURID_KEY_GEN',),
CKM_SECURID: ('CKM_SECURID',),
CKM_HOTP_KEY_GEN: ('CKM_HOTP_KEY_GEN',),
CKM_HOTP: ('CKM_HOTP',),
CKM_ACTI: ('CKM_ACTI',),
CKM_ACTI_KEY_GEN: ('CKM_ACTI_KEY_GEN',),
CKM_CAST_KEY_GEN: ('CKM_CAST_KEY_GEN',),
CKM_CAST_ECB: ('CKM_CAST_ECB',),
CKM_CAST_CBC: ('CKM_CAST_CBC',),
CKM_CAST_MAC: ('CKM_CAST_MAC',),
CKM_CAST_MAC_GENERAL: ('CKM_CAST_MAC_GENERAL',),
CKM_CAST_CBC_PAD: ('CKM_CAST_CBC_PAD',),
CKM_CAST3_KEY_GEN: ('CKM_CAST3_KEY_GEN',),
CKM_CAST3_ECB: ('CKM_CAST3_ECB',),
CKM_CAST3_CBC: ('CKM_CAST3_CBC',),
CKM_CAST3_MAC: ('CKM_CAST3_MAC',),
CKM_CAST3_MAC_GENERAL: ('CKM_CAST3_MAC_GENERAL',),
CKM_CAST3_CBC_PAD: ('CKM_CAST3_CBC_PAD',),
CKM_CAST5_KEY_GEN: ('CKM_CAST5_KEY_GEN', 'CKM_CAST128_KEY_GEN'),
CKM_CAST5_ECB: ('CKM_CAST5_ECB', 'CKM_CAST128_ECB'),
CKM_CAST5_CBC: ('CKM_CAST5_CBC', 'CKM_CAST128_CBC'),
CKM_CAST5_MAC: ('CKM_CAST5_MAC', 'CKM_CAST128_MAC'),
CKM_CAST5_MAC_GENERAL: ('CKM_CAST5_MAC_GENERAL', 'CKM_CAST128_MAC_GENERAL'),
CKM_CAST5_CBC_PAD: ('CKM_CAST5_CBC_PAD', 'CKM_CAST128_CBC_PAD'),
CKM_RC5_KEY_GEN: ('CKM_RC5_KEY_GEN',),
CKM_RC5_ECB: ('CKM_RC5_ECB',),
CKM_RC5_CBC: ('CKM_RC5_CBC',),
CKM_RC5_MAC: ('CKM_RC5_MAC',),
CKM_RC5_MAC_GENERAL: ('CKM_RC5_MAC_GENERAL',),
CKM_RC5_CBC_PAD: ('CKM_RC5_CBC_PAD',),
CKM_IDEA_KEY_GEN: ('CKM_IDEA_KEY_GEN',),
CKM_IDEA_ECB: ('CKM_IDEA_ECB',),
CKM_IDEA_CBC: ('CKM_IDEA_CBC',),
CKM_IDEA_MAC: ('CKM_IDEA_MAC',),
CKM_IDEA_MAC_GENERAL: ('CKM_IDEA_MAC_GENERAL',),
CKM_IDEA_CBC_PAD: ('CKM_IDEA_CBC_PAD',),
CKM_GENERIC_SECRET_KEY_GEN: ('CKM_GENERIC_SECRET_KEY_GEN',),
CKM_CONCATENATE_BASE_AND_KEY: ('CKM_CONCATENATE_BASE_AND_KEY',),
CKM_CONCATENATE_BASE_AND_DATA: ('CKM_CONCATENATE_BASE_AND_DATA',),
CKM_CONCATENATE_DATA_AND_BASE: ('CKM_CONCATENATE_DATA_AND_BASE',),
CKM_XOR_BASE_AND_DATA: ('CKM_XOR_BASE_AND_DATA',),
CKM_EXTRACT_KEY_FROM_KEY: ('CKM_EXTRACT_KEY_FROM_KEY',),
CKM_SSL3_PRE_MASTER_KEY_GEN: ('CKM_SSL3_PRE_MASTER_KEY_GEN',),
CKM_SSL3_MASTER_KEY_DERIVE: ('CKM_SSL3_MASTER_KEY_DERIVE',),
CKM_SSL3_KEY_AND_MAC_DERIVE: ('CKM_SSL3_KEY_AND_MAC_DERIVE',),
CKM_SSL3_MASTER_KEY_DERIVE_DH: ('CKM_SSL3_MASTER_KEY_DERIVE_DH',),
CKM_TLS_PRE_MASTER_KEY_GEN: ('CKM_TLS_PRE_MASTER_KEY_GEN',),
CKM_TLS_MASTER_KEY_DERIVE: ('CKM_TLS_MASTER_KEY_DERIVE',),
CKM_TLS_KEY_AND_MAC_DERIVE: ('CKM_TLS_KEY_AND_MAC_DERIVE',),
CKM_TLS_MASTER_KEY_DERIVE_DH: ('CKM_TLS_MASTER_KEY_DERIVE_DH',),
CKM_TLS_PRF: ('CKM_TLS_PRF',),
CKM_SSL3_MD5_MAC: ('CKM_SSL3_MD5_MAC',),
CKM_SSL3_SHA1_MAC: ('CKM_SSL3_SHA1_MAC',),
CKM_MD5_KEY_DERIVATION: ('CKM_MD5_KEY_DERIVATION',),
CKM_MD2_KEY_DERIVATION: ('CKM_MD2_KEY_DERIVATION',),
CKM_SHA1_KEY_DERIVATION: ('CKM_SHA1_KEY_DERIVATION',),
CKM_SHA256_KEY_DERIVATION: ('CKM_SHA256_KEY_DERIVATION',),
CKM_SHA384_KEY_DERIVATION: ('CKM_SHA384_KEY_DERIVATION',),
CKM_SHA512_KEY_DERIVATION: ('CKM_SHA512_KEY_DERIVATION',),
CKM_SHA224_KEY_DERIVATION: ('CKM_SHA224_KEY_DERIVATION',),
CKM_PBE_MD2_DES_CBC: ('CKM_PBE_MD2_DES_CBC',),
CKM_PBE_MD5_DES_CBC: ('CKM_PBE_MD5_DES_CBC',),
CKM_PBE_MD5_CAST_CBC: ('CKM_PBE_MD5_CAST_CBC',),
CKM_PBE_MD5_CAST3_CBC: ('CKM_PBE_MD5_CAST3_CBC',),
CKM_PBE_MD5_CAST5_CBC: ('CKM_PBE_MD5_CAST5_CBC', 'CKM_PBE_MD5_CAST128_CBC'),
CKM_PBE_SHA1_CAST5_CBC: ('CKM_PBE_SHA1_CAST5_CBC', 'CKM_PBE_SHA1_CAST128_CBC'),
CKM_PBE_SHA1_RC4_128: ('CKM_PBE_SHA1_RC4_128',),
CKM_PBE_SHA1_RC4_40: ('CKM_PBE_SHA1_RC4_40',),
CKM_PBE_SHA1_DES3_EDE_CBC: ('CKM_PBE_SHA1_DES3_EDE_CBC',),
CKM_PBE_SHA1_DES2_EDE_CBC: ('CKM_PBE_SHA1_DES2_EDE_CBC',),
CKM_PBE_SHA1_RC2_128_CBC: ('CKM_PBE_SHA1_RC2_128_CBC',),
CKM_PBE_SHA1_RC2_40_CBC: ('CKM_PBE_SHA1_RC2_40_CBC',),
CKM_PKCS5_PBKD2: ('CKM_PKCS5_PBKD2',),
CKM_PBA_SHA1_WITH_SHA1_HMAC: ('CKM_PBA_SHA1_WITH_SHA1_HMAC',),
CKM_WTLS_PRE_MASTER_KEY_GEN: ('CKM_WTLS_PRE_MASTER_KEY_GEN',),
CKM_WTLS_MASTER_KEY_DERIVE: ('CKM_WTLS_MASTER_KEY_DERIVE',),
CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC: ('CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC',),
CKM_WTLS_PRF: ('CKM_WTLS_PRF',),
CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE: ('CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE',),
CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE: ('CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE',),
CKM_KEY_WRAP_LYNKS: ('CKM_KEY_WRAP_LYNKS',),
CKM_KEY_WRAP_SET_OAEP: ('CKM_KEY_WRAP_SET_OAEP',),
CKM_CMS_SIG: ('CKM_CMS_SIG',),
CKM_KIP_DERIVE: ('CKM_KIP_DERIVE',),
CKM_KIP_WRAP: ('CKM_KIP_WRAP',),
CKM_KIP_MAC: ('CKM_KIP_MAC',),
CKM_CAMELLIA_KEY_GEN: ('CKM_CAMELLIA_KEY_GEN',),
CKM_CAMELLIA_ECB: ('CKM_CAMELLIA_ECB',),
CKM_CAMELLIA_CBC: ('CKM_CAMELLIA_CBC',),
CKM_CAMELLIA_MAC: ('CKM_CAMELLIA_MAC',),
CKM_CAMELLIA_MAC_GENERAL: ('CKM_CAMELLIA_MAC_GENERAL',),
CKM_CAMELLIA_CBC_PAD: ('CKM_CAMELLIA_CBC_PAD',),
CKM_CAMELLIA_ECB_ENCRYPT_DATA: ('CKM_CAMELLIA_ECB_ENCRYPT_DATA',),
CKM_CAMELLIA_CBC_ENCRYPT_DATA: ('CKM_CAMELLIA_CBC_ENCRYPT_DATA',),
CKM_CAMELLIA_CTR: ('CKM_CAMELLIA_CTR',),
CKM_ARIA_KEY_GEN: ('CKM_ARIA_KEY_GEN',),
CKM_ARIA_ECB: ('CKM_ARIA_ECB',),
CKM_ARIA_CBC: ('CKM_ARIA_CBC',),
CKM_ARIA_MAC: ('CKM_ARIA_MAC',),
CKM_ARIA_MAC_GENERAL: ('CKM_ARIA_MAC_GENERAL',),
CKM_ARIA_CBC_PAD: ('CKM_ARIA_CBC_PAD',),
CKM_ARIA_ECB_ENCRYPT_DATA: ('CKM_ARIA_ECB_ENCRYPT_DATA',),
CKM_ARIA_CBC_ENCRYPT_DATA: ('CKM_ARIA_CBC_ENCRYPT_DATA',),
CKM_SKIPJACK_KEY_GEN: ('CKM_SKIPJACK_KEY_GEN',),
CKM_SKIPJACK_ECB64: ('CKM_SKIPJACK_ECB64',),
CKM_SKIPJACK_CBC64: ('CKM_SKIPJACK_CBC64',),
CKM_SKIPJACK_OFB64: ('CKM_SKIPJACK_OFB64',),
CKM_SKIPJACK_CFB64: ('CKM_SKIPJACK_CFB64',),
CKM_SKIPJACK_CFB32: ('CKM_SKIPJACK_CFB32',),
CKM_SKIPJACK_CFB16: ('CKM_SKIPJACK_CFB16',),
CKM_SKIPJACK_CFB8: ('CKM_SKIPJACK_CFB8',),
CKM_SKIPJACK_WRAP: ('CKM_SKIPJACK_WRAP',),
CKM_SKIPJACK_PRIVATE_WRAP: ('CKM_SKIPJACK_PRIVATE_WRAP',),
CKM_SKIPJACK_RELAYX: ('CKM_SKIPJACK_RELAYX',),
CKM_KEA_KEY_PAIR_GEN: ('CKM_KEA_KEY_PAIR_GEN',),
CKM_KEA_KEY_DERIVE: ('CKM_KEA_KEY_DERIVE',),
CKM_FORTEZZA_TIMESTAMP: ('CKM_FORTEZZA_TIMESTAMP',),
CKM_BATON_KEY_GEN: ('CKM_BATON_KEY_GEN',),
CKM_BATON_ECB128: ('CKM_BATON_ECB128',),
CKM_BATON_ECB96: ('CKM_BATON_ECB96',),
CKM_BATON_CBC128: ('CKM_BATON_CBC128',),
CKM_BATON_COUNTER: ('CKM_BATON_COUNTER',),
CKM_BATON_SHUFFLE: ('CKM_BATON_SHUFFLE',),
CKM_BATON_WRAP: ('CKM_BATON_WRAP',),
CKM_ECDSA_KEY_PAIR_GEN: ('CKM_ECDSA_KEY_PAIR_GEN', 'CKM_EC_KEY_PAIR_GEN'),
CKM_ECDSA: ('CKM_ECDSA',),
CKM_ECDSA_SHA1: ('CKM_ECDSA_SHA1',),
CKM_ECDH1_DERIVE: ('CKM_ECDH1_DERIVE',),
CKM_ECDH1_COFACTOR_DERIVE: ('CKM_ECDH1_COFACTOR_DERIVE',),
CKM_ECMQV_DERIVE: ('CKM_ECMQV_DERIVE',),
CKM_JUNIPER_KEY_GEN: ('CKM_JUNIPER_KEY_GEN',),
CKM_JUNIPER_ECB128: ('CKM_JUNIPER_ECB128',),
CKM_JUNIPER_CBC128: ('CKM_JUNIPER_CBC128',),
CKM_JUNIPER_COUNTER: ('CKM_JUNIPER_COUNTER',),
CKM_JUNIPER_SHUFFLE: ('CKM_JUNIPER_SHUFFLE',),
CKM_JUNIPER_WRAP: ('CKM_JUNIPER_WRAP',),
CKM_FASTHASH: ('CKM_FASTHASH',),
CKM_AES_KEY_GEN: ('CKM_AES_KEY_GEN',),
CKM_AES_ECB: ('CKM_AES_ECB',),
CKM_AES_CBC: ('CKM_AES_CBC',),
CKM_AES_MAC: ('CKM_AES_MAC',),
CKM_AES_MAC_GENERAL: ('CKM_AES_MAC_GENERAL',),
CKM_AES_CBC_PAD: ('CKM_AES_CBC_PAD',),
CKM_AES_CTR: ('CKM_AES_CTR',),
CKM_AES_CMAC_GENERAL: ('CKM_AES_CMAC_GENERAL',),
CKM_AES_CMAC: ('CKM_AES_CMAC',),
CKM_BLOWFISH_KEY_GEN: ('CKM_BLOWFISH_KEY_GEN',),
CKM_BLOWFISH_CBC: ('CKM_BLOWFISH_CBC',),
CKM_TWOFISH_KEY_GEN: ('CKM_TWOFISH_KEY_GEN',),
CKM_TWOFISH_CBC: ('CKM_TWOFISH_CBC',),
CKM_DES_ECB_ENCRYPT_DATA: ('CKM_DES_ECB_ENCRYPT_DATA',),
CKM_DES_CBC_ENCRYPT_DATA: ('CKM_DES_CBC_ENCRYPT_DATA',),
CKM_DES3_ECB_ENCRYPT_DATA: ('CKM_DES3_ECB_ENCRYPT_DATA',),
CKM_DES3_CBC_ENCRYPT_DATA: ('CKM_DES3_CBC_ENCRYPT_DATA',),
CKM_AES_ECB_ENCRYPT_DATA: ('CKM_AES_ECB_ENCRYPT_DATA',),
CKM_AES_CBC_ENCRYPT_DATA: ('CKM_AES_CBC_ENCRYPT_DATA',),
CKM_DSA_PARAMETER_GEN: ('CKM_DSA_PARAMETER_GEN',),
CKM_DH_PKCS_PARAMETER_GEN: ('CKM_DH_PKCS_PARAMETER_GEN',),
CKM_X9_42_DH_PARAMETER_GEN: ('CKM_X9_42_DH_PARAMETER_GEN',),
CKM_AES_KEY_WRAP: ('CKM_AES_KEY_WRAP',),
CKM_AES_KEY_WRAP_PAD: ('CKM_AES_KEY_WRAP_PAD',),
CKM_VENDOR_DEFINED: ('CKM_VENDOR_DEFINED',),
CKM_KEY_TRANSLATION: ('CKM_KEY_TRANSLATION',),
CKM_XOR_BASE_AND_KEY: ('CKM_XOR_BASE_AND_KEY',),
CKM_2DES_KEY_DERIVATION: ('CKM_2DES_KEY_DERIVATION',),
CKM_INDIRECT_LOGIN_REENCRYPT: ('CKM_INDIRECT_LOGIN_REENCRYPT',),
CKM_HAS160: ('CKM_HAS160',),
CKM_KCDSA_KEY_PAIR_GEN: ('CKM_KCDSA_KEY_PAIR_GEN',),
CKM_KCDSA_HAS160: ('CKM_KCDSA_HAS160',),
CKM_SEED_KEY_GEN: ('CKM_SEED_KEY_GEN',),
CKM_SEED_ECB: ('CKM_SEED_ECB',),
CKM_SEED_CBC: ('CKM_SEED_CBC',),
CKM_SEED_CBC_PAD: ('CKM_SEED_CBC_PAD',),
CKM_SEED_MAC: ('CKM_SEED_MAC',),
CKM_SEED_MAC_GENERAL: ('CKM_SEED_MAC_GENERAL',),
CKM_KCDSA_SHA1: ('CKM_KCDSA_SHA1',),
CKM_KCDSA_SHA224: ('CKM_KCDSA_SHA224',),
CKM_KCDSA_SHA256: ('CKM_KCDSA_SHA256',),
CKM_KCDSA_SHA384: ('CKM_KCDSA_SHA384',),
CKM_KCDSA_SHA512: ('CKM_KCDSA_SHA512',),
CKM_KCDSA_PARAMETER_GEN: ('CKM_KCDSA_PARAMETER_GEN',),
CKM_DES3_CTR: ('CKM_DES3_CTR',),
CKM_AES_CFB8: ('CKM_AES_CFB8',),
CKM_AES_CFB128: ('CKM_AES_CFB128',),
CKM_AES_OFB: ('CKM_AES_OFB',),
CKM_AES_GCM: ('CKM_AES_GCM',),
CKM_ARIA_CFB8: ('CKM_ARIA_CFB8',),
CKM_ARIA_CFB128: ('CKM_ARIA_CFB128',),
CKM_ARIA_OFB: ('CKM_ARIA_OFB',),
CKM_ARIA_CTR: ('CKM_ARIA_CTR',),
CKM_ARIA_GCM: ('CKM_ARIA_GCM',),
CKM_ECDSA_SHA224: ('CKM_ECDSA_SHA224',),
CKM_ECDSA_SHA256: ('CKM_ECDSA_SHA256',),
CKM_ECDSA_SHA384: ('CKM_ECDSA_SHA384',),
CKM_ECDSA_SHA512: ('CKM_ECDSA_SHA512',),
CKM_AES_GMAC: ('CKM_AES_GMAC',),
CKM_ARIA_CMAC: ('CKM_ARIA_CMAC',),
CKM_ARIA_CMAC_GENERAL: ('CKM_ARIA_CMAC_GENERAL',),
CKM_SEED_CMAC: ('CKM_SEED_CMAC',),
CKM_SEED_CMAC_GENERAL: ('CKM_SEED_CMAC_GENERAL',),
CKM_DES3_CBC_PAD_IPSEC: ('CKM_DES3_CBC_PAD_IPSEC',),
CKM_AES_CBC_PAD_IPSEC: ('CKM_AES_CBC_PAD_IPSEC',),
CKM_ARIA_L_ECB: ('CKM_ARIA_L_ECB',),
CKM_ARIA_L_CBC: ('CKM_ARIA_L_CBC',),
CKM_ARIA_L_CBC_PAD: ('CKM_ARIA_L_CBC_PAD',),
CKM_ARIA_L_MAC: ('CKM_ARIA_L_MAC',),
CKM_ARIA_L_MAC_GENERAL: ('CKM_ARIA_L_MAC_GENERAL',),
CKM_SHA224_RSA_X9_31: ('CKM_SHA224_RSA_X9_31',),
CKM_SHA256_RSA_X9_31: ('CKM_SHA256_RSA_X9_31',),
CKM_SHA384_RSA_X9_31: ('CKM_SHA384_RSA_X9_31',),
CKM_SHA512_RSA_X9_31: ('CKM_SHA512_RSA_X9_31',),
CKM_SHA1_RSA_X9_31_NON_FIPS: ('CKM_SHA1_RSA_X9_31_NON_FIPS',),
CKM_SHA224_RSA_X9_31_NON_FIPS: ('CKM_SHA224_RSA_X9_31_NON_FIPS',),
CKM_SHA256_RSA_X9_31_NON_FIPS: ('CKM_SHA256_RSA_X9_31_NON_FIPS',),
CKM_SHA384_RSA_X9_31_NON_FIPS: ('CKM_SHA384_RSA_X9_31_NON_FIPS',),
CKM_SHA512_RSA_X9_31_NON_FIPS: ('CKM_SHA512_RSA_X9_31_NON_FIPS',),
CKM_RSA_X9_31_NON_FIPS: ('CKM_RSA_X9_31_NON_FIPS',),
CKM_DSA_SHA224: ('CKM_DSA_SHA224',),
CKM_DSA_SHA256: ('CKM_DSA_SHA256',),
CKM_RSA_FIPS_186_3_AUX_PRIME_KEY_PAIR_GEN: ('CKM_RSA_FIPS_186_3_AUX_PRIME_KEY_PAIR_GEN',),
CKM_RSA_FIPS_186_3_PRIME_KEY_PAIR_GEN: ('CKM_RSA_FIPS_186_3_PRIME_KEY_PAIR_GEN',),
CKM_SEED_CTR: ('CKM_SEED_CTR',),
CKM_KCDSA_HAS160_NO_PAD: ('CKM_KCDSA_HAS160_NO_PAD',),
CKM_KCDSA_SHA1_NO_PAD: ('CKM_KCDSA_SHA1_NO_PAD',),
CKM_KCDSA_SHA224_NO_PAD: ('CKM_KCDSA_SHA224_NO_PAD',),
CKM_KCDSA_SHA256_NO_PAD: ('CKM_KCDSA_SHA256_NO_PAD',),
CKM_KCDSA_SHA384_NO_PAD: ('CKM_KCDSA_SHA384_NO_PAD',),
CKM_KCDSA_SHA512_NO_PAD: ('CKM_KCDSA_SHA512_NO_PAD',),
CKM_DES3_X919_MAC: ('CKM_DES3_X919_MAC',),
CKM_ECDSA_KEY_PAIR_GEN_W_EXTRA_BITS: ('CKM_ECDSA_KEY_PAIR_GEN_W_EXTRA_BITS',),
CKM_ECDSA_GBCS_SHA256: ('CKM_ECDSA_GBCS_SHA256',),
CKM_AES_KW: ('CKM_AES_KW',),
CKM_AES_KWP: ('CKM_AES_KWP',),
CKM_TDEA_KW: ('CKM_TDEA_KW',),
CKM_TDEA_KWP: ('CKM_TDEA_KWP',),
CKM_AES_CBC_PAD_EXTRACT: ('CKM_AES_CBC_PAD_EXTRACT',),
CKM_AES_CBC_PAD_INSERT: ('CKM_AES_CBC_PAD_INSERT',),
CKM_AES_CBC_PAD_EXTRACT_FLATTENED: ('CKM_AES_CBC_PAD_EXTRACT_FLATTENED',),
CKM_AES_CBC_PAD_INSERT_FLATTENED: ('CKM_AES_CBC_PAD_INSERT_FLATTENED',),
CKM_AES_CBC_PAD_EXTRACT_DOMAIN_CTRL: ('CKM_AES_CBC_PAD_EXTRACT_DOMAIN_CTRL',),
CKM_AES_CBC_PAD_INSERT_DOMAIN_CTRL: ('CKM_AES_CBC_PAD_INSERT_DOMAIN_CTRL',),
CKM_PLACE_HOLDER_FOR_ERACOME_DEF_IN_SHIM: ('CKM_PLACE_HOLDER_FOR_ERACOME_DEF_IN_SHIM',),
CKM_DES2_DUKPT_PIN: ('CKM_DES2_DUKPT_PIN',),
CKM_DES2_DUKPT_MAC: ('CKM_DES2_DUKPT_MAC',),
CKM_DES2_DUKPT_MAC_RESP: ('CKM_DES2_DUKPT_MAC_RESP',),
CKM_DES2_DUKPT_DATA: ('CKM_DES2_DUKPT_DATA',),
CKM_DES2_DUKPT_DATA_RESP: ('CKM_DES2_DUKPT_DATA_RESP',),
CKM_ECIES: ('CKM_ECIES',),
CKM_XOR_BASE_AND_DATA_W_KDF: ('CKM_XOR_BASE_AND_DATA_W_KDF',),
CKM_NIST_PRF_KDF: ('CKM_NIST_PRF_KDF',),
CKM_PRF_KDF: ('CKM_PRF_KDF',)
}
[docs]def get_default_key_template(mechanism):
"""Gets a default template for the given key gen mechanism, returns a deep copy
:param mechanism:
"""
return copy.deepcopy(KEY_GENERATOR_TEMPLATES[mechanism])
[docs]def get_default_key_pair_template(mechanism):
"""Gets the default template for the given key pair gen mechanism, returns a deep copy
:param mechanism:
"""
pub, priv = KEY_PAIR_GENERATOR_TEMPLATES[mechanism]
return copy.deepcopy(pub), copy.deepcopy(priv)