/* * COPYRIGHT (c) International Business Machines Corp. 2002-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 */ /*************************************************************************** Change Log ========== 4/25/03 Kapil Sood (kapil@corrent.com) Added DH key pair generation and DH shared key derivation functions. ****************************************************************************/ // SAB FIXME need to figure out a better way... // // to get the variant dependency out #ifndef __TOK_STRUCT_H #define __TOK_STRUCT_H #include #include "tok_spec_struct.h" // #define PK_LITE_DIR "/etc/pkcs11/lite" // // #define PK_DIR PK_LITE_DIR // #define SUB_DIR "lite" // // // #define DBGTAG "ICA_STDLL_Debug" // // // #ifndef SW_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 SW_CONFIG_PATH CONFIG_PATH "/swtok" #endif // #ifndef SW_CONFIG_PATH token_spec_t token_specific = { SW_CONFIG_PATH, "swtok", FALSE, // Token data info: { FALSE, // Don't use per guest data store TRUE, // Use master key CKM_DES3_CBC, // Data store encryption (CK_BYTE *)"12345678", // Default initialization vector for pins (CK_BYTE *)"10293847", // Default initialization vector for objects }, NULL, // t_creatlock NULL, // t_attach_shm &token_specific_init, NULL, // init_token_data NULL, // load_token_data NULL, // save_token_data NULL, // random number generator &token_specific_final, NULL, // init_token NULL, // login NULL, // logout NULL, // init_pin NULL, // 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, // des3_ofb NULL, // des3_cfb &token_specific_tdes_mac, &token_specific_tdes_cmac, // RSA &token_specific_rsa_decrypt, &token_specific_rsa_encrypt, &token_specific_rsa_sign, &token_specific_rsa_verify, &token_specific_rsa_verify_recover, &token_specific_rsa_x509_decrypt, &token_specific_rsa_x509_encrypt, &token_specific_rsa_x509_sign, &token_specific_rsa_x509_verify, &token_specific_rsa_x509_verify_recover, &token_specific_rsa_oaep_decrypt, &token_specific_rsa_oaep_encrypt, &token_specific_rsa_pss_sign, &token_specific_rsa_pss_verify, &token_specific_rsa_generate_keypair, #ifndef NO_EC // Elliptic Curve &token_specific_ec_sign, &token_specific_ec_verify, &token_specific_ec_generate_keypair, &token_specific_ecdh_pkcs_derive, #else NULL, // ec_sign NULL, // ec_verify NULL, // ec_generate_keypair NULL, // ecdh_derive #endif /* Begin code contributed by Corrent corp. */ // DH #ifndef NODH &token_specific_dh_pkcs_derive, &token_specific_dh_pkcs_key_pair_gen, #else NULL, // dh_pkcs_derive NULL, // dh_pkcs_key_pair_gen #endif /* End code contributed by Corrent corp. */ &token_specific_sha_init, &token_specific_sha, &token_specific_sha_update, &token_specific_sha_final, // HMAC &token_specific_hmac_sign_init, &token_specific_hmac_sign, &token_specific_hmac_sign_update, &token_specific_hmac_sign_final, &token_specific_hmac_verify_init, &token_specific_hmac_verify, &token_specific_hmac_verify_update, &token_specific_hmac_verify_final, &token_specific_generic_secret_key_gen, // AES #ifndef NOAES &token_specific_aes_key_gen, &token_specific_aes_ecb, &token_specific_aes_cbc, #else NULL, // aes_key_gen NULL, // aes_ecb NULL, // aes_cbc #endif NULL, // aes_ctr NULL, // aes_gcm_init NULL, // aes_gcm NULL, // aes_gcm_update NULL, // aes_gcm_final NULL, // aes_ofb NULL, // aes_cfb #ifndef NOAES &token_specific_aes_mac, &token_specific_aes_cmac, #else NULL, // aes_mac NULL, // aes_cmac #endif // DSA NULL, // dsa_generate_keypair NULL, // dsa_sign NULL, // dsa_verify &token_specific_get_mechanism_list, &token_specific_get_mechanism_info, &token_specific_object_add, NULL, // key_wrap NULL, // key_unwrap NULL, // reencrypt_single }; #endif