Blame usr/lib/ica_s390_stdll/tok_struct.h

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