original files of m241
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,250 @@
|
||||
/*
|
||||
******************************************************************************
|
||||
* INTERPEAK SOURCE FILE
|
||||
*
|
||||
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: iphwcrypto_evptest.c,v $ $Revision: 1.8.48.1 $
|
||||
* $Source: /home/interpeak/CVSRoot/iphwcrypto/src/iphwcrypto_evptest.c,v $
|
||||
* $Author: zan $
|
||||
* $State: Exp $ $Locker: $
|
||||
*
|
||||
* INTERPEAK_COPYRIGHT_STRING
|
||||
* Design and implementation by Markus Carlstedt <markus@interpeak.se>
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 1 DESCRIPTION
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 2 CONFIGURATION
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
#include "iphwcrypto_config.h"
|
||||
|
||||
#if defined(IPCRYPTO) && defined(IPHWCRYPTO_CREATE_EVP_TEST_FILE)
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 3 INCLUDE FILES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
#define IPCOM_USE_CLIB_PROTO
|
||||
#include <ipcom_type.h>
|
||||
#include <ipcom_cstyle.h>
|
||||
#include <ipcom_clib.h>
|
||||
#include <ipcom_err.h>
|
||||
#include <ipcom_syslog.h>
|
||||
|
||||
#include "iphwcrypto.h"
|
||||
#include "iphwcrypto_h.h"
|
||||
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 4 DEFINES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 5 TYPES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 6 EXTERN PROTOTYPES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 7 LOCAL PROTOTYPES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 8 DATA
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/* Test file name */
|
||||
IP_STATIC IP_CONST char *testfilename = IPCOM_FILE_ROOT"evptests";
|
||||
|
||||
/* Test specification for IPCRYPTO evp_test function */
|
||||
IP_STATIC IP_CONST char *iphwcrypto_evptests[] =
|
||||
{
|
||||
"#cipher:key:iv:plaintext:ciphertext:0/1(decrypt/encrypt)\n",
|
||||
"#digest:::input:output\n",
|
||||
"\n",
|
||||
|
||||
"# MD5 tests\n",
|
||||
"MD5::::d41d8cd98f00b204e9800998ecf8427e\n",
|
||||
|
||||
"MD5:::61:0cc175b9c0f1b6a831c399e269772661\n",
|
||||
"MD5:::616263:900150983cd24fb0d6963f7d28e17f72\n",
|
||||
"MD5:::6d65737361676520646967657374:f96b697d7cb7938d525a2f31aaf161d0\n",
|
||||
"MD5:::6162636465666768696a6b6c6d6e6f707172737475767778797a:c3fcd3d76192e4007dfb496cca67e13b\n",
|
||||
"MD5:::4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a30313233343536373839:d174ab98d277d9f5a5611c2c9f419d9f\n",
|
||||
"MD5:::3132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930313233343536373839303132333435363738393031323334353637383930:57edf4a22be3c955ac49da2e2107b67a\n",
|
||||
"\n",
|
||||
|
||||
"# SHA1 tests\n",
|
||||
"SHA1:::616263:a9993e364706816aba3e25717850c26c9cd0d89d\n",
|
||||
"\n",
|
||||
|
||||
"# DES-CBC tests\n",
|
||||
"DES-CBC:0123456789abcdef:fedcba9876543210:37363534333231204E6F77206973207468652074696D6520666F722000000000:ccd173ffab2039f4acd8aefddfd8a1eb468e91157888ba681d269397f7fe62b4\n",
|
||||
"\n",
|
||||
|
||||
"# DES-ECB tests \n",
|
||||
"DES-ECB:0000000000000000::0000000000000000:8CA64DE9C1B123A7\n",
|
||||
"DES-ECB:FFFFFFFFFFFFFFFF::FFFFFFFFFFFFFFFF:7359B2163E4EDC58\n",
|
||||
"DES-ECB:3000000000000000::1000000000000001:958E6E627A05557B\n",
|
||||
"DES-ECB:1111111111111111::1111111111111111:F40379AB9E0EC533\n",
|
||||
"DES-ECB:0123456789ABCDEF::1111111111111111:17668DFC7292532D\n",
|
||||
"DES-ECB:1111111111111111::0123456789ABCDEF:8A5AE1F81AB8F2DD\n",
|
||||
"DES-ECB:0000000000000000::0000000000000000:8CA64DE9C1B123A7\n",
|
||||
"DES-ECB:FEDCBA9876543210::0123456789ABCDEF:ED39D950FA74BCC4\n",
|
||||
"DES-ECB:7CA110454A1A6E57::01A1D6D039776742:690F5B0D9A26939B\n",
|
||||
"DES-ECB:0131D9619DC1376E::5CD54CA83DEF57DA:7A389D10354BD271\n",
|
||||
"DES-ECB:07A1133E4A0B2686::0248D43806F67172:868EBB51CAB4599A\n",
|
||||
"DES-ECB:3849674C2602319E::51454B582DDF440A:7178876E01F19B2A\n",
|
||||
"DES-ECB:04B915BA43FEB5B6::42FD443059577FA2:AF37FB421F8C4095\n",
|
||||
"DES-ECB:0113B970FD34F2CE::059B5E0851CF143A:86A560F10EC6D85B\n",
|
||||
"DES-ECB:0170F175468FB5E6::0756D8E0774761D2:0CD3DA020021DC09\n",
|
||||
"DES-ECB:43297FAD38E373FE::762514B829BF486A:EA676B2CB7DB2B7A\n",
|
||||
"DES-ECB:07A7137045DA2A16::3BDD119049372802:DFD64A815CAF1A0F\n",
|
||||
"DES-ECB:04689104C2FD3B2F::26955F6835AF609A:5C513C9C4886C088\n",
|
||||
"DES-ECB:37D06BB516CB7546::164D5E404F275232:0A2AEEAE3FF4AB77\n",
|
||||
"DES-ECB:1F08260D1AC2465E::6B056E18759F5CCA:EF1BF03E5DFA575A\n",
|
||||
"DES-ECB:584023641ABA6176::004BD6EF09176062:88BF0DB6D70DEE56\n",
|
||||
"DES-ECB:025816164629B007::480D39006EE762F2:A1F9915541020B56\n",
|
||||
"DES-ECB:49793EBC79B3258F::437540C8698F3CFA:6FBF1CAFCFFD0556\n",
|
||||
"DES-ECB:4FB05E1515AB73A7::072D43A077075292:2F22E49BAB7CA1AC\n",
|
||||
"DES-ECB:49E95D6D4CA229BF::02FE55778117F12A:5A6B612CC26CCE4A\n",
|
||||
"DES-ECB:018310DC409B26D6::1D9D5C5018F728C2:5F4C038ED12B2E41\n",
|
||||
"DES-ECB:1C587F1C13924FEF::305532286D6F295A:63FAC0D034D9F793\n",
|
||||
"DES-ECB:0101010101010101::0123456789ABCDEF:617B3A0CE8F07100\n",
|
||||
"DES-ECB:1F1F1F1F0E0E0E0E::0123456789ABCDEF:DB958605F8C8C606\n",
|
||||
"DES-ECB:E0FEE0FEF1FEF1FE::0123456789ABCDEF:EDBFD1C66C29CCC7\n",
|
||||
"DES-ECB:0000000000000000::FFFFFFFFFFFFFFFF:355550B2150E2451\n",
|
||||
"DES-ECB:FFFFFFFFFFFFFFFF::0000000000000000:CAAAAF4DEAF1DBAE\n",
|
||||
"DES-ECB:0123456789ABCDEF::0000000000000000:D5D44FF720683D0D\n",
|
||||
"DES-ECB:FEDCBA9876543210::FFFFFFFFFFFFFFFF:2A2BB008DF97C2F2\n",
|
||||
"\n",
|
||||
|
||||
"# DES-EDE3-CBC tests\n",
|
||||
"DES-EDE3-CBC:0123456789abcdeff1e0d3c2b5a49786fedcba9876543210:fedcba9876543210:37363534333231204E6F77206973207468652074696D6520666F722000000000:3FE301C962AC01D02213763C1CBD4CDC799657C064ECF5D41C673812CFDE9675\n",
|
||||
"\n",
|
||||
|
||||
"# DES-EDE3 tests\n",
|
||||
"DES-EDE3:0123456789abcdef23456789abcdef01456789abcdef0123::4e6f772069732074:314f8327fa7a09a8\n",
|
||||
"\n",
|
||||
|
||||
"# AES-128-CBC tests\n",
|
||||
"AES-128-CBC:2B7E151628AED2A6ABF7158809CF4F3C:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:7649ABAC8119B246CEE98E9B12E9197D\n",
|
||||
"AES-128-CBC:2B7E151628AED2A6ABF7158809CF4F3C:7649ABAC8119B246CEE98E9B12E9197D:AE2D8A571E03AC9C9EB76FAC45AF8E51:5086CB9B507219EE95DB113A917678B2\n",
|
||||
"AES-128-CBC:2B7E151628AED2A6ABF7158809CF4F3C:5086CB9B507219EE95DB113A917678B2:30C81C46A35CE411E5FBC1191A0A52EF:73BED6B8E3C1743B7116E69E22229516\n",
|
||||
"AES-128-CBC:2B7E151628AED2A6ABF7158809CF4F3C:73BED6B8E3C1743B7116E69E22229516:F69F2445DF4F9B17AD2B417BE66C3710:3FF1CAA1681FAC09120ECA307586E1A7\n",
|
||||
|
||||
"# AES-128-ECB tests\n",
|
||||
"AES-128-ECB:2B7E151628AED2A6ABF7158809CF4F3C::6BC1BEE22E409F96E93D7E117393172A:3AD77BB40D7A3660A89ECAF32466EF97\n",
|
||||
"AES-128-ECB:2B7E151628AED2A6ABF7158809CF4F3C::AE2D8A571E03AC9C9EB76FAC45AF8E51:F5D3D58503B9699DE785895A96FDBAAF\n",
|
||||
"AES-128-ECB:2B7E151628AED2A6ABF7158809CF4F3C::30C81C46A35CE411E5FBC1191A0A52EF:43B1CD7F598ECE23881B00E3ED030688\n",
|
||||
"AES-128-ECB:2B7E151628AED2A6ABF7158809CF4F3C::F69F2445DF4F9B17AD2B417BE66C3710:7B0C785E27E8AD3F8223207104725DD4\n",
|
||||
|
||||
"# AES-192-CBC tests\n",
|
||||
"AES-192-CBC:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:4F021DB243BC633D7178183A9FA071E8\n",
|
||||
"AES-192-CBC:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:4F021DB243BC633D7178183A9FA071E8:AE2D8A571E03AC9C9EB76FAC45AF8E51:B4D9ADA9AD7DEDF4E5E738763F69145A\n",
|
||||
"AES-192-CBC:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:B4D9ADA9AD7DEDF4E5E738763F69145A:30C81C46A35CE411E5FBC1191A0A52EF:571B242012FB7AE07FA9BAAC3DF102E0\n",
|
||||
"AES-192-CBC:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B:571B242012FB7AE07FA9BAAC3DF102E0:F69F2445DF4F9B17AD2B417BE66C3710:08B0E27988598881D920A9E64F5615CD\n",
|
||||
|
||||
"# AES-192-ECB tests\n",
|
||||
"AES-192-ECB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B::6BC1BEE22E409F96E93D7E117393172A:BD334F1D6E45F25FF712A214571FA5CC\n",
|
||||
"AES-192-ECB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B::AE2D8A571E03AC9C9EB76FAC45AF8E51:974104846D0AD3AD7734ECB3ECEE4EEF\n",
|
||||
"AES-192-ECB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B::30C81C46A35CE411E5FBC1191A0A52EF:EF7AFD2270E2E60ADCE0BA2FACE6444E\n",
|
||||
"AES-192-ECB:8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B::F69F2445DF4F9B17AD2B417BE66C3710:9A4B41BA738D6C72FB16691603C18E0E\n",
|
||||
|
||||
"# AES-256-CBC tests\n",
|
||||
"AES-256-CBC:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:000102030405060708090A0B0C0D0E0F:6BC1BEE22E409F96E93D7E117393172A:F58C4C04D6E5F1BA779EABFB5F7BFBD6\n",
|
||||
"AES-256-CBC:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:F58C4C04D6E5F1BA779EABFB5F7BFBD6:AE2D8A571E03AC9C9EB76FAC45AF8E51:9CFC4E967EDB808D679F777BC6702C7D\n",
|
||||
"AES-256-CBC:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:9CFC4E967EDB808D679F777BC6702C7D:30C81C46A35CE411E5FBC1191A0A52EF:39F23369A9D9BACFA530E26304231461\n",
|
||||
"AES-256-CBC:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4:39F23369A9D9BACFA530E26304231461:F69F2445DF4F9B17AD2B417BE66C3710:B2EB05E2C39BE9FCDA6C19078C6A9D1B\n",
|
||||
|
||||
"# AES-256-ECB tests\n",
|
||||
"AES-256-ECB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4::6BC1BEE22E409F96E93D7E117393172A:F3EED1BDB5D2A03C064B5A7E3DB181F8\n",
|
||||
"AES-256-ECB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4::AE2D8A571E03AC9C9EB76FAC45AF8E51:591CCB10D410ED26DC5BA74A31362870\n",
|
||||
"AES-256-ECB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4::30C81C46A35CE411E5FBC1191A0A52EF:B6ED21B99CA6F4F9F153E7B1BEAFED1D\n",
|
||||
"AES-256-ECB:603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4::F69F2445DF4F9B17AD2B417BE66C3710:23304B7A39F9F3FF067D8D8F9E24ECC7\n",
|
||||
|
||||
IP_NULL
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 9 STATIC FUNCTIONS
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 10 GLOBAL FUNCTIONS
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
*===========================================================================
|
||||
* iphwcrypto_evptests_create
|
||||
*===========================================================================
|
||||
* Description: Create a test file for IPCRYPTO evp_test utility.
|
||||
* Parameters: none.
|
||||
* Returns: 1 = ok
|
||||
* 0 = fail
|
||||
*/
|
||||
IP_GLOBAL int
|
||||
iphwcrypto_evptests_create(void)
|
||||
{
|
||||
IP_FILE *fp;
|
||||
const char **s;
|
||||
|
||||
fp = ipcom_fopen(testfilename, "w");
|
||||
if(fp != IP_NULL)
|
||||
{
|
||||
for (s = iphwcrypto_evptests; *s != IP_NULL; s++)
|
||||
(void)ipcom_fwrite(*s, 1, ipcom_strlen(*s), fp);
|
||||
ipcom_fclose(fp);
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
IPCOM_LOG1(ERR, "iphwcrypto_evptests_create() :: failed to create \"%s\"", testfilename);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#else
|
||||
int iphwcrypto_evptests_empty_file;
|
||||
#endif /* #if defined(IPCRYPTO) && defined(IPHWCRYPTO_CREATE_EVP_TEST_FILE) */
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 11 PUBLIC FUNCTIONS
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* END OF FILE
|
||||
****************************************************************************
|
||||
*/
|
||||
@@ -0,0 +1,210 @@
|
||||
/*
|
||||
******************************************************************************
|
||||
* INTERPEAK INTERNAL API HEADER FILE
|
||||
*
|
||||
* Document no: @(#) $Name: VXWORKS_ITER40_2019102207 $ $RCSfile: iphwcrypto_h.h,v $ $Revision: 1.18 $
|
||||
* $Source: /home/interpeak/CVSRoot/iphwcrypto/src/iphwcrypto_h.h,v $
|
||||
* $Author: lob $ $Date: 2009-01-13 10:59:33 $
|
||||
* $State: Exp $ $Locker: $
|
||||
*
|
||||
* INTERPEAK_COPYRIGHT_STRING
|
||||
* Design and implementation by Markus Carlstedt <markus@interpeak.se>
|
||||
******************************************************************************
|
||||
*/
|
||||
#ifndef IPHWCRYPTO_H_H
|
||||
#define IPHWCRYPTO_H_H
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 1 DESCRIPTION
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 2 CONFIGURATION
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
#include "iphwcrypto_config.h"
|
||||
#ifdef IPCRYPTO
|
||||
#include <ipcrypto_config.h>
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 3 INCLUDE FILES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
#include <ipcom_type.h>
|
||||
#include <ipcom_cstyle.h>
|
||||
|
||||
#ifdef IPCRYPTO
|
||||
#include <openssl/engine.h>
|
||||
#include <openssl/evp.h>
|
||||
#include <openssl/md5.h>
|
||||
#include <openssl/sha.h>
|
||||
#include <openssl/des.h>
|
||||
#include <openssl/aes.h>
|
||||
#ifndef OPENSSL_NO_RC4
|
||||
#include <openssl/rc4.h>
|
||||
#endif
|
||||
#include <openssl/bn.h>
|
||||
#endif
|
||||
|
||||
#ifdef IPIPSEC2
|
||||
#include <ipipsec_h.h>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 4 DEFINES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
#ifdef IPCOM_SYSLOG_FACILITY
|
||||
#undef IPCOM_SYSLOG_FACILITY
|
||||
#endif
|
||||
#define IPCOM_SYSLOG_FACILITY IPCOM_LOG_IPHWCRYPTO
|
||||
|
||||
/* Syslog priority */
|
||||
#ifdef IPCOM_SYSLOG_PRIORITY
|
||||
#undef IPCOM_SYSLOG_PRIORITY
|
||||
#endif
|
||||
#ifdef IP_DEBUG
|
||||
#define IPCOM_SYSLOG_PRIORITY IPCOM_LOG_DEBUG
|
||||
#else
|
||||
#define IPCOM_SYSLOG_PRIORITY IPCOM_LOG_WARNING
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 5 TYPES
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
#ifdef IPIPSEC2
|
||||
/*
|
||||
*===========================================================================
|
||||
* Iphwcrypto_ipsec_engine
|
||||
*===========================================================================
|
||||
*/
|
||||
typedef struct Iphwcrypto_ipsec_engine_struct
|
||||
{
|
||||
Iphwcrypto_ipsec_esp esp_in[IPHWCRYPTO_ENGINE_ESP_MAX];
|
||||
Iphwcrypto_ipsec_esp esp_out[IPHWCRYPTO_ENGINE_ESP_MAX];
|
||||
}
|
||||
Iphwcrypto_ipsec_engine;
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
*===========================================================================
|
||||
* Iphwcrypto_engine
|
||||
*===========================================================================
|
||||
*/
|
||||
typedef struct Iphwcrypto_engine_struct
|
||||
{
|
||||
#ifdef IPCRYPTO
|
||||
/* Structural reference to the OpenSSL engine */
|
||||
ENGINE *e;
|
||||
|
||||
/* Digests */
|
||||
int num_digests;
|
||||
int digest_nids[IPHWCRYPTO_ENGINE_DIGEST_MAX];
|
||||
EVP_MD *digests[IPHWCRYPTO_ENGINE_DIGEST_MAX];
|
||||
Iphwcrypto_digest_init digest_init[IPHWCRYPTO_ENGINE_DIGEST_MAX];
|
||||
Iphwcrypto_digest_update digest_update[IPHWCRYPTO_ENGINE_DIGEST_MAX];
|
||||
Iphwcrypto_digest_final digest_final[IPHWCRYPTO_ENGINE_DIGEST_MAX];
|
||||
Iphwcrypto_digest_copy digest_copy[IPHWCRYPTO_ENGINE_DIGEST_MAX];
|
||||
Iphwcrypto_digest_cleanup digest_cleanup[IPHWCRYPTO_ENGINE_DIGEST_MAX];
|
||||
|
||||
/* Ciphers */
|
||||
int num_ciphers;
|
||||
int cipher_nids[IPHWCRYPTO_ENGINE_CIPHER_MAX];
|
||||
EVP_CIPHER *ciphers[IPHWCRYPTO_ENGINE_CIPHER_MAX];
|
||||
Iphwcrypto_cbc_cipher_calc cbc_cipher_calc[IPHWCRYPTO_ENGINE_CIPHER_MAX];
|
||||
Iphwcrypto_ecb_cipher_calc ecb_cipher_calc[IPHWCRYPTO_ENGINE_CIPHER_MAX];
|
||||
|
||||
#ifndef OPENSSL_NO_RSA
|
||||
/* RSA */
|
||||
RSA_METHOD rsa_meth;
|
||||
Iphwcrypto_mod_exp rsa_mod_exp_hw;
|
||||
#endif
|
||||
|
||||
#ifndef OPENSSL_NO_DSA
|
||||
/* DSA */
|
||||
DSA_METHOD dsa_meth;
|
||||
Iphwcrypto_mod_exp dsa_mod_exp_hw;
|
||||
#endif
|
||||
|
||||
#ifndef OPENSSL_NO_DH
|
||||
/* Diffie-Hellman */
|
||||
DH_METHOD dh_meth;
|
||||
Iphwcrypto_mod_exp dh_mod_exp_hw;
|
||||
#endif
|
||||
|
||||
/* Randmon number generation */
|
||||
RAND_METHOD rand_meth;
|
||||
Iphwcrypto_random_gen rand_hw;
|
||||
#endif /* #ifdef IPCRYPTO */
|
||||
|
||||
#ifdef IPIPSEC2
|
||||
Iphwcrypto_ipsec_engine ipsec;
|
||||
#endif
|
||||
int dummy;
|
||||
}
|
||||
Iphwcrypto_engine;
|
||||
|
||||
|
||||
/*
|
||||
*===========================================================================
|
||||
* Iphwcrypto_data
|
||||
*===========================================================================
|
||||
*/
|
||||
typedef struct Iphwcrypto_data_struct
|
||||
{
|
||||
Iphwcrypto_engine *engine;
|
||||
#ifdef IPIPSEC2
|
||||
Ipcom_atomic_t num_async;
|
||||
Ip_u32 pipe_fail;
|
||||
#endif
|
||||
}
|
||||
Iphwcrypto_data;
|
||||
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* 6 FUNCTIONS
|
||||
****************************************************************************
|
||||
*/
|
||||
|
||||
#ifdef IPIPSEC2
|
||||
IP_GLOBAL void iphwcrypto_ipsec_esp_release(Ipipsec_sa *sa);
|
||||
IP_GLOBAL int iphwcrypto_ipsec_esp_input(Ip_u8 *data, Ip_u32 length, Ipipsec_sa *sa, Ipipsec_param *param, Ip_u8 *digest, Ipcom_pkt *pkt);
|
||||
IP_GLOBAL int iphwcrypto_ipsec_esp_output(Ip_u8 *data, Ip_u32 length, Ipipsec_sa *sa, Ipipsec_param *param, Ip_u8 *digest, Ipcom_pkt *pkt);
|
||||
#endif /* #ifdef IPIPSEC2 */
|
||||
|
||||
#if defined(IPCRYPTO) && defined(IPHWCRYPTO_CREATE_EVP_TEST_FILE)
|
||||
IP_GLOBAL int iphwcrypto_evptests_create(void);
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
****************************************************************************
|
||||
* END OF FILE
|
||||
****************************************************************************
|
||||
*/
|
||||
Reference in New Issue
Block a user