150 lines
5.4 KiB
C
150 lines
5.4 KiB
C
/**********************************************************************/
|
|
/* */
|
|
/* 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
|