/* * COPYRIGHT (c) International Business Machines Corp. 2005-2017 * * This program is provided under the terms of the Common Public License, * version 1.0 (CPL-1.0). Any use, reproduction or distribution for this * software constitutes recipient's acceptance of CPL-1.0 terms which can be * found in the file LICENSE file or at * https://opensource.org/licenses/cpl1.0.php */ #include "tpm_specific.h" #ifndef TPM_CONFIG_PATH #ifndef CONFIG_PATH #warning CONFIG_PATH not set, using default (/usr/local/var/lib/opencryptoki) #define CONFIG_PATH "/usr/local/var/lib/opencryptoki" #endif // #ifndef CONFIG_PATH #define TPM_CONFIG_PATH CONFIG_PATH "/tpm" #endif // #ifndef TPM_CONFIG_PATH struct token_specific_struct token_specific = { TPM_CONFIG_PATH, "tpm", TRUE, // Token data info: { TRUE, // Use per guest data store TRUE, // Use master key CKM_AES_CBC, // Data store encryption NULL, // Default initialization vector for pins (CK_BYTE *)")#%&!*)^!()$&!&N",// Default initialization vector // for objects }, token_specific_creatlock, NULL, // attach_shm &token_specific_init, &token_specific_init_token_data, NULL, // load_token_data NULL, // save_token_data &token_specific_rng, &token_specific_final, &token_specific_init_token, &token_specific_login, &token_specific_logout, &token_specific_init_pin, &token_specific_set_pin, // DES &token_specific_des_key_gen, &token_specific_des_ecb, &token_specific_des_cbc, // Triple DES &token_specific_tdes_ecb, &token_specific_tdes_cbc, NULL, // tdes_ofb NULL, // tdes_cfb NULL, // tdes_mac NULL, // tdes_cmac // RSA &token_specific_rsa_decrypt, &token_specific_rsa_encrypt, &token_specific_rsa_sign, &token_specific_rsa_verify, &token_specific_rsa_verify_recover, NULL, // rsa_x509_decrypt NULL, // rsa_x509_encrypt NULL, // rsa_x509_sign NULL, // rsa_x509_verify NULL, // rsa_x509_verify_recover NULL, // rsa_oaep_decrypt NULL, // rsa_oaep_encrypt NULL, // rsa_pss_sign NULL, // rsa_pss_verify &token_specific_rsa_generate_keypair, // Elliptic Curve NULL, // ec_sign NULL, // ec_verify NULL, // ec_generate_keypair NULL, // ecdh_derive NULL, // dh_pkcs_derive NULL, // dh_pkcs_key_pair_gen // SHA NULL, // sha_init NULL, // sha NULL, // sha_update NULL, // sha_final // HMAC NULL, // hmac_sign_init NULL, // hmac_sign NULL, // hmac_sign_update NULL, // hmac_sign_final NULL, // hmac_verify_init NULL, // hmac_verify NULL, // hmac_verify_update NULL, // hmac_verify_final NULL, // generic_secret_key_gen // AES &token_specific_aes_key_gen, &token_specific_aes_ecb, &token_specific_aes_cbc, NULL, // aes_ctr NULL, // aes_gcm_init NULL, // aes_gcm NULL, // aes_gcm_update NULL, // aes_gcm_final NULL, // aes_ofb NULL, // aes_cfb NULL, // aes_mac NULL, // aes_cmac // DSA NULL, // dsa_generate_keypair NULL, // dsa_sign NULL, // dsa_verify &token_specific_get_mechanism_list, &token_specific_get_mechanism_info, NULL, // object_add &token_specific_key_wrap, &token_specific_key_unwrap, NULL, // reencrypt_single };