/**********************************************************************/ /* */ /* Prototypes of the CCA verbs used by the 4758 CCA openssl driver */ /* */ /* Maurice Gittens */ /* */ /**********************************************************************/ #ifndef __HW_4758_CCA__ #define __HW_4758_CCA__ /* * Only WIN32 support for now */ #if defined(WIN32) #define CCA_LIB_NAME "CSUNSAPI" #define CSNDPKX "CSNDPKX_32" #define CSNDKRR "CSNDKRR_32" #define CSNDPKE "CSNDPKE_32" #define CSNDPKD "CSNDPKD_32" #define CSNDDSV "CSNDDSV_32" #define CSNDDSG "CSNDDSG_32" #define CSNBRNG "CSNBRNG_32" #define SECURITYAPI __stdcall #else /* Fixme!! Find out the values of these constants for other platforms. */ #define CCA_LIB_NAME "CSUNSAPI" #define CSNDPKX "CSNDPKX" #define CSNDKRR "CSNDKRR" #define CSNDPKE "CSNDPKE" #define CSNDPKD "CSNDPKD" #define CSNDDSV "CSNDDSV" #define CSNDDSG "CSNDDSG" #define CSNBRNG "CSNBRNG" #define SECURITYAPI #endif /* * security API prototypes */ /* PKA Key Record Read */ typedef void (SECURITYAPI *F_KEYRECORDREAD) (long * return_code, long * reason_code, long * exit_data_length, unsigned char * exit_data, long * rule_array_count, unsigned char * rule_array, unsigned char * key_label, long * key_token_length, unsigned char * key_token); /* Random Number Generate */ typedef void (SECURITYAPI *F_RANDOMNUMBERGENERATE) (long * return_code, long * reason_code, long * exit_data_length, unsigned char * exit_data, unsigned char * form, unsigned char * random_number); /* Digital Signature Generate */ typedef void (SECURITYAPI *F_DIGITALSIGNATUREGENERATE) (long * return_code, long * reason_code, long * exit_data_length, unsigned char * exit_data, long * rule_array_count, unsigned char * rule_array, long * PKA_private_key_id_length, unsigned char * PKA_private_key_id, long * hash_length, unsigned char * hash, long * signature_field_length, long * signature_bit_length, unsigned char * signature_field); /* Digital Signature Verify */ typedef void (SECURITYAPI *F_DIGITALSIGNATUREVERIFY)( long * return_code, long * reason_code, long * exit_data_length, unsigned char * exit_data, long * rule_array_count, unsigned char * rule_array, long * PKA_public_key_id_length, unsigned char * PKA_public_key_id, long * hash_length, unsigned char * hash, long * signature_field_length, unsigned char * signature_field); /* PKA Public Key Extract */ typedef void (SECURITYAPI *F_PUBLICKEYEXTRACT)( long * return_code, long * reason_code, long * exit_data_length, unsigned char * exit_data, long * rule_array_count, unsigned char * rule_array, long * source_key_identifier_length, unsigned char * source_key_identifier, long * target_key_token_length, unsigned char * target_key_token); /* PKA Encrypt */ typedef void (SECURITYAPI *F_PKAENCRYPT) (long * return_code, long * reason_code, long * exit_data_length, unsigned char * exit_data, long * rule_array_count, unsigned char * rule_array, long * key_value_length, unsigned char * key_value, long * data_struct_length, unsigned char * data_struct, long * RSA_public_key_length, unsigned char * RSA_public_key, long * RSA_encipher_length, unsigned char * RSA_encipher ); /* PKA Decrypt */ typedef void (SECURITYAPI *F_PKADECRYPT) (long * return_code, long * reason_code, long * exit_data_length, unsigned char * exit_data, long * rule_array_count, unsigned char * rule_array, long * enciphered_key_length, unsigned char * enciphered_key, long * data_struct_length, unsigned char * data_struct, long * RSA_private_key_length, unsigned char * RSA_private_key, long * key_value_length, unsigned char * key_value ); #endif