| /**********************************************************************/ |
| /* */ |
| /* Prototypes of the CCA verbs used by the 4758 CCA openssl driver */ |
| /* */ |
| /* Maurice Gittens <maurice@gittens.nl> */ |
| /* */ |
| /**********************************************************************/ |
| |
| #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 |