10621efd32
Reviewed-by: Tim Hudson <tjh@openssl.org>
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
|