diff options
Diffstat (limited to 'TPM2-Plugin/lib/include/plugin_register.h')
-rw-r--r-- | TPM2-Plugin/lib/include/plugin_register.h | 233 |
1 files changed, 0 insertions, 233 deletions
diff --git a/TPM2-Plugin/lib/include/plugin_register.h b/TPM2-Plugin/lib/include/plugin_register.h deleted file mode 100644 index 2bb118d..0000000 --- a/TPM2-Plugin/lib/include/plugin_register.h +++ /dev/null @@ -1,233 +0,0 @@ -//**********************************************************************; -// Copyright (c) 2017, Intel Corporation -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// 3. Neither the name of Intel Corporation nor the names of its contributors -// may be used to endorse or promote products derived from this software without -// specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -// THE POSSIBILITY OF SUCH DAMAGE. -//**********************************************************************; - -#ifndef __PLUGIN_REGISTER_H__ -#define __PLUGIN_REGISTER_H__ - -#ifdef __cplusplus -extern "C" { -#endif - -#define MAX_ID_LENGTH (32) - -typedef struct buffer_info_s{ - char id[MAX_ID_LENGTH+1]; - int length_of_buffer; - unsigned char *buffer; -}buffer_info_t; - - -typedef struct sshsm_hw_plugin_activate_in_info_s { - int num_buffers; - buffer_info_t *buffer_info; -}SSHSM_HW_PLUGIN_ACTIVATE_IN_INFO_t; - -typedef struct sshsm_hw_plugin_load_key_in_info_s { - int num_buffers; - buffer_info_t buffer_info[]; -}SSHSM_HW_PLUGIN_LOAD_KEY_IN_INFO_t; - - -//typedef int (*sshsm_hw_plugin_load_key)(SSHSM_HW_PLUGIN_LOAD_KEY_IN_INFO_t *loadkey_in_info, void **keyHandle); - -//typedef int (*sshsm_hw_plugin_activate)(SSHSM_HW_PLUGIN_ACTIVATE_IN_INFO_t *activate_in_info); - -/* - * Callback function definitions - */ - -typedef int (*fp_crypto_hw_plugin_init) ( ); -typedef int (*fp_crypto_hw_plugin_uninit) ( ); -typedef int (*fp_crypto_hw_plugin_activate)( - SSHSM_HW_PLUGIN_ACTIVATE_IN_INFO_t *activate_in_info - ); - -typedef int (*fp_crypto_hw_plugin_load_key)( - SSHSM_HW_PLUGIN_LOAD_KEY_IN_INFO_t *loadkey_in_info, - void **keyHandle - ); -typedef int (*fp_crypto_rsa_decrypt_init) ( - /* IN */ - unsigned long mechanism, /* PKCS#11 Mechanism */ - void *param, /* PKCS#11 Paramter */ - unsigned long param_len, /* PKCS#11 Parameter len */ - /* OUT */ - void *cb /* Address of pointer to store context block */ - ); - -typedef int (*fp_crypto_rsa_decrypt) ( - /* IN */ - void* cb, /* Pointer Crypto Block which is created during decrypt_init */ - unsigned char* cipher, /* Input Cipher data */ - int cipher_length, /* Ciphet data length */ - /* OUT */ - unsigned char* out_data, /* Decrypted output data */ - int* out_data_len /* output length */ - ); - -typedef int (*fp_crypto_rsa_sign_init) ( - /* IN */ - unsigned long mechanism, /* PKCS#11 Mechanism */ - void *param, /* PKCS#11 Paramter */ - unsigned long param_len, /* PKCS#11 Parameter len */ - /* OUT */ - void *cb /* Address of pointer to store context block */ - ); - -typedef int (*fp_crypto_rsa_sign_update) ( - /* IN */ - void *cb, /* Previously created context block (during sign_init) passed */ - void *pPart, /* pPart */ - unsigned long ulPartLen /* ulPartLen */ - ); - -typedef int (*fp_crypto_rsa_sign_final) ( - /* IN */ - void *cb, /* Previously passed context block */ - /* OUT */ - unsigned char *sig, /* Output Signature buffer */ - int *sigLen /* Pointer to hold signature buffer length */ - ); - -typedef int (*fp_crypto_rsa_sign) ( - /* IN */ - void *cb, /* Previously created context block (during sign_init) passed */ - unsigned char* msg, /* Data to be signed */ - int msg_len, /* Input data length */ - /* OUT */ - unsigned char *sig, /* Output Signature buffer */ - int *sig_len /* Pointer to hold signature buffer length */ - ); - -typedef int (*fp_crypto_ecdsa_sign) ( - /* IN */ - void *cb, /* Previously created context block (during sign_init) passed */ - unsigned char* data, /* Data to be signed */ - int data_len, /* Input data length */ - /* OUT */ - unsigned char *sig, /* Output Signature buffer */ - int *sig_len /* Pointer to hold signature buffer length */ - ); - -typedef int (*fp_crypto_ecdsa_verify) ( - /* IN */ - unsigned long appHandle, /* Application handle needed for QAT KPT mode */ - //DhsmWPKECDSAFormat *wpk, /* Wrapped Private Key strcuture for ECDSA */ - void *wpk, /* Wrapped Private Key strcuture for ECDSA */ - unsigned char* swk, /* Symmetric Wrapping Key (SWK) value */ - int swk_len, /* SWK length */ - unsigned char* iv, /* IV value used during Application Key encryption */ - int iv_len, /* IV length */ - int tag_len, /* AES-GCM tag length */ - unsigned char* data, /* Data which is used for signing */ - int data_len, /* Input data length */ - unsigned char *sig, /* Signature value */ - int sig_len, /* Signature length */ - /* OUT */ - int* verifyResult /* Pointer to hold the verification result */ - ); - -typedef int (*fp_crypto_del_apphandle) (unsigned long skmKeyHandle); - -// SWK related operations -typedef int (*fp_crypto_swk_getParentKey) (unsigned char** tlvbuffer, int* buflen); -typedef int (*fp_crypto_swk_import) ( - unsigned long appHandle, - unsigned char* tlvbuffer, - int buflen, - unsigned char* iv, - int iv_len, - unsigned char* tpm_pwd, - int tpm_pwd_len); - -typedef int (*fp_crypto_rsa_create_object) ( - unsigned long appHandle, /* Application handle needed for QAT KPT mode */ - //DhsmWPKRSAFormat *wpk, /* Wrapped Private Key structure for RSA */ - void *wpk, /* Wrapped Private Key structure for RSA */ - unsigned char* swk, /* Symmetric Wrapping Key (SWK) value */ - int swk_len, /* SWK length */ - unsigned char* iv, /* IV value used during Application Key encryption */ - int iv_len, /* IV length */ - int tag_len, /* AES-GCM tag length */ - void **cb_object /* Pointer to store context block */ - ); - -typedef int (*fp_crypto_rsa_delete_object) ( - void *cb_object /* Pointer Crypto Block which is created during decrypt_create_object */ - ); - -typedef int (*fp_crypto_ecdsa_create_object) ( - unsigned long appHandle, /* Application handle needed for QAT KPT mode */ - //DhsmWPKECDSAFormat *wpk, /* Wrapped Private Key structure for RSA */ - void *wpk, /* Wrapped Private Key structure for RSA */ - unsigned char* swk, /* Symmetric Wrapping Key (SWK) value */ - int swk_len, /* SWK length */ - unsigned char* iv, /* IV value used during Application Key encryption */ - int iv_len, /* IV length */ - int tag_len, /* AES-GCM tag length */ - void **cb_object /* Pointer to store context block */ - ); - -typedef int (*fp_crypto_ecdsa_delete_object) ( - void *cb_object /* Pointer Crypto Block which is created during decrypt_create_object */ - ); - - -typedef struct -{ - fp_crypto_hw_plugin_init cb_crypto_hw_plugin_init; - fp_crypto_hw_plugin_uninit cb_crypto_hw_plugin_uninit; - fp_crypto_hw_plugin_activate cb_crypto_hw_plugin_activate; - fp_crypto_hw_plugin_load_key cb_crypto_hw_plugin_load_key; - fp_crypto_rsa_decrypt cb_crypto_rsa_decrypt; - fp_crypto_rsa_sign_init cb_crypto_rsa_sign_init; - fp_crypto_rsa_sign_update cb_crypto_rsa_sign_update; - fp_crypto_rsa_sign_final cb_crypto_rsa_sign_final; - fp_crypto_rsa_sign cb_crypto_rsa_sign; - fp_crypto_ecdsa_sign cb_crypto_ecdsa_sign; - fp_crypto_ecdsa_verify cb_crypto_ecdsa_verify; - fp_crypto_del_apphandle cb_crypto_del_apphandle; - fp_crypto_swk_getParentKey cb_crypto_swk_getParentKey; - fp_crypto_swk_import cb_crypto_swk_import; - fp_crypto_rsa_create_object cb_crypto_rsa_create_object; - fp_crypto_rsa_delete_object cb_crypto_rsa_delete_object; - fp_crypto_ecdsa_create_object cb_crypto_ecdsa_create_object; - fp_crypto_ecdsa_delete_object cb_crypto_ecdsa_delete_object; - -} plugin_register; - - -#ifdef __cplusplus -} -#endif - -#endif - |