|
Packit |
8681c6 |
/*
|
|
Packit |
8681c6 |
* COPYRIGHT (c) International Business Machines Corp. 2002-2017
|
|
Packit |
8681c6 |
*
|
|
Packit |
8681c6 |
* This program is provided under the terms of the Common Public License,
|
|
Packit |
8681c6 |
* version 1.0 (CPL-1.0). Any use, reproduction or distribution for this
|
|
Packit |
8681c6 |
* software constitutes recipient's acceptance of CPL-1.0 terms which can be
|
|
Packit |
8681c6 |
* found in the file LICENSE file or at
|
|
Packit |
8681c6 |
* https://opensource.org/licenses/cpl1.0.php
|
|
Packit |
8681c6 |
*/
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
// SAB FIXME need to figure out a better way...
|
|
Packit |
8681c6 |
// // to get the variant dependency out
|
|
Packit |
8681c6 |
#ifndef __TOK_STRUCT_H
|
|
Packit |
8681c6 |
#define __TOK_STRUCT_H
|
|
Packit |
8681c6 |
#include <pkcs11types.h>
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#include "tok_spec_struct.h"
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#ifndef LITE_CONFIG_PATH
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#ifndef CONFIG_PATH
|
|
Packit |
8681c6 |
#warning CONFIG_PATH not set, using default (/usr/local/var/lib/opencryptoki)
|
|
Packit |
8681c6 |
#define CONFIG_PATH "/usr/local/var/lib/opencryptoki"
|
|
Packit |
8681c6 |
#endif // #ifndef CONFIG_PATH
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define LITE_CONFIG_PATH CONFIG_PATH "/lite"
|
|
Packit |
8681c6 |
#endif // #ifndef LITE_CONFIG_PATH
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
token_spec_t token_specific = {
|
|
Packit |
8681c6 |
LITE_CONFIG_PATH,
|
|
Packit |
8681c6 |
"lite",
|
|
Packit Service |
8aa27d |
FALSE,
|
|
Packit |
8681c6 |
// Token data info:
|
|
Packit |
8681c6 |
{
|
|
Packit |
8681c6 |
FALSE, // Don't use per guest data store
|
|
Packit |
8681c6 |
TRUE, // Use master key
|
|
Packit |
8681c6 |
CKM_DES3_CBC, // Data store encryption
|
|
Packit |
8681c6 |
(CK_BYTE *)"12345678", // Default initialization vector for pins
|
|
Packit |
8681c6 |
(CK_BYTE *)"10293847", // Default initialization vector for objects
|
|
Packit |
8681c6 |
},
|
|
Packit |
8681c6 |
NULL, // t_creatlock
|
|
Packit |
8681c6 |
NULL, // t_attach_shm
|
|
Packit |
8681c6 |
&token_specific_init,
|
|
Packit |
8681c6 |
NULL, // init_token_data
|
|
Packit |
8681c6 |
NULL, // load_token_data
|
|
Packit |
8681c6 |
NULL, // save_token_data
|
|
Packit |
8681c6 |
&token_specific_rng,
|
|
Packit |
8681c6 |
&token_specific_final,
|
|
Packit |
8681c6 |
NULL, // init_token
|
|
Packit |
8681c6 |
NULL, // login
|
|
Packit |
8681c6 |
NULL, // logout
|
|
Packit |
8681c6 |
NULL, // init_pin
|
|
Packit |
8681c6 |
NULL, // set_pin
|
|
Packit |
8681c6 |
// DES
|
|
Packit |
8681c6 |
&token_specific_des_key_gen,
|
|
Packit |
8681c6 |
&token_specific_des_ecb,
|
|
Packit |
8681c6 |
&token_specific_des_cbc,
|
|
Packit |
8681c6 |
// Triple DES
|
|
Packit |
8681c6 |
&token_specific_tdes_ecb,
|
|
Packit |
8681c6 |
&token_specific_tdes_cbc,
|
|
Packit |
8681c6 |
&token_specific_tdes_ofb,
|
|
Packit |
8681c6 |
&token_specific_tdes_cfb,
|
|
Packit |
8681c6 |
&token_specific_tdes_mac,
|
|
Packit |
8681c6 |
&token_specific_tdes_cmac,
|
|
Packit |
8681c6 |
// RSA
|
|
Packit |
8681c6 |
&token_specific_rsa_decrypt,
|
|
Packit |
8681c6 |
&token_specific_rsa_encrypt,
|
|
Packit |
8681c6 |
&token_specific_rsa_sign,
|
|
Packit |
8681c6 |
&token_specific_rsa_verify,
|
|
Packit |
8681c6 |
&token_specific_rsa_verify_recover,
|
|
Packit |
8681c6 |
&token_specific_rsa_x509_decrypt,
|
|
Packit |
8681c6 |
&token_specific_rsa_x509_encrypt,
|
|
Packit |
8681c6 |
&token_specific_rsa_x509_sign,
|
|
Packit |
8681c6 |
&token_specific_rsa_x509_verify,
|
|
Packit |
8681c6 |
&token_specific_rsa_x509_verify_recover,
|
|
Packit |
8681c6 |
&token_specific_rsa_oaep_decrypt,
|
|
Packit |
8681c6 |
&token_specific_rsa_oaep_encrypt,
|
|
Packit |
8681c6 |
&token_specific_rsa_pss_sign,
|
|
Packit |
8681c6 |
&token_specific_rsa_pss_verify,
|
|
Packit |
8681c6 |
&token_specific_rsa_generate_keypair,
|
|
Packit |
8681c6 |
#ifndef NO_EC
|
|
Packit |
8681c6 |
// Elliptic Curve
|
|
Packit |
8681c6 |
&token_specific_ec_sign,
|
|
Packit |
8681c6 |
&token_specific_ec_verify,
|
|
Packit |
8681c6 |
&token_specific_ec_generate_keypair,
|
|
Packit |
8681c6 |
&token_specific_ecdh_pkcs_derive,
|
|
Packit |
8681c6 |
#else
|
|
Packit |
8681c6 |
NULL,
|
|
Packit |
8681c6 |
NULL,
|
|
Packit |
8681c6 |
NULL,
|
|
Packit |
8681c6 |
NULL,
|
|
Packit |
8681c6 |
#endif
|
|
Packit |
8681c6 |
NULL, // dh_pkcs_derive
|
|
Packit |
8681c6 |
NULL, // dh_pkcs_key_pair_gen
|
|
Packit |
8681c6 |
// SHA
|
|
Packit |
8681c6 |
&token_specific_sha_init,
|
|
Packit |
8681c6 |
&token_specific_sha,
|
|
Packit |
8681c6 |
&token_specific_sha_update,
|
|
Packit |
8681c6 |
&token_specific_sha_final,
|
|
Packit |
8681c6 |
//HMAC
|
|
Packit |
8681c6 |
NULL, // hmac_sign_init
|
|
Packit |
8681c6 |
NULL, // hmac_sign
|
|
Packit |
8681c6 |
NULL, // hmac_sign_update
|
|
Packit |
8681c6 |
NULL, // hmac_sign_final
|
|
Packit |
8681c6 |
NULL, // hmac_verify_init
|
|
Packit |
8681c6 |
NULL, // hmac_verify
|
|
Packit |
8681c6 |
NULL, // hmac_verify_update
|
|
Packit |
8681c6 |
NULL, // hmac_verify_final
|
|
Packit |
8681c6 |
&token_specific_generic_secret_key_gen,
|
|
Packit |
8681c6 |
// AES
|
|
Packit |
8681c6 |
#ifndef NOAES
|
|
Packit |
8681c6 |
&token_specific_aes_key_gen,
|
|
Packit |
8681c6 |
&token_specific_aes_ecb,
|
|
Packit |
8681c6 |
&token_specific_aes_cbc,
|
|
Packit |
8681c6 |
&token_specific_aes_ctr,
|
|
Packit |
8681c6 |
&token_specific_aes_gcm_init,
|
|
Packit |
8681c6 |
&token_specific_aes_gcm,
|
|
Packit |
8681c6 |
&token_specific_aes_gcm_update,
|
|
Packit |
8681c6 |
&token_specific_aes_gcm_final,
|
|
Packit |
8681c6 |
&token_specific_aes_ofb,
|
|
Packit |
8681c6 |
&token_specific_aes_cfb,
|
|
Packit |
8681c6 |
&token_specific_aes_mac,
|
|
Packit |
8681c6 |
&token_specific_aes_cmac,
|
|
Packit |
8681c6 |
#else
|
|
Packit |
8681c6 |
NULL, // aes_key_gen,
|
|
Packit |
8681c6 |
NULL, // aes_ecb,
|
|
Packit |
8681c6 |
NULL, // aes_cbc,
|
|
Packit |
8681c6 |
NULL, // aes_ctr,
|
|
Packit |
8681c6 |
NULL, // aes_gcm_init,
|
|
Packit |
8681c6 |
NULL, // aes_gcm,
|
|
Packit |
8681c6 |
NULL, // aes_gcm_update,
|
|
Packit |
8681c6 |
NULL, // aes_gcm_final,
|
|
Packit |
8681c6 |
NULL, // aes_ofb,
|
|
Packit |
8681c6 |
NULL, // aes_cfb,
|
|
Packit |
8681c6 |
NULL, // aes_mac,
|
|
Packit |
8681c6 |
NULL, // aes_cmac
|
|
Packit |
8681c6 |
#endif
|
|
Packit |
8681c6 |
// DSA
|
|
Packit |
8681c6 |
NULL, // dsa_generate_keypair
|
|
Packit |
8681c6 |
NULL, // dsa_sign
|
|
Packit |
8681c6 |
NULL, // dsa_verify
|
|
Packit |
8681c6 |
&token_specific_get_mechanism_list,
|
|
Packit |
8681c6 |
&token_specific_get_mechanism_info,
|
|
Packit Service |
8aa27d |
NULL, // object_add
|
|
Packit Service |
8aa27d |
NULL, // key_wrap
|
|
Packit Service |
8aa27d |
NULL, // key_unwrap
|
|
Packit Service |
8aa27d |
NULL, // reencrypt_single
|
|
Packit |
8681c6 |
};
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#endif
|