You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
150 lines
5.4 KiB
150 lines
5.4 KiB
/**********************************************************************/ |
|
/* */ |
|
/* 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
|
|
|