moved cyassl -> wolfssl

This commit is contained in:
Kaleb Himes
2014-12-17 10:29:35 -07:00
parent 881c0b941a
commit 17c37ae208
62 changed files with 7649 additions and 5743 deletions

View File

@ -421,7 +421,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
switch (version) {
#ifndef NO_OLD_TLS
case 0:
method = CyaSSLv3_client_method();
method = wolfSSLv3_client_method();
break;

View File

@ -128,7 +128,7 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
#elif !defined(NO_TLS)
method = CyaSSLv23_server_method();
#else
method = CyaSSLv3_server_method();
method = wolfSSLv3_server_method();
#endif
ctx = CyaSSL_CTX_new(method);
/* CyaSSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF); */

View File

@ -128,7 +128,7 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
#elif !defined(NO_TLS)
method = CyaSSLv23_server_method();
#else
method = CyaSSLv3_server_method();
method = wolfSSLv3_server_method();
#endif
ctx = CyaSSL_CTX_new(method);
/* CyaSSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF); */

View File

@ -423,7 +423,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
switch (version) {
#ifndef NO_OLD_TLS
case 0:
method = CyaSSLv3_client_method();
method = wolfSSLv3_client_method();
break;

View File

@ -19,62 +19,4 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef CYASSL_CALLBACKS_H
#define CYASSL_CALLBACKS_H
#include <sys/time.h>
#ifdef __cplusplus
extern "C" {
#endif
enum { /* CALLBACK CONTSTANTS */
MAX_PACKETNAME_SZ = 24,
MAX_CIPHERNAME_SZ = 24,
MAX_TIMEOUT_NAME_SZ = 24,
MAX_PACKETS_HANDSHAKE = 14, /* 12 for client auth plus 2 alerts */
MAX_VALUE_SZ = 128, /* all handshake packets but Cert should
fit here */
};
typedef struct handShakeInfo_st {
char cipherName[MAX_CIPHERNAME_SZ + 1]; /* negotiated cipher */
char packetNames[MAX_PACKETS_HANDSHAKE][MAX_PACKETNAME_SZ + 1];
/* SSL packet names */
int numberPackets; /* actual # of packets */
int negotiationError; /* cipher/parameter err */
} HandShakeInfo;
typedef struct timeval Timeval;
typedef struct packetInfo_st {
char packetName[MAX_PACKETNAME_SZ + 1]; /* SSL packet name */
Timeval timestamp; /* when it occured */
unsigned char value[MAX_VALUE_SZ]; /* if fits, it's here */
unsigned char* bufferValue; /* otherwise here (non 0) */
int valueSz; /* sz of value or buffer */
} PacketInfo;
typedef struct timeoutInfo_st {
char timeoutName[MAX_TIMEOUT_NAME_SZ + 1]; /* timeout Name */
int flags; /* for future use */
int numberPackets; /* actual # of packets */
PacketInfo packets[MAX_PACKETS_HANDSHAKE]; /* list of all packets */
Timeval timeoutValue; /* timer that caused it */
} TimeoutInfo;
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CYASSL_CALLBACKS_H */
#include <wolfssl/callbacks.h>

File diff suppressed because it is too large Load Diff

View File

@ -19,33 +19,4 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef CYASSL_CRL_H
#define CYASSL_CRL_H
#ifdef HAVE_CRL
#include <cyassl/ssl.h>
#include <cyassl/ctaocrypt/asn.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct CYASSL_CRL CYASSL_CRL;
CYASSL_LOCAL int InitCRL(CYASSL_CRL*, CYASSL_CERT_MANAGER*);
CYASSL_LOCAL void FreeCRL(CYASSL_CRL*, int dynamic);
CYASSL_LOCAL int LoadCRL(CYASSL_CRL* crl, const char* path, int type, int mon);
CYASSL_LOCAL int BufferLoadCRL(CYASSL_CRL*, const byte*, long, int);
CYASSL_LOCAL int CheckCertCRL(CYASSL_CRL*, DecodedCert*);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* HAVE_CRL */
#endif /* CYASSL_CRL_H */
#include <wolfssl/crl.h>

View File

@ -19,144 +19,4 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef CYASSL_ERROR_H
#define CYASSL_ERROR_H
#include <cyassl/ctaocrypt/error-crypt.h> /* pull in CTaoCrypt errors */
#ifdef __cplusplus
extern "C" {
#endif
enum CyaSSL_ErrorCodes {
INPUT_CASE_ERROR = -301, /* process input state error */
PREFIX_ERROR = -302, /* bad index to key rounds */
MEMORY_ERROR = -303, /* out of memory */
VERIFY_FINISHED_ERROR = -304, /* verify problem on finished */
VERIFY_MAC_ERROR = -305, /* verify mac problem */
PARSE_ERROR = -306, /* parse error on header */
UNKNOWN_HANDSHAKE_TYPE = -307, /* weird handshake type */
SOCKET_ERROR_E = -308, /* error state on socket */
SOCKET_NODATA = -309, /* expected data, not there */
INCOMPLETE_DATA = -310, /* don't have enough data to
complete task */
UNKNOWN_RECORD_TYPE = -311, /* unknown type in record hdr */
DECRYPT_ERROR = -312, /* error during decryption */
FATAL_ERROR = -313, /* recvd alert fatal error */
ENCRYPT_ERROR = -314, /* error during encryption */
FREAD_ERROR = -315, /* fread problem */
NO_PEER_KEY = -316, /* need peer's key */
NO_PRIVATE_KEY = -317, /* need the private key */
RSA_PRIVATE_ERROR = -318, /* error during rsa priv op */
NO_DH_PARAMS = -319, /* server missing DH params */
BUILD_MSG_ERROR = -320, /* build message failure */
BAD_HELLO = -321, /* client hello malformed */
DOMAIN_NAME_MISMATCH = -322, /* peer subject name mismatch */
WANT_READ = -323, /* want read, call again */
NOT_READY_ERROR = -324, /* handshake layer not ready */
PMS_VERSION_ERROR = -325, /* pre m secret version error */
VERSION_ERROR = -326, /* record layer version error */
WANT_WRITE = -327, /* want write, call again */
BUFFER_ERROR = -328, /* malformed buffer input */
VERIFY_CERT_ERROR = -329, /* verify cert error */
VERIFY_SIGN_ERROR = -330, /* verify sign error */
CLIENT_ID_ERROR = -331, /* psk client identity error */
SERVER_HINT_ERROR = -332, /* psk server hint error */
PSK_KEY_ERROR = -333, /* psk key error */
ZLIB_INIT_ERROR = -334, /* zlib init error */
ZLIB_COMPRESS_ERROR = -335, /* zlib compression error */
ZLIB_DECOMPRESS_ERROR = -336, /* zlib decompression error */
GETTIME_ERROR = -337, /* gettimeofday failed ??? */
GETITIMER_ERROR = -338, /* getitimer failed ??? */
SIGACT_ERROR = -339, /* sigaction failed ??? */
SETITIMER_ERROR = -340, /* setitimer failed ??? */
LENGTH_ERROR = -341, /* record layer length error */
PEER_KEY_ERROR = -342, /* can't decode peer key */
ZERO_RETURN = -343, /* peer sent close notify */
SIDE_ERROR = -344, /* wrong client/server type */
NO_PEER_CERT = -345, /* peer didn't send key */
NTRU_KEY_ERROR = -346, /* NTRU key error */
NTRU_DRBG_ERROR = -347, /* NTRU drbg error */
NTRU_ENCRYPT_ERROR = -348, /* NTRU encrypt error */
NTRU_DECRYPT_ERROR = -349, /* NTRU decrypt error */
ECC_CURVETYPE_ERROR = -350, /* Bad ECC Curve Type */
ECC_CURVE_ERROR = -351, /* Bad ECC Curve */
ECC_PEERKEY_ERROR = -352, /* Bad Peer ECC Key */
ECC_MAKEKEY_ERROR = -353, /* Bad Make ECC Key */
ECC_EXPORT_ERROR = -354, /* Bad ECC Export Key */
ECC_SHARED_ERROR = -355, /* Bad ECC Shared Secret */
NOT_CA_ERROR = -357, /* Not a CA cert error */
BAD_PATH_ERROR = -358, /* Bad path for opendir */
BAD_CERT_MANAGER_ERROR = -359, /* Bad Cert Manager */
OCSP_CERT_REVOKED = -360, /* OCSP Certificate revoked */
CRL_CERT_REVOKED = -361, /* CRL Certificate revoked */
CRL_MISSING = -362, /* CRL Not loaded */
MONITOR_RUNNING_E = -363, /* CRL Monitor already running */
THREAD_CREATE_E = -364, /* Thread Create Error */
OCSP_NEED_URL = -365, /* OCSP need an URL for lookup */
OCSP_CERT_UNKNOWN = -366, /* OCSP responder doesn't know */
OCSP_LOOKUP_FAIL = -367, /* OCSP lookup not successful */
MAX_CHAIN_ERROR = -368, /* max chain depth exceeded */
COOKIE_ERROR = -369, /* dtls cookie error */
SEQUENCE_ERROR = -370, /* dtls sequence error */
SUITES_ERROR = -371, /* suites pointer error */
SSL_NO_PEM_HEADER = -372, /* no PEM header found */
OUT_OF_ORDER_E = -373, /* out of order message */
BAD_KEA_TYPE_E = -374, /* bad KEA type found */
SANITY_CIPHER_E = -375, /* sanity check on cipher error */
RECV_OVERFLOW_E = -376, /* RXCB returned more than rqed */
GEN_COOKIE_E = -377, /* Generate Cookie Error */
NO_PEER_VERIFY = -378, /* Need peer cert verify Error */
FWRITE_ERROR = -379, /* fwrite problem */
CACHE_MATCH_ERROR = -380, /* chache hdr match error */
UNKNOWN_SNI_HOST_NAME_E = -381, /* Unrecognized host name Error */
UNKNOWN_MAX_FRAG_LEN_E = -382, /* Unrecognized max frag len Error */
KEYUSE_SIGNATURE_E = -383, /* KeyUse digSignature error */
KEYUSE_ENCIPHER_E = -385, /* KeyUse keyEncipher error */
EXTKEYUSE_AUTH_E = -386, /* ExtKeyUse server|client_auth */
SEND_OOB_READ_E = -387, /* Send Cb out of bounds read */
SECURE_RENEGOTIATION_E = -388, /* Invalid Renegotiation Info */
SESSION_TICKET_LEN_E = -389, /* Session Ticket too large */
SESSION_TICKET_EXPECT_E = -390, /* Session Ticket missing */
SCR_DIFFERENT_CERT_E = -391, /* SCR Different cert error */
SESSION_SECRET_CB_E = -392, /* Session secret Cb fcn failure */
NO_CHANGE_CIPHER_E = -393, /* Finished before change cipher */
SANITY_MSG_E = -394, /* Sanity check on msg order error */
DUPLICATE_MSG_E = -395, /* Duplicate message error */
SNI_UNSUPPORTED = -396, /* SSL 3.0 does not support SNI */
/* add strings to SetErrorString !!!!! */
/* begin negotiation parameter errors */
UNSUPPORTED_SUITE = -500, /* unsupported cipher suite */
MATCH_SUITE_ERROR = -501 /* can't match cipher suite */
/* end negotiation parameter errors only 10 for now */
/* add strings to SetErrorString !!!!! */
/* no error stings go down here, add above negotiation errors !!!! */
};
#ifdef CYASSL_CALLBACKS
enum {
MIN_PARAM_ERR = UNSUPPORTED_SUITE,
MAX_PARAM_ERR = MIN_PARAM_ERR - 10
};
#endif
CYASSL_LOCAL
void SetErrorString(int err, char* buff);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CyaSSL_ERROR_H */
#include <wolfssl/error-ssl.h>

File diff suppressed because it is too large Load Diff

View File

@ -19,34 +19,4 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/* CyaSSL OCSP API */
#ifndef CYASSL_OCSP_H
#define CYASSL_OCSP_H
#ifdef HAVE_OCSP
#include <cyassl/ssl.h>
#include <cyassl/ctaocrypt/asn.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct CYASSL_OCSP CYASSL_OCSP;
CYASSL_LOCAL int InitOCSP(CYASSL_OCSP*, CYASSL_CERT_MANAGER*);
CYASSL_LOCAL void FreeOCSP(CYASSL_OCSP*, int dynamic);
CYASSL_LOCAL int CheckCertOCSP(CYASSL_OCSP*, DecodedCert*);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* HAVE_OCSP */
#endif /* CYASSL_OCSP_H */
#include <wolfssl/ocsp.h>

View File

@ -19,62 +19,5 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef CYASSL_SNIFFER_H
#define CYASSL_SNIFFER_H
#include <cyassl/ctaocrypt/settings.h>
#ifdef _WIN32
#ifdef SSL_SNIFFER_EXPORTS
#define SSL_SNIFFER_API __declspec(dllexport)
#else
#define SSL_SNIFFER_API __declspec(dllimport)
#endif
#else
#define SSL_SNIFFER_API
#endif /* _WIN32 */
#ifdef __cplusplus
extern "C" {
#endif
CYASSL_API
SSL_SNIFFER_API int ssl_SetPrivateKey(const char* address, int port,
const char* keyFile, int keyType,
const char* password, char* error);
CYASSL_API
SSL_SNIFFER_API int ssl_SetNamedPrivateKey(const char* name,
const char* address, int port,
const char* keyFile, int keyType,
const char* password, char* error);
CYASSL_API
SSL_SNIFFER_API int ssl_DecodePacket(const unsigned char* packet, int length,
unsigned char* data, char* error);
CYASSL_API
SSL_SNIFFER_API int ssl_Trace(const char* traceFile, char* error);
CYASSL_API void ssl_InitSniffer(void);
CYASSL_API void ssl_FreeSniffer(void);
/* ssl_SetPrivateKey keyTypes */
enum {
FILETYPE_PEM = 1,
FILETYPE_DER = 2,
};
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CyaSSL_SNIFFER_H */
#include <wolfssl/sniffer.h>

View File

@ -19,94 +19,4 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef CYASSL_SNIFFER_ERROR_H
#define CYASSL_SNIFFER_ERROR_H
/* need to have errors as #defines since .rc files can't handle enums */
/* need to start at 1 and go in order for same reason */
#define MEMORY_STR 1
#define NEW_SERVER_STR 2
#define IP_CHECK_STR 3
#define SERVER_NOT_REG_STR 4
#define TCP_CHECK_STR 5
#define SERVER_PORT_NOT_REG_STR 6
#define RSA_DECRYPT_STR 7
#define RSA_DECODE_STR 8
#define BAD_CIPHER_SPEC_STR 9
#define SERVER_HELLO_INPUT_STR 10
#define BAD_SESSION_RESUME_STR 11
#define SERVER_DID_RESUMPTION_STR 12
#define CLIENT_HELLO_INPUT_STR 13
#define CLIENT_RESUME_TRY_STR 14
#define HANDSHAKE_INPUT_STR 15
#define GOT_HELLO_VERIFY_STR 16
#define GOT_SERVER_HELLO_STR 17
#define GOT_CERT_REQ_STR 18
#define GOT_SERVER_KEY_EX_STR 19
#define GOT_CERT_STR 20
#define GOT_SERVER_HELLO_DONE_STR 21
#define GOT_FINISHED_STR 22
#define GOT_CLIENT_HELLO_STR 23
#define GOT_CLIENT_KEY_EX_STR 24
#define GOT_CERT_VER_STR 25
#define GOT_UNKNOWN_HANDSHAKE_STR 26
#define NEW_SESSION_STR 27
#define BAD_NEW_SSL_STR 28
#define GOT_PACKET_STR 29
#define NO_DATA_STR 30
#define BAD_SESSION_STR 31
#define GOT_OLD_CLIENT_HELLO_STR 32
#define OLD_CLIENT_INPUT_STR 33
#define OLD_CLIENT_OK_STR 34
#define BAD_OLD_CLIENT_STR 35
#define BAD_RECORD_HDR_STR 36
#define RECORD_INPUT_STR 37
#define GOT_HANDSHAKE_STR 38
#define BAD_HANDSHAKE_STR 39
#define GOT_CHANGE_CIPHER_STR 40
#define GOT_APP_DATA_STR 41
#define BAD_APP_DATA_STR 42
#define GOT_ALERT_STR 43
#define ANOTHER_MSG_STR 44
#define REMOVE_SESSION_STR 45
#define KEY_FILE_STR 46
#define BAD_IPVER_STR 47
#define BAD_PROTO_STR 48
#define PACKET_HDR_SHORT_STR 49
#define GOT_UNKNOWN_RECORD_STR 50
#define BAD_TRACE_FILE_STR 51
#define FATAL_ERROR_STR 52
#define PARTIAL_INPUT_STR 53
#define BUFFER_ERROR_STR 54
#define PARTIAL_ADD_STR 55
#define DUPLICATE_STR 56
#define OUT_OF_ORDER_STR 57
#define OVERLAP_DUPLICATE_STR 58
#define OVERLAP_REASSEMBLY_BEGIN_STR 59
#define OVERLAP_REASSEMBLY_END_STR 60
#define MISSED_CLIENT_HELLO_STR 61
#define GOT_HELLO_REQUEST_STR 62
#define GOT_SESSION_TICKET_STR 63
#define BAD_INPUT_STR 64
#define BAD_DECRYPT_TYPE 65
#define BAD_FINISHED_MSG 66
#define BAD_COMPRESSION_STR 67
#define BAD_DERIVE_STR 68
#define ACK_MISSED_STR 69
#define BAD_DECRYPT 70
#define DECRYPT_KEYS_NOT_SETUP 71
#define CLIENT_HELLO_LATE_KEY_STR 72
/* !!!! also add to msgTable in sniffer.c and .rc file !!!! */
#endif /* CyaSSL_SNIFFER_ERROR_H */
#include <wolfssl/sniffer_error.h>

View File

@ -52,7 +52,7 @@
// typedef CYASSL_X509_CHAIN WOLFSSL_X509_CHAIN;
// /* redeclare guard */
/* redeclare guard */
// #define CYASSL_TYPES_DEFINED
@ -87,7 +87,7 @@
// #define CyaSSL_Cleanup wolfSSL_Cleanup
// #define CyaSSL_shutdown wolfSSL_shutdown
// /* Certs and keys */
/* Certs and keys */
// #define CyaSSL_CTX_load_verify_buffer wolfSSL_CTX_load_verify_buffer
// #define CyaSSL_CTX_use_PrivateKey_buffer wolfSSL_CTX_use_PrivateKey_buffer
// #define CyaSSL_CTX_use_PrivateKey_buffer wolfSSL_CTX_use_PrivateKey_buffer
@ -140,7 +140,7 @@
// #define CyaSSL_set_verify wolfSSL_set_verify
// #define CyaSSL_CTX_set_verify wolfSSL_CTX_set_verify
// /* Callbacks */
/* Callbacks */
// #define CyaSSL_SetIOReadCtx wolfSSL_SetIOReadCtx
// #define CyaSSL_SetIOWriteCtx wolfSSL_SetIOWriteCtx
// #define CyaSSL_SetIOReadFlags wolfSSL_SetIOReadFlags
@ -177,7 +177,7 @@
// #define CyaSSL_SetRsaDecCtx wolfSSL_SetRsaDecCtx
// #define CyaSSL_GetRsaDecCtx wolfSSL_GetRsaDecCtx
// /* Error Handling and Debugging*/
/* Error Handling and Debugging*/
// #define CyaSSL_ERR_error_string wolfSSL_ERR_error_string
// #define CyaSSL_ERR_error_string_n wolfSSL_ERR_error_string_n
// #define CyaSSL_ERR_print_errors_fp wolfSSL_ERR_print_errors_fp
@ -188,11 +188,11 @@
// #define CyaSSL_Debugging_ON wolfSSL_Debugging_ON
// #define CyaSSL_Debugging_OFF wolfSSL_Debugging_OFF
// /* OCSP and CRL */
/* OCSP and CRL */
// #define CyaSSL_CTX_OCSP_set_options wolfSSL_CTX_OCSP_set_options
// #define CyaSSL_CTX_OCSP_set_override_url wolfSSL_CTX_OCSP_set_override_url
// /* Informational */
/* Informational */
// #define CyaSSL_GetObjectSize wolfSSL_GetObjectSize
// #define CyaSSL_GetMacSecret wolfSSL_GetMacSecret
// #define CyaSSL_GetClientWriteKey wolfSSL_GetClientWriteKey
@ -209,7 +209,7 @@
// #define CyaSSL_GetHmacType wolfSSL_GetHmacType
// #define CyaSSL_GetCipherType wolfSSL_GetCipherType
// /* Connection, Session, and I/O */
/* Connection, Session, and I/O */
// #define CyaSSL_accept wolfSSL_accept
// #define CyaSSL_connect wolfSSL_connect
// #define CyaSSL_connect_cert wolfSSL_connect_cert
@ -226,20 +226,20 @@
// #define CyaSSL_write wolfSSL_write
// #define CyaSSL_writev wolfSSL_writev
// /* DTLS Specific */
/* DTLS Specific */
// #define CyaSSL_dtls wolfSSL_dtls
// #define CyaSSL_dtls_get_current_timeout wolfSSL_dtls_get_current_timeout
// #define CyaSSL_dtls_get_peer wolfSSL_dtls_get_peer
// #define CyaSSL_dtls_got_timeout wolfSSL_dtls_got_timeout
// #define CyaSSL_dtls_set_peer wolfSSL_dtls_set_peer
// /* Memory Abstraction Layer */
/* Memory Abstraction Layer */
// #define CyaSSL_Malloc wolfSSL_Malloc
// #define CyaSSL_Realloc wolfSSL_Realloc
// #define CyaSSL_Free wolfSSL_Free
// #define CyaSSL_SetAllocators wolfSSL_SetAllocators
// /* Certificate Manager */
/* Certificate Manager */
// #define CyaSSL_CertManagerDisableCRL wolfSSL_CertManagerDisableCRL
// #define CyaSSL_CertManagerEnableCRL wolfSSL_CertManagerEnableCRL
// #define CyaSSL_CertManagerFree wolfSSL_CertManagerFree
@ -248,7 +248,7 @@
// #define CyaSSL_CertManagerVerify wolfSSL_CertManagerVerify
// #define CyaSSL_CertManagerVerifyBuffer wolfSSL_CertManagerVerifyBuffer
// /* OpenSSL Compatibility Layer */
/* OpenSSL Compatibility Layer */
// #define CyaSSL_X509_get_serial_number wolfSSL_X509_get_serial_number
// #define CyaSSL_get_sessionID wolfSSL_get_sessionID
// #define CyaSSL_get_peer_chain wolfSSL_get_peer_chain
@ -263,7 +263,7 @@
// #define CyaSSL_use_certificate_chain_file wolfSSL_use_certificate_chain_file
// #define CyaSSL_use_RSAPrivateKey_file wolfSSL_use_RSAPrivateKey_file
// /*TLS Extensions */
/* TLS Extensions */
// #define CyaSSL_CTX_UseSNI wolfSSL_CTX_UseSNI
// #define CyaSSL_UseSNI wolfSSL_UseSNI
// #define CyaSSL_CTX_SNI_SetOptions wolfSSL_CTX_SNI_SetOptions

File diff suppressed because it is too large Load Diff

80
wolfssl/callbacks.h Normal file
View File

@ -0,0 +1,80 @@
/* callbacks.h
*
* Copyright (C) 2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef WOLFSSL_CALLBACKS_H
#define WOLFSSL_CALLBACKS_H
#include <sys/time.h>
#ifdef __cplusplus
extern "C" {
#endif
enum { /* CALLBACK CONTSTANTS */
MAX_PACKETNAME_SZ = 24,
MAX_CIPHERNAME_SZ = 24,
MAX_TIMEOUT_NAME_SZ = 24,
MAX_PACKETS_HANDSHAKE = 14, /* 12 for client auth plus 2 alerts */
MAX_VALUE_SZ = 128, /* all handshake packets but Cert should
fit here */
};
typedef struct handShakeInfo_st {
char cipherName[MAX_CIPHERNAME_SZ + 1]; /* negotiated cipher */
char packetNames[MAX_PACKETS_HANDSHAKE][MAX_PACKETNAME_SZ + 1];
/* SSL packet names */
int numberPackets; /* actual # of packets */
int negotiationError; /* cipher/parameter err */
} HandShakeInfo;
typedef struct timeval Timeval;
typedef struct packetInfo_st {
char packetName[MAX_PACKETNAME_SZ + 1]; /* SSL packet name */
Timeval timestamp; /* when it occured */
unsigned char value[MAX_VALUE_SZ]; /* if fits, it's here */
unsigned char* bufferValue; /* otherwise here (non 0) */
int valueSz; /* sz of value or buffer */
} PacketInfo;
typedef struct timeoutInfo_st {
char timeoutName[MAX_TIMEOUT_NAME_SZ + 1]; /* timeout Name */
int flags; /* for future use */
int numberPackets; /* actual # of packets */
PacketInfo packets[MAX_PACKETS_HANDSHAKE]; /* list of all packets */
Timeval timeoutValue; /* timer that caused it */
} TimeoutInfo;
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CYASSL_CALLBACKS_H */

1178
wolfssl/certs_test.h Normal file

File diff suppressed because it is too large Load Diff

51
wolfssl/crl.h Normal file
View File

@ -0,0 +1,51 @@
/* crl.h
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef CYASSL_CRL_H
#define CYASSL_CRL_H
#ifdef HAVE_CRL
#include <cyassl/ssl.h>
#include <cyassl/ctaocrypt/asn.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct CYASSL_CRL CYASSL_CRL;
CYASSL_LOCAL int InitCRL(CYASSL_CRL*, CYASSL_CERT_MANAGER*);
CYASSL_LOCAL void FreeCRL(CYASSL_CRL*, int dynamic);
CYASSL_LOCAL int LoadCRL(CYASSL_CRL* crl, const char* path, int type, int mon);
CYASSL_LOCAL int BufferLoadCRL(CYASSL_CRL*, const byte*, long, int);
CYASSL_LOCAL int CheckCertCRL(CYASSL_CRL*, DecodedCert*);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* HAVE_CRL */
#endif /* CYASSL_CRL_H */

162
wolfssl/error-ssl.h Normal file
View File

@ -0,0 +1,162 @@
/* error-ssl.h
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef CYASSL_ERROR_H
#define CYASSL_ERROR_H
#include <cyassl/ctaocrypt/error-crypt.h> /* pull in CTaoCrypt errors */
#ifdef __cplusplus
extern "C" {
#endif
enum CyaSSL_ErrorCodes {
INPUT_CASE_ERROR = -301, /* process input state error */
PREFIX_ERROR = -302, /* bad index to key rounds */
MEMORY_ERROR = -303, /* out of memory */
VERIFY_FINISHED_ERROR = -304, /* verify problem on finished */
VERIFY_MAC_ERROR = -305, /* verify mac problem */
PARSE_ERROR = -306, /* parse error on header */
UNKNOWN_HANDSHAKE_TYPE = -307, /* weird handshake type */
SOCKET_ERROR_E = -308, /* error state on socket */
SOCKET_NODATA = -309, /* expected data, not there */
INCOMPLETE_DATA = -310, /* don't have enough data to
complete task */
UNKNOWN_RECORD_TYPE = -311, /* unknown type in record hdr */
DECRYPT_ERROR = -312, /* error during decryption */
FATAL_ERROR = -313, /* recvd alert fatal error */
ENCRYPT_ERROR = -314, /* error during encryption */
FREAD_ERROR = -315, /* fread problem */
NO_PEER_KEY = -316, /* need peer's key */
NO_PRIVATE_KEY = -317, /* need the private key */
RSA_PRIVATE_ERROR = -318, /* error during rsa priv op */
NO_DH_PARAMS = -319, /* server missing DH params */
BUILD_MSG_ERROR = -320, /* build message failure */
BAD_HELLO = -321, /* client hello malformed */
DOMAIN_NAME_MISMATCH = -322, /* peer subject name mismatch */
WANT_READ = -323, /* want read, call again */
NOT_READY_ERROR = -324, /* handshake layer not ready */
PMS_VERSION_ERROR = -325, /* pre m secret version error */
VERSION_ERROR = -326, /* record layer version error */
WANT_WRITE = -327, /* want write, call again */
BUFFER_ERROR = -328, /* malformed buffer input */
VERIFY_CERT_ERROR = -329, /* verify cert error */
VERIFY_SIGN_ERROR = -330, /* verify sign error */
CLIENT_ID_ERROR = -331, /* psk client identity error */
SERVER_HINT_ERROR = -332, /* psk server hint error */
PSK_KEY_ERROR = -333, /* psk key error */
ZLIB_INIT_ERROR = -334, /* zlib init error */
ZLIB_COMPRESS_ERROR = -335, /* zlib compression error */
ZLIB_DECOMPRESS_ERROR = -336, /* zlib decompression error */
GETTIME_ERROR = -337, /* gettimeofday failed ??? */
GETITIMER_ERROR = -338, /* getitimer failed ??? */
SIGACT_ERROR = -339, /* sigaction failed ??? */
SETITIMER_ERROR = -340, /* setitimer failed ??? */
LENGTH_ERROR = -341, /* record layer length error */
PEER_KEY_ERROR = -342, /* can't decode peer key */
ZERO_RETURN = -343, /* peer sent close notify */
SIDE_ERROR = -344, /* wrong client/server type */
NO_PEER_CERT = -345, /* peer didn't send key */
NTRU_KEY_ERROR = -346, /* NTRU key error */
NTRU_DRBG_ERROR = -347, /* NTRU drbg error */
NTRU_ENCRYPT_ERROR = -348, /* NTRU encrypt error */
NTRU_DECRYPT_ERROR = -349, /* NTRU decrypt error */
ECC_CURVETYPE_ERROR = -350, /* Bad ECC Curve Type */
ECC_CURVE_ERROR = -351, /* Bad ECC Curve */
ECC_PEERKEY_ERROR = -352, /* Bad Peer ECC Key */
ECC_MAKEKEY_ERROR = -353, /* Bad Make ECC Key */
ECC_EXPORT_ERROR = -354, /* Bad ECC Export Key */
ECC_SHARED_ERROR = -355, /* Bad ECC Shared Secret */
NOT_CA_ERROR = -357, /* Not a CA cert error */
BAD_PATH_ERROR = -358, /* Bad path for opendir */
BAD_CERT_MANAGER_ERROR = -359, /* Bad Cert Manager */
OCSP_CERT_REVOKED = -360, /* OCSP Certificate revoked */
CRL_CERT_REVOKED = -361, /* CRL Certificate revoked */
CRL_MISSING = -362, /* CRL Not loaded */
MONITOR_RUNNING_E = -363, /* CRL Monitor already running */
THREAD_CREATE_E = -364, /* Thread Create Error */
OCSP_NEED_URL = -365, /* OCSP need an URL for lookup */
OCSP_CERT_UNKNOWN = -366, /* OCSP responder doesn't know */
OCSP_LOOKUP_FAIL = -367, /* OCSP lookup not successful */
MAX_CHAIN_ERROR = -368, /* max chain depth exceeded */
COOKIE_ERROR = -369, /* dtls cookie error */
SEQUENCE_ERROR = -370, /* dtls sequence error */
SUITES_ERROR = -371, /* suites pointer error */
SSL_NO_PEM_HEADER = -372, /* no PEM header found */
OUT_OF_ORDER_E = -373, /* out of order message */
BAD_KEA_TYPE_E = -374, /* bad KEA type found */
SANITY_CIPHER_E = -375, /* sanity check on cipher error */
RECV_OVERFLOW_E = -376, /* RXCB returned more than rqed */
GEN_COOKIE_E = -377, /* Generate Cookie Error */
NO_PEER_VERIFY = -378, /* Need peer cert verify Error */
FWRITE_ERROR = -379, /* fwrite problem */
CACHE_MATCH_ERROR = -380, /* chache hdr match error */
UNKNOWN_SNI_HOST_NAME_E = -381, /* Unrecognized host name Error */
UNKNOWN_MAX_FRAG_LEN_E = -382, /* Unrecognized max frag len Error */
KEYUSE_SIGNATURE_E = -383, /* KeyUse digSignature error */
KEYUSE_ENCIPHER_E = -385, /* KeyUse keyEncipher error */
EXTKEYUSE_AUTH_E = -386, /* ExtKeyUse server|client_auth */
SEND_OOB_READ_E = -387, /* Send Cb out of bounds read */
SECURE_RENEGOTIATION_E = -388, /* Invalid Renegotiation Info */
SESSION_TICKET_LEN_E = -389, /* Session Ticket too large */
SESSION_TICKET_EXPECT_E = -390, /* Session Ticket missing */
SCR_DIFFERENT_CERT_E = -391, /* SCR Different cert error */
SESSION_SECRET_CB_E = -392, /* Session secret Cb fcn failure */
NO_CHANGE_CIPHER_E = -393, /* Finished before change cipher */
SANITY_MSG_E = -394, /* Sanity check on msg order error */
DUPLICATE_MSG_E = -395, /* Duplicate message error */
SNI_UNSUPPORTED = -396, /* SSL 3.0 does not support SNI */
/* add strings to SetErrorString !!!!! */
/* begin negotiation parameter errors */
UNSUPPORTED_SUITE = -500, /* unsupported cipher suite */
MATCH_SUITE_ERROR = -501 /* can't match cipher suite */
/* end negotiation parameter errors only 10 for now */
/* add strings to SetErrorString !!!!! */
/* no error stings go down here, add above negotiation errors !!!! */
};
#ifdef CYASSL_CALLBACKS
enum {
MIN_PARAM_ERR = UNSUPPORTED_SUITE,
MAX_PARAM_ERR = MIN_PARAM_ERR - 10
};
#endif
CYASSL_LOCAL
void SetErrorString(int err, char* buff);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CyaSSL_ERROR_H */

25
wolfssl/include.am Normal file
View File

@ -0,0 +1,25 @@
# vim:ft=automake
# All paths should be given relative to the root
#
include cyassl/ctaocrypt/include.am
include cyassl/openssl/include.am
EXTRA_DIST+= cyassl/sniffer_error.rc
nobase_include_HEADERS+= \
cyassl/error-ssl.h \
cyassl/ssl.h \
cyassl/sniffer_error.h \
cyassl/sniffer.h \
cyassl/callbacks.h \
cyassl/certs_test.h \
cyassl/test.h \
cyassl/version.h \
cyassl/options.h \
cyassl/ocsp.h \
cyassl/crl.h
noinst_HEADERS+= \
cyassl/internal.h

2369
wolfssl/internal.h Normal file

File diff suppressed because it is too large Load Diff

52
wolfssl/ocsp.h Normal file
View File

@ -0,0 +1,52 @@
/* ocsp.h
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/* CyaSSL OCSP API */
#ifndef CYASSL_OCSP_H
#define CYASSL_OCSP_H
#ifdef HAVE_OCSP
#include <cyassl/ssl.h>
#include <cyassl/ctaocrypt/asn.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct CYASSL_OCSP CYASSL_OCSP;
CYASSL_LOCAL int InitOCSP(CYASSL_OCSP*, CYASSL_CERT_MANAGER*);
CYASSL_LOCAL void FreeOCSP(CYASSL_OCSP*, int dynamic);
CYASSL_LOCAL int CheckCertOCSP(CYASSL_OCSP*, DecodedCert*);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* HAVE_OCSP */
#endif /* CYASSL_OCSP_H */

2
wolfssl/openssl/asn1.h Normal file
View File

@ -0,0 +1,2 @@
/* asn1.h for openssl */

23
wolfssl/openssl/bio.h Normal file
View File

@ -0,0 +1,23 @@
/* bio.h for openssl */
#ifndef CYASSL_BIO_H_
#define CYASSL_BIO_H_
#include <cyassl/openssl/ssl.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CYASSL_BIO_H_ */

115
wolfssl/openssl/bn.h Normal file
View File

@ -0,0 +1,115 @@
/* bn.h for openssl */
#ifndef CYASSL_BN_H_
#define CYASSL_BN_H_
#include <cyassl/ctaocrypt/settings.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct CYASSL_BIGNUM {
int neg; /* openssh deference */
void* internal; /* our big num */
} CYASSL_BIGNUM;
typedef struct CYASSL_BN_CTX CYASSL_BN_CTX;
CYASSL_API CYASSL_BN_CTX* CyaSSL_BN_CTX_new(void);
CYASSL_API void CyaSSL_BN_CTX_init(CYASSL_BN_CTX*);
CYASSL_API void CyaSSL_BN_CTX_free(CYASSL_BN_CTX*);
CYASSL_API CYASSL_BIGNUM* CyaSSL_BN_new(void);
CYASSL_API void CyaSSL_BN_free(CYASSL_BIGNUM*);
CYASSL_API void CyaSSL_BN_clear_free(CYASSL_BIGNUM*);
CYASSL_API int CyaSSL_BN_sub(CYASSL_BIGNUM*, const CYASSL_BIGNUM*,
const CYASSL_BIGNUM*);
CYASSL_API int CyaSSL_BN_mod(CYASSL_BIGNUM*, const CYASSL_BIGNUM*,
const CYASSL_BIGNUM*, const CYASSL_BN_CTX*);
CYASSL_API const CYASSL_BIGNUM* CyaSSL_BN_value_one(void);
CYASSL_API int CyaSSL_BN_num_bytes(const CYASSL_BIGNUM*);
CYASSL_API int CyaSSL_BN_num_bits(const CYASSL_BIGNUM*);
CYASSL_API int CyaSSL_BN_is_zero(const CYASSL_BIGNUM*);
CYASSL_API int CyaSSL_BN_is_one(const CYASSL_BIGNUM*);
CYASSL_API int CyaSSL_BN_is_odd(const CYASSL_BIGNUM*);
CYASSL_API int CyaSSL_BN_cmp(const CYASSL_BIGNUM*, const CYASSL_BIGNUM*);
CYASSL_API int CyaSSL_BN_bn2bin(const CYASSL_BIGNUM*, unsigned char*);
CYASSL_API CYASSL_BIGNUM* CyaSSL_BN_bin2bn(const unsigned char*, int len,
CYASSL_BIGNUM* ret);
CYASSL_API int CyaSSL_mask_bits(CYASSL_BIGNUM*, int n);
CYASSL_API int CyaSSL_BN_rand(CYASSL_BIGNUM*, int bits, int top, int bottom);
CYASSL_API int CyaSSL_BN_is_bit_set(const CYASSL_BIGNUM*, int n);
CYASSL_API int CyaSSL_BN_hex2bn(CYASSL_BIGNUM**, const char* str);
CYASSL_API CYASSL_BIGNUM* CyaSSL_BN_dup(const CYASSL_BIGNUM*);
CYASSL_API CYASSL_BIGNUM* CyaSSL_BN_copy(CYASSL_BIGNUM*, const CYASSL_BIGNUM*);
CYASSL_API int CyaSSL_BN_set_word(CYASSL_BIGNUM*, unsigned long w);
CYASSL_API int CyaSSL_BN_dec2bn(CYASSL_BIGNUM**, const char* str);
CYASSL_API char* CyaSSL_BN_bn2dec(const CYASSL_BIGNUM*);
typedef CYASSL_BIGNUM BIGNUM;
typedef CYASSL_BN_CTX BN_CTX;
#define BN_CTX_new CyaSSL_BN_CTX_new
#define BN_CTX_init CyaSSL_BN_CTX_init
#define BN_CTX_free CyaSSL_BN_CTX_free
#define BN_new CyaSSL_BN_new
#define BN_free CyaSSL_BN_free
#define BN_clear_free CyaSSL_BN_clear_free
#define BN_num_bytes CyaSSL_BN_num_bytes
#define BN_num_bits CyaSSL_BN_num_bits
#define BN_is_zero CyaSSL_BN_is_zero
#define BN_is_one CyaSSL_BN_is_one
#define BN_is_odd CyaSSL_BN_is_odd
#define BN_cmp CyaSSL_BN_cmp
#define BN_bn2bin CyaSSL_BN_bn2bin
#define BN_bin2bn CyaSSL_BN_bin2bn
#define BN_mod CyaSSL_BN_mod
#define BN_sub CyaSSL_BN_sub
#define BN_value_one CyaSSL_BN_value_one
#define BN_mask_bits CyaSSL_mask_bits
#define BN_rand CyaSSL_BN_rand
#define BN_is_bit_set CyaSSL_BN_is_bit_set
#define BN_hex2bn CyaSSL_BN_hex2bn
#define BN_dup CyaSSL_BN_dup
#define BN_copy CyaSSL_BN_copy
#define BN_set_word CyaSSL_BN_set_word
#define BN_dec2bn CyaSSL_BN_dec2bn
#define BN_bn2dec CyaSSL_BN_bn2dec
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CYASSL__H_ */

2
wolfssl/openssl/conf.h Normal file
View File

@ -0,0 +1,2 @@
/* conf.h for openssl */

26
wolfssl/openssl/crypto.h Normal file
View File

@ -0,0 +1,26 @@
/* crypto.h for openSSL */
#ifndef CYASSL_CRYPTO_H_
#define CYASSL_CRYPTO_H_
#include <cyassl/ctaocrypt/settings.h>
#ifdef YASSL_PREFIX
#include "prefix_crypto.h"
#endif
CYASSL_API const char* CyaSSLeay_version(int type);
CYASSL_API unsigned long CyaSSLeay(void);
#define SSLeay_version CyaSSLeay_version
#define SSLeay CyaSSLeay
#define SSLEAY_VERSION 0x0090600fL
#define SSLEAY_VERSION_NUMBER SSLEAY_VERSION
#endif /* header */

87
wolfssl/openssl/des.h Normal file
View File

@ -0,0 +1,87 @@
/* des.h
*
* Copyright (C) 2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/* des.h defines mini des openssl compatibility layer
*
*/
#ifndef CYASSL_DES_H_
#define CYASSL_DES_H_
#include <cyassl/ctaocrypt/settings.h>
#ifdef YASSL_PREFIX
#include "prefix_des.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef unsigned char CYASSL_DES_cblock[8];
typedef /* const */ CYASSL_DES_cblock CYASSL_const_DES_cblock;
typedef CYASSL_DES_cblock CYASSL_DES_key_schedule;
enum {
DES_ENCRYPT = 1,
DES_DECRYPT = 0
};
CYASSL_API void CyaSSL_DES_set_key_unchecked(CYASSL_const_DES_cblock*,
CYASSL_DES_key_schedule*);
CYASSL_API int CyaSSL_DES_key_sched(CYASSL_const_DES_cblock* key,
CYASSL_DES_key_schedule* schedule);
CYASSL_API void CyaSSL_DES_cbc_encrypt(const unsigned char* input,
unsigned char* output, long length,
CYASSL_DES_key_schedule* schedule, CYASSL_DES_cblock* ivec,
int enc);
CYASSL_API void CyaSSL_DES_ncbc_encrypt(const unsigned char* input,
unsigned char* output, long length,
CYASSL_DES_key_schedule* schedule,
CYASSL_DES_cblock* ivec, int enc);
CYASSL_API void CyaSSL_DES_set_odd_parity(CYASSL_DES_cblock*);
CYASSL_API void CyaSSL_DES_ecb_encrypt(CYASSL_DES_cblock*, CYASSL_DES_cblock*,
CYASSL_DES_key_schedule*, int);
typedef CYASSL_DES_cblock DES_cblock;
typedef CYASSL_const_DES_cblock const_DES_cblock;
typedef CYASSL_DES_key_schedule DES_key_schedule;
#define DES_set_key_unchecked CyaSSL_DES_set_key_unchecked
#define DES_key_sched CyaSSL_DES_key_sched
#define DES_cbc_encrypt CyaSSL_DES_cbc_encrypt
#define DES_ncbc_encrypt CyaSSL_DES_ncbc_encrypt
#define DES_set_odd_parity CyaSSL_DES_set_odd_parity
#define DES_ecb_encrypt CyaSSL_DES_ecb_encrypt
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CYASSL_DES_H_ */

52
wolfssl/openssl/dh.h Normal file
View File

@ -0,0 +1,52 @@
/* dh.h for openSSL */
#ifndef CYASSL_DH_H_
#define CYASSL_DH_H_
#include <cyassl/openssl/ssl.h>
#include <cyassl/openssl/bn.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct CYASSL_DH {
CYASSL_BIGNUM* p;
CYASSL_BIGNUM* g;
CYASSL_BIGNUM* pub_key; /* openssh deference g^x */
CYASSL_BIGNUM* priv_key; /* openssh deference x */
void* internal; /* our DH */
char inSet; /* internal set from external ? */
char exSet; /* external set from internal ? */
} CYASSL_DH;
CYASSL_API CYASSL_DH* CyaSSL_DH_new(void);
CYASSL_API void CyaSSL_DH_free(CYASSL_DH*);
CYASSL_API int CyaSSL_DH_size(CYASSL_DH*);
CYASSL_API int CyaSSL_DH_generate_key(CYASSL_DH*);
CYASSL_API int CyaSSL_DH_compute_key(unsigned char* key, CYASSL_BIGNUM* pub,
CYASSL_DH*);
typedef CYASSL_DH DH;
#define DH_new CyaSSL_DH_new
#define DH_free CyaSSL_DH_free
#define DH_size CyaSSL_DH_size
#define DH_generate_key CyaSSL_DH_generate_key
#define DH_compute_key CyaSSL_DH_compute_key
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* header */

53
wolfssl/openssl/dsa.h Normal file
View File

@ -0,0 +1,53 @@
/* dsa.h for openSSL */
#ifndef CYASSL_DSA_H_
#define CYASSL_DSA_H_
#include <cyassl/openssl/ssl.h>
#include <cyassl/openssl/bn.h>
#ifdef __cplusplus
extern "C" {
#endif
struct CYASSL_DSA {
CYASSL_BIGNUM* p;
CYASSL_BIGNUM* q;
CYASSL_BIGNUM* g;
CYASSL_BIGNUM* pub_key; /* our y */
CYASSL_BIGNUM* priv_key; /* our x */
void* internal; /* our Dsa Key */
char inSet; /* internal set from external ? */
char exSet; /* external set from internal ? */
};
CYASSL_API CYASSL_DSA* CyaSSL_DSA_new(void);
CYASSL_API void CyaSSL_DSA_free(CYASSL_DSA*);
CYASSL_API int CyaSSL_DSA_generate_key(CYASSL_DSA*);
CYASSL_API int CyaSSL_DSA_generate_parameters_ex(CYASSL_DSA*, int bits,
unsigned char* seed, int seedLen, int* counterRet,
unsigned long* hRet, void* cb);
CYASSL_API int CyaSSL_DSA_LoadDer(CYASSL_DSA*, const unsigned char*, int sz);
CYASSL_API int CyaSSL_DSA_do_sign(const unsigned char* d, unsigned char* sigRet,
CYASSL_DSA* dsa);
#define DSA_new CyaSSL_DSA_new
#define DSA_free CyaSSL_DSA_free
#define DSA_generate_key CyaSSL_DSA_generate_key
#define DSA_generate_parameters_ex CyaSSL_DSA_generate_parameters_ex
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* header */

2
wolfssl/openssl/ec.h Normal file
View File

@ -0,0 +1,2 @@
/* ec.h for openssl */

2
wolfssl/openssl/ecdsa.h Normal file
View File

@ -0,0 +1,2 @@
/* ecdsa.h for openssl */

5
wolfssl/openssl/engine.h Normal file
View File

@ -0,0 +1,5 @@
/* engine.h for libcurl */
#undef HAVE_OPENSSL_ENGINE_H

2
wolfssl/openssl/err.h Normal file
View File

@ -0,0 +1,2 @@
/* err.h for openssl */

241
wolfssl/openssl/evp.h Normal file
View File

@ -0,0 +1,241 @@
/* evp.h
*
* Copyright (C) 2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/* evp.h defines mini evp openssl compatibility layer
*
*/
#ifndef CYASSL_EVP_H_
#define CYASSL_EVP_H_
#include <cyassl/ctaocrypt/settings.h>
#ifdef YASSL_PREFIX
#include "prefix_evp.h"
#endif
#include <cyassl/openssl/md5.h>
#include <cyassl/openssl/sha.h>
#include <cyassl/openssl/ripemd.h>
#include <cyassl/openssl/rsa.h>
#include <cyassl/openssl/dsa.h>
#include <cyassl/ctaocrypt/aes.h>
#include <cyassl/ctaocrypt/des3.h>
#include <cyassl/ctaocrypt/arc4.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef char CYASSL_EVP_MD;
typedef char CYASSL_EVP_CIPHER;
CYASSL_API const CYASSL_EVP_MD* CyaSSL_EVP_md5(void);
CYASSL_API const CYASSL_EVP_MD* CyaSSL_EVP_sha1(void);
CYASSL_API const CYASSL_EVP_MD* CyaSSL_EVP_sha256(void);
CYASSL_API const CYASSL_EVP_MD* CyaSSL_EVP_sha384(void);
CYASSL_API const CYASSL_EVP_MD* CyaSSL_EVP_sha512(void);
CYASSL_API const CYASSL_EVP_MD* CyaSSL_EVP_ripemd160(void);
CYASSL_API const CYASSL_EVP_CIPHER* CyaSSL_EVP_aes_128_cbc(void);
CYASSL_API const CYASSL_EVP_CIPHER* CyaSSL_EVP_aes_192_cbc(void);
CYASSL_API const CYASSL_EVP_CIPHER* CyaSSL_EVP_aes_256_cbc(void);
CYASSL_API const CYASSL_EVP_CIPHER* CyaSSL_EVP_aes_128_ctr(void);
CYASSL_API const CYASSL_EVP_CIPHER* CyaSSL_EVP_aes_192_ctr(void);
CYASSL_API const CYASSL_EVP_CIPHER* CyaSSL_EVP_aes_256_ctr(void);
CYASSL_API const CYASSL_EVP_CIPHER* CyaSSL_EVP_des_cbc(void);
CYASSL_API const CYASSL_EVP_CIPHER* CyaSSL_EVP_des_ede3_cbc(void);
CYASSL_API const CYASSL_EVP_CIPHER* CyaSSL_EVP_rc4(void);
CYASSL_API const CYASSL_EVP_CIPHER* CyaSSL_EVP_enc_null(void);
typedef union {
CYASSL_MD5_CTX md5;
CYASSL_SHA_CTX sha;
CYASSL_SHA256_CTX sha256;
#ifdef CYASSL_SHA384
CYASSL_SHA384_CTX sha384;
#endif
#ifdef CYASSL_SHA512
CYASSL_SHA512_CTX sha512;
#endif
#ifdef CYASSL_RIPEMD
CYASSL_RIPEMD_CTX ripemd;
#endif
} CYASSL_Hasher;
typedef struct CYASSL_EVP_MD_CTX {
unsigned char macType;
CYASSL_Hasher hash;
} CYASSL_EVP_MD_CTX;
typedef union {
Aes aes;
#ifndef NO_DES3
Des des;
Des3 des3;
#endif
Arc4 arc4;
} CYASSL_Cipher;
enum {
AES_128_CBC_TYPE = 1,
AES_192_CBC_TYPE = 2,
AES_256_CBC_TYPE = 3,
AES_128_CTR_TYPE = 4,
AES_192_CTR_TYPE = 5,
AES_256_CTR_TYPE = 6,
DES_CBC_TYPE = 7,
DES_EDE3_CBC_TYPE = 8,
ARC4_TYPE = 9,
NULL_CIPHER_TYPE = 10,
EVP_PKEY_RSA = 11,
EVP_PKEY_DSA = 12,
NID_sha1 = 64,
NID_md5 = 4
};
typedef struct CYASSL_EVP_CIPHER_CTX {
int keyLen; /* user may set for variable */
unsigned char enc; /* if encrypt side, then true */
unsigned char cipherType;
unsigned char iv[AES_BLOCK_SIZE]; /* working iv pointer into cipher */
CYASSL_Cipher cipher;
} CYASSL_EVP_CIPHER_CTX;
CYASSL_API int CyaSSL_EVP_MD_size(const CYASSL_EVP_MD* md);
CYASSL_API void CyaSSL_EVP_MD_CTX_init(CYASSL_EVP_MD_CTX* ctx);
CYASSL_API int CyaSSL_EVP_MD_CTX_cleanup(CYASSL_EVP_MD_CTX* ctx);
CYASSL_API int CyaSSL_EVP_DigestInit(CYASSL_EVP_MD_CTX* ctx,
const CYASSL_EVP_MD* type);
CYASSL_API int CyaSSL_EVP_DigestUpdate(CYASSL_EVP_MD_CTX* ctx, const void* data,
unsigned long sz);
CYASSL_API int CyaSSL_EVP_DigestFinal(CYASSL_EVP_MD_CTX* ctx, unsigned char* md,
unsigned int* s);
CYASSL_API int CyaSSL_EVP_DigestFinal_ex(CYASSL_EVP_MD_CTX* ctx,
unsigned char* md, unsigned int* s);
CYASSL_API int CyaSSL_EVP_BytesToKey(const CYASSL_EVP_CIPHER*,
const CYASSL_EVP_MD*, const unsigned char*,
const unsigned char*, int, int, unsigned char*,
unsigned char*);
CYASSL_API void CyaSSL_EVP_CIPHER_CTX_init(CYASSL_EVP_CIPHER_CTX* ctx);
CYASSL_API int CyaSSL_EVP_CIPHER_CTX_cleanup(CYASSL_EVP_CIPHER_CTX* ctx);
CYASSL_API int CyaSSL_EVP_CIPHER_CTX_iv_length(const CYASSL_EVP_CIPHER_CTX*);
CYASSL_API int CyaSSL_EVP_CipherInit(CYASSL_EVP_CIPHER_CTX* ctx,
const CYASSL_EVP_CIPHER* type,
unsigned char* key, unsigned char* iv,
int enc);
CYASSL_API int CyaSSL_EVP_CIPHER_CTX_key_length(CYASSL_EVP_CIPHER_CTX* ctx);
CYASSL_API int CyaSSL_EVP_CIPHER_CTX_set_key_length(CYASSL_EVP_CIPHER_CTX* ctx,
int keylen);
CYASSL_API int CyaSSL_EVP_Cipher(CYASSL_EVP_CIPHER_CTX* ctx,
unsigned char* dst, unsigned char* src,
unsigned int len);
CYASSL_API const CYASSL_EVP_MD* CyaSSL_EVP_get_digestbynid(int);
CYASSL_API CYASSL_RSA* CyaSSL_EVP_PKEY_get1_RSA(CYASSL_EVP_PKEY*);
CYASSL_API CYASSL_DSA* CyaSSL_EVP_PKEY_get1_DSA(CYASSL_EVP_PKEY*);
/* these next ones don't need real OpenSSL type, for OpenSSH compat only */
CYASSL_API void* CyaSSL_EVP_X_STATE(const CYASSL_EVP_CIPHER_CTX* ctx);
CYASSL_API int CyaSSL_EVP_X_STATE_LEN(const CYASSL_EVP_CIPHER_CTX* ctx);
CYASSL_API void CyaSSL_3des_iv(CYASSL_EVP_CIPHER_CTX* ctx, int doset,
unsigned char* iv, int len);
CYASSL_API void CyaSSL_aes_ctr_iv(CYASSL_EVP_CIPHER_CTX* ctx, int doset,
unsigned char* iv, int len);
CYASSL_API int CyaSSL_StoreExternalIV(CYASSL_EVP_CIPHER_CTX* ctx);
CYASSL_API int CyaSSL_SetInternalIV(CYASSL_EVP_CIPHER_CTX* ctx);
/* end OpenSSH compat */
typedef CYASSL_EVP_MD EVP_MD;
typedef CYASSL_EVP_CIPHER EVP_CIPHER;
typedef CYASSL_EVP_MD_CTX EVP_MD_CTX;
typedef CYASSL_EVP_CIPHER_CTX EVP_CIPHER_CTX;
#define EVP_md5 CyaSSL_EVP_md5
#define EVP_sha1 CyaSSL_EVP_sha1
#define EVP_sha256 CyaSSL_EVP_sha256
#define EVP_sha384 CyaSSL_EVP_sha384
#define EVP_sha512 CyaSSL_EVP_sha512
#define EVP_ripemd160 CyaSSL_EVP_ripemd160
#define EVP_aes_128_cbc CyaSSL_EVP_aes_128_cbc
#define EVP_aes_192_cbc CyaSSL_EVP_aes_192_cbc
#define EVP_aes_256_cbc CyaSSL_EVP_aes_256_cbc
#define EVP_aes_128_ctr CyaSSL_EVP_aes_128_ctr
#define EVP_aes_192_ctr CyaSSL_EVP_aes_192_ctr
#define EVP_aes_256_ctr CyaSSL_EVP_aes_256_ctr
#define EVP_des_cbc CyaSSL_EVP_des_cbc
#define EVP_des_ede3_cbc CyaSSL_EVP_des_ede3_cbc
#define EVP_rc4 CyaSSL_EVP_rc4
#define EVP_enc_null CyaSSL_EVP_enc_null
#define EVP_MD_size CyaSSL_EVP_MD_size
#define EVP_MD_CTX_init CyaSSL_EVP_MD_CTX_init
#define EVP_MD_CTX_cleanup CyaSSL_EVP_MD_CTX_cleanup
#define EVP_DigestInit CyaSSL_EVP_DigestInit
#define EVP_DigestUpdate CyaSSL_EVP_DigestUpdate
#define EVP_DigestFinal CyaSSL_EVP_DigestFinal
#define EVP_DigestFinal_ex CyaSSL_EVP_DigestFinal_ex
#define EVP_BytesToKey CyaSSL_EVP_BytesToKey
#define EVP_CIPHER_CTX_init CyaSSL_EVP_CIPHER_CTX_init
#define EVP_CIPHER_CTX_cleanup CyaSSL_EVP_CIPHER_CTX_cleanup
#define EVP_CIPHER_CTX_iv_length CyaSSL_EVP_CIPHER_CTX_iv_length
#define EVP_CIPHER_CTX_key_length CyaSSL_EVP_CIPHER_CTX_key_length
#define EVP_CIPHER_CTX_set_key_length CyaSSL_EVP_CIPHER_CTX_set_key_length
#define EVP_CipherInit CyaSSL_EVP_CipherInit
#define EVP_Cipher CyaSSL_EVP_Cipher
#define EVP_get_digestbynid CyaSSL_EVP_get_digestbynid
#define EVP_PKEY_get1_RSA CyaSSL_EVP_PKEY_get1_RSA
#define EVP_PKEY_get1_DSA CyaSSL_EVP_PKEY_get1_DSA
#ifndef EVP_MAX_MD_SIZE
#define EVP_MAX_MD_SIZE 64 /* sha512 */
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CYASSL_EVP_H_ */

81
wolfssl/openssl/hmac.h Normal file
View File

@ -0,0 +1,81 @@
/* hmac.h
*
* Copyright (C) 2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/* hmac.h defines mini hamc openssl compatibility layer
*
*/
#ifndef CYASSL_HMAC_H_
#define CYASSL_HMAC_H_
#include <cyassl/ctaocrypt/settings.h>
#ifdef YASSL_PREFIX
#include "prefix_hmac.h"
#endif
#include <cyassl/openssl/evp.h>
#include <cyassl/ctaocrypt/hmac.h>
#ifdef __cplusplus
extern "C" {
#endif
CYASSL_API unsigned char* CyaSSL_HMAC(const CYASSL_EVP_MD* evp_md,
const void* key, int key_len,
const unsigned char* d, int n, unsigned char* md,
unsigned int* md_len);
typedef struct CYASSL_HMAC_CTX {
Hmac hmac;
int type;
} CYASSL_HMAC_CTX;
CYASSL_API void CyaSSL_HMAC_Init(CYASSL_HMAC_CTX* ctx, const void* key,
int keylen, const EVP_MD* type);
CYASSL_API void CyaSSL_HMAC_Update(CYASSL_HMAC_CTX* ctx,
const unsigned char* data, int len);
CYASSL_API void CyaSSL_HMAC_Final(CYASSL_HMAC_CTX* ctx, unsigned char* hash,
unsigned int* len);
CYASSL_API void CyaSSL_HMAC_cleanup(CYASSL_HMAC_CTX* ctx);
typedef struct CYASSL_HMAC_CTX HMAC_CTX;
#define HMAC(a,b,c,d,e,f,g) CyaSSL_HMAC((a),(b),(c),(d),(e),(f),(g))
#define HMAC_Init CyaSSL_HMAC_Init
#define HMAC_Update CyaSSL_HMAC_Update
#define HMAC_Final CyaSSL_HMAC_Final
#define HMAC_cleanup CyaSSL_HMAC_cleanup
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CYASSL_HMAC_H_ */

View File

@ -0,0 +1,36 @@
# vim:ft=automake
# All paths should be given relative to the root
nobase_include_HEADERS+= \
cyassl/openssl/asn1.h \
cyassl/openssl/bio.h \
cyassl/openssl/bn.h \
cyassl/openssl/conf.h \
cyassl/openssl/crypto.h \
cyassl/openssl/des.h \
cyassl/openssl/dh.h \
cyassl/openssl/dsa.h \
cyassl/openssl/ecdsa.h \
cyassl/openssl/ec.h \
cyassl/openssl/engine.h \
cyassl/openssl/err.h \
cyassl/openssl/evp.h \
cyassl/openssl/hmac.h \
cyassl/openssl/lhash.h \
cyassl/openssl/md4.h \
cyassl/openssl/md5.h \
cyassl/openssl/ripemd.h \
cyassl/openssl/ocsp.h \
cyassl/openssl/opensslconf.h \
cyassl/openssl/opensslv.h \
cyassl/openssl/ossl_typ.h \
cyassl/openssl/pem.h \
cyassl/openssl/pkcs12.h \
cyassl/openssl/rand.h \
cyassl/openssl/rsa.h \
cyassl/openssl/sha.h \
cyassl/openssl/ssl.h \
cyassl/openssl/stack.h \
cyassl/openssl/ui.h \
cyassl/openssl/x509.h \
cyassl/openssl/x509v3.h

2
wolfssl/openssl/lhash.h Normal file
View File

@ -0,0 +1,2 @@
/* lhash.h for openSSL */

1
wolfssl/openssl/md4.h Normal file
View File

@ -0,0 +1 @@
/* md4.h for libcurl */

39
wolfssl/openssl/md5.h Normal file
View File

@ -0,0 +1,39 @@
/* md5.h for openssl */
#ifndef CYASSL_MD5_H_
#define CYASSL_MD5_H_
#include <cyassl/ctaocrypt/settings.h>
#ifdef YASSL_PREFIX
#include "prefix_md5.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef struct CYASSL_MD5_CTX {
int holder[24]; /* big enough to hold ctaocrypt md5, but check on init */
} CYASSL_MD5_CTX;
CYASSL_API void CyaSSL_MD5_Init(CYASSL_MD5_CTX*);
CYASSL_API void CyaSSL_MD5_Update(CYASSL_MD5_CTX*, const void*, unsigned long);
CYASSL_API void CyaSSL_MD5_Final(unsigned char*, CYASSL_MD5_CTX*);
typedef CYASSL_MD5_CTX MD5_CTX;
#define MD5_Init CyaSSL_MD5_Init
#define MD5_Update CyaSSL_MD5_Update
#define MD5_Final CyaSSL_MD5_Final
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CYASSL_MD5_H_ */

1
wolfssl/openssl/ocsp.h Normal file
View File

@ -0,0 +1 @@
/* ocsp.h for libcurl */

View File

@ -0,0 +1,8 @@
/* opensslconf.h for openSSL */
#ifndef OPENSSL_THREADS
#define OPENSSL_THREADS
#endif

View File

@ -0,0 +1,12 @@
/* opensslv.h compatibility */
#ifndef CYASSL_OPENSSLV_H_
#define CYASSL_OPENSSLV_H_
/* api version compatibility */
#define OPENSSL_VERSION_NUMBER 0x0090410fL
#endif /* header */

View File

@ -0,0 +1,2 @@
/* ossl_typ.h for openssl */

41
wolfssl/openssl/pem.h Normal file
View File

@ -0,0 +1,41 @@
/* pem.h for openssl */
#ifndef CYASSL_PEM_H_
#define CYASSL_PEM_H_
#include <cyassl/openssl/evp.h>
#include <cyassl/openssl/bio.h>
#include <cyassl/openssl/rsa.h>
#include <cyassl/openssl/dsa.h>
#ifdef __cplusplus
extern "C" {
#endif
CYASSL_API int CyaSSL_PEM_write_bio_RSAPrivateKey(CYASSL_BIO* bio, RSA* rsa,
const EVP_CIPHER* cipher,
unsigned char* passwd, int len,
pem_password_cb cb, void* arg);
CYASSL_API int CyaSSL_PEM_write_bio_DSAPrivateKey(CYASSL_BIO* bio, DSA* rsa,
const EVP_CIPHER* cipher,
unsigned char* passwd, int len,
pem_password_cb cb, void* arg);
CYASSL_API CYASSL_EVP_PKEY* CyaSSL_PEM_read_bio_PrivateKey(CYASSL_BIO* bio,
CYASSL_EVP_PKEY**, pem_password_cb cb, void* arg);
#define PEM_write_bio_RSAPrivateKey CyaSSL_PEM_write_bio_RSAPrivateKey
#define PEM_write_bio_DSAPrivateKey CyaSSL_PEM_write_bio_DSAPrivateKey
#define PEM_read_bio_PrivateKey CyaSSL_PEM_read_bio_PrivateKey
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CYASSL_PEM_H_ */

2
wolfssl/openssl/pkcs12.h Normal file
View File

@ -0,0 +1,2 @@
/* pkcs12.h for openssl */

4
wolfssl/openssl/rand.h Normal file
View File

@ -0,0 +1,4 @@
/* rand.h for openSSL */
#include <cyassl/openssl/ssl.h>

37
wolfssl/openssl/ripemd.h Normal file
View File

@ -0,0 +1,37 @@
/* ripemd.h for openssl */
#ifndef CYASSL_RIPEMD_H_
#define CYASSL_RIPEMD_H_
#include <cyassl/ctaocrypt/settings.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct CYASSL_RIPEMD_CTX {
int holder[32]; /* big enough to hold ctaocrypt, but check on init */
} CYASSL_RIPEMD_CTX;
CYASSL_API void CyaSSL_RIPEMD_Init(CYASSL_RIPEMD_CTX*);
CYASSL_API void CyaSSL_RIPEMD_Update(CYASSL_RIPEMD_CTX*, const void*,
unsigned long);
CYASSL_API void CyaSSL_RIPEMD_Final(unsigned char*, CYASSL_RIPEMD_CTX*);
typedef CYASSL_RIPEMD_CTX RIPEMD_CTX;
#define RIPEMD_Init CyaSSL_RIPEMD_Init
#define RIPEMD_Update CyaSSL_RIPEMD_Update
#define RIPEMD_Final CyaSSL_RIPEMD_Final
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CYASSL_MD5_H_ */

75
wolfssl/openssl/rsa.h Normal file
View File

@ -0,0 +1,75 @@
/* rsa.h for openSSL */
#ifndef CYASSL_RSA_H_
#define CYASSL_RSA_H_
#include <cyassl/openssl/ssl.h>
#include <cyassl/openssl/bn.h>
#ifdef __cplusplus
extern "C" {
#endif
enum {
RSA_PKCS1_PADDING = 1
};
struct CYASSL_RSA {
CYASSL_BIGNUM* n;
CYASSL_BIGNUM* e;
CYASSL_BIGNUM* d;
CYASSL_BIGNUM* p;
CYASSL_BIGNUM* q;
CYASSL_BIGNUM* dmp1; /* dP */
CYASSL_BIGNUM* dmq1; /* dQ */
CYASSL_BIGNUM* iqmp; /* u */
void* internal; /* our RSA */
char inSet; /* internal set from external ? */
char exSet; /* external set from internal ? */
};
CYASSL_API CYASSL_RSA* CyaSSL_RSA_new(void);
CYASSL_API void CyaSSL_RSA_free(CYASSL_RSA*);
CYASSL_API int CyaSSL_RSA_generate_key_ex(CYASSL_RSA*, int bits, CYASSL_BIGNUM*,
void* cb);
CYASSL_API int CyaSSL_RSA_blinding_on(CYASSL_RSA*, CYASSL_BN_CTX*);
CYASSL_API int CyaSSL_RSA_public_encrypt(int len, unsigned char* fr,
unsigned char* to, CYASSL_RSA*, int padding);
CYASSL_API int CyaSSL_RSA_private_decrypt(int len, unsigned char* fr,
unsigned char* to, CYASSL_RSA*, int padding);
CYASSL_API int CyaSSL_RSA_size(const CYASSL_RSA*);
CYASSL_API int CyaSSL_RSA_sign(int type, const unsigned char* m,
unsigned int mLen, unsigned char* sigRet,
unsigned int* sigLen, CYASSL_RSA*);
CYASSL_API int CyaSSL_RSA_public_decrypt(int flen, unsigned char* from,
unsigned char* to, CYASSL_RSA*, int padding);
CYASSL_API int CyaSSL_RSA_GenAdd(CYASSL_RSA*);
CYASSL_API int CyaSSL_RSA_LoadDer(CYASSL_RSA*, const unsigned char*, int sz);
#define RSA_new CyaSSL_RSA_new
#define RSA_free CyaSSL_RSA_free
#define RSA_generate_key_ex CyaSSL_RSA_generate_key_ex
#define RSA_blinding_on CyaSSL_RSA_blinding_on
#define RSA_public_encrypt CyaSSL_RSA_public_encrypt
#define RSA_private_decrypt CyaSSL_RSA_private_decrypt
#define RSA_size CyaSSL_RSA_size
#define RSA_sign CyaSSL_RSA_sign
#define RSA_public_decrypt CyaSSL_RSA_public_decrypt
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* header */

125
wolfssl/openssl/sha.h Normal file
View File

@ -0,0 +1,125 @@
/* sha.h for openssl */
#ifndef CYASSL_SHA_H_
#define CYASSL_SHA_H_
#include <cyassl/ctaocrypt/settings.h>
#ifdef YASSL_PREFIX
#include "prefix_sha.h"
#endif
#ifdef __cplusplus
extern "C" {
#endif
typedef struct CYASSL_SHA_CTX {
int holder[24]; /* big enough to hold ctaocrypt sha, but check on init */
} CYASSL_SHA_CTX;
CYASSL_API void CyaSSL_SHA_Init(CYASSL_SHA_CTX*);
CYASSL_API void CyaSSL_SHA_Update(CYASSL_SHA_CTX*, const void*, unsigned long);
CYASSL_API void CyaSSL_SHA_Final(unsigned char*, CYASSL_SHA_CTX*);
/* SHA1 points to above, shouldn't use SHA0 ever */
CYASSL_API void CyaSSL_SHA1_Init(CYASSL_SHA_CTX*);
CYASSL_API void CyaSSL_SHA1_Update(CYASSL_SHA_CTX*, const void*, unsigned long);
CYASSL_API void CyaSSL_SHA1_Final(unsigned char*, CYASSL_SHA_CTX*);
enum {
SHA_DIGEST_LENGTH = 20
};
typedef CYASSL_SHA_CTX SHA_CTX;
#define SHA_Init CyaSSL_SHA_Init
#define SHA_Update CyaSSL_SHA_Update
#define SHA_Final CyaSSL_SHA_Final
#define SHA1_Init CyaSSL_SHA1_Init
#define SHA1_Update CyaSSL_SHA1_Update
#define SHA1_Final CyaSSL_SHA1_Final
typedef struct CYASSL_SHA256_CTX {
int holder[28]; /* big enough to hold ctaocrypt sha, but check on init */
} CYASSL_SHA256_CTX;
CYASSL_API void CyaSSL_SHA256_Init(CYASSL_SHA256_CTX*);
CYASSL_API void CyaSSL_SHA256_Update(CYASSL_SHA256_CTX*, const void*,
unsigned long);
CYASSL_API void CyaSSL_SHA256_Final(unsigned char*, CYASSL_SHA256_CTX*);
enum {
SHA256_DIGEST_LENGTH = 32
};
typedef CYASSL_SHA256_CTX SHA256_CTX;
#define SHA256_Init CyaSSL_SHA256_Init
#define SHA256_Update CyaSSL_SHA256_Update
#define SHA256_Final CyaSSL_SHA256_Final
#ifdef CYASSL_SHA384
typedef struct CYASSL_SHA384_CTX {
long long holder[32]; /* big enough, but check on init */
} CYASSL_SHA384_CTX;
CYASSL_API void CyaSSL_SHA384_Init(CYASSL_SHA384_CTX*);
CYASSL_API void CyaSSL_SHA384_Update(CYASSL_SHA384_CTX*, const void*,
unsigned long);
CYASSL_API void CyaSSL_SHA384_Final(unsigned char*, CYASSL_SHA384_CTX*);
enum {
SHA384_DIGEST_LENGTH = 48
};
typedef CYASSL_SHA384_CTX SHA384_CTX;
#define SHA384_Init CyaSSL_SHA384_Init
#define SHA384_Update CyaSSL_SHA384_Update
#define SHA384_Final CyaSSL_SHA384_Final
#endif /* CYASSL_SHA384 */
#ifdef CYASSL_SHA512
typedef struct CYASSL_SHA512_CTX {
long long holder[36]; /* big enough, but check on init */
} CYASSL_SHA512_CTX;
CYASSL_API void CyaSSL_SHA512_Init(CYASSL_SHA512_CTX*);
CYASSL_API void CyaSSL_SHA512_Update(CYASSL_SHA512_CTX*, const void*,
unsigned long);
CYASSL_API void CyaSSL_SHA512_Final(unsigned char*, CYASSL_SHA512_CTX*);
enum {
SHA512_DIGEST_LENGTH = 64
};
typedef CYASSL_SHA512_CTX SHA512_CTX;
#define SHA512_Init CyaSSL_SHA512_Init
#define SHA512_Update CyaSSL_SHA512_Update
#define SHA512_Final CyaSSL_SHA512_Final
#endif /* CYASSL_SHA512 */
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CYASSL_SHA_H_ */

382
wolfssl/openssl/ssl.h Normal file
View File

@ -0,0 +1,382 @@
/* ssl.h
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* a with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/* ssl.h defines openssl compatibility layer
*
*/
#ifndef CYASSL_OPENSSL_H_
#define CYASSL_OPENSSL_H_
#include <cyassl/ssl.h>
#include <wolfssl/ssl.h>
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _WIN32
/* wincrypt.h clashes */
#undef X509_NAME
#endif
typedef CYASSL SSL;
typedef CYASSL_SESSION SSL_SESSION;
typedef CYASSL_METHOD SSL_METHOD;
typedef CYASSL_CTX SSL_CTX;
typedef CYASSL_X509 X509;
typedef CYASSL_X509_NAME X509_NAME;
typedef CYASSL_X509_CHAIN X509_CHAIN;
/* redeclare guard */
#define CYASSL_TYPES_DEFINED
typedef CYASSL_EVP_PKEY EVP_PKEY;
typedef CYASSL_RSA RSA;
typedef CYASSL_DSA DSA;
typedef CYASSL_BIO BIO;
typedef CYASSL_BIO_METHOD BIO_METHOD;
typedef CYASSL_CIPHER SSL_CIPHER;
typedef CYASSL_X509_LOOKUP X509_LOOKUP;
typedef CYASSL_X509_LOOKUP_METHOD X509_LOOKUP_METHOD;
typedef CYASSL_X509_CRL X509_CRL;
typedef CYASSL_X509_EXTENSION X509_EXTENSION;
typedef CYASSL_ASN1_TIME ASN1_TIME;
typedef CYASSL_ASN1_INTEGER ASN1_INTEGER;
typedef CYASSL_ASN1_OBJECT ASN1_OBJECT;
typedef CYASSL_ASN1_STRING ASN1_STRING;
typedef CYASSL_dynlock_value CRYPTO_dynlock_value;
#define ASN1_UTCTIME CYASSL_ASN1_TIME
typedef CYASSL_MD4_CTX MD4_CTX;
typedef CYASSL_COMP_METHOD COMP_METHOD;
typedef CYASSL_X509_STORE X509_STORE;
typedef CYASSL_X509_REVOKED X509_REVOKED;
typedef CYASSL_X509_OBJECT X509_OBJECT;
typedef CYASSL_X509_STORE_CTX X509_STORE_CTX;
#define SSLv3_server_method wolfSSLv3_server_method
#define SSLv3_client_method wolfSSLv3_client_method
#define TLSv1_server_method wolfTLSv1_server_method
#define TLSv1_client_method wolfTLSv1_client_method
#define TLSv1_1_server_method wolfTLSv1_1_server_method
#define TLSv1_1_client_method wolfTLSv1_1_client_method
#define TLSv1_2_server_method wolfTLSv1_2_server_method
#define TLSv1_2_client_method wolfTLSv1_2_client_method
#ifdef CYASSL_DTLS
#define DTLSv1_client_method wolfDTLSv1_client_method
#define DTLSv1_server_method wolfDTLSv1_server_method
#define DTLSv1_2_client_method wolfDTLSv1_2_client_method
#define DTLSv1_2_server_method wolfDTLSv1_2_server_method
#endif
#ifndef NO_FILESYSTEM
#define SSL_CTX_use_certificate_file CyaSSL_CTX_use_certificate_file
#define SSL_CTX_use_PrivateKey_file CyaSSL_CTX_use_PrivateKey_file
#define SSL_CTX_load_verify_locations CyaSSL_CTX_load_verify_locations
#define SSL_CTX_use_certificate_chain_file CyaSSL_CTX_use_certificate_chain_file
#define SSL_CTX_use_RSAPrivateKey_file CyaSSL_CTX_use_RSAPrivateKey_file
#define SSL_use_certificate_file CyaSSL_use_certificate_file
#define SSL_use_PrivateKey_file CyaSSL_use_PrivateKey_file
#define SSL_use_certificate_chain_file CyaSSL_use_certificate_chain_file
#define SSL_use_RSAPrivateKey_file CyaSSL_use_RSAPrivateKey_file
#endif
#define SSL_CTX_new CyaSSL_CTX_new
#define SSL_new CyaSSL_new
#define SSL_set_fd CyaSSL_set_fd
#define SSL_get_fd CyaSSL_get_fd
#define SSL_connect CyaSSL_connect
#define SSL_write CyaSSL_write
#define SSL_read CyaSSL_read
#define SSL_peek CyaSSL_peek
#define SSL_accept CyaSSL_accept
#define SSL_CTX_free CyaSSL_CTX_free
#define SSL_free CyaSSL_free
#define SSL_shutdown CyaSSL_shutdown
#define SSL_CTX_set_quiet_shutdown CyaSSL_CTX_set_quiet_shutdown
#define SSL_set_quiet_shutdown CyaSSL_set_quiet_shutdown
#define SSL_get_error CyaSSL_get_error
#define SSL_set_session CyaSSL_set_session
#define SSL_get_session CyaSSL_get_session
#define SSL_flush_sessions CyaSSL_flush_sessions
#define SSL_CTX_set_verify CyaSSL_CTX_set_verify
#define SSL_set_verify CyaSSL_set_verify
#define SSL_pending CyaSSL_pending
#define SSL_load_error_strings CyaSSL_load_error_strings
#define SSL_library_init CyaSSL_library_init
#define SSL_CTX_set_session_cache_mode CyaSSL_CTX_set_session_cache_mode
#define SSL_CTX_set_cipher_list CyaSSL_CTX_set_cipher_list
#define SSL_set_cipher_list CyaSSL_set_cipher_list
#define ERR_error_string CyaSSL_ERR_error_string
#define ERR_error_string_n CyaSSL_ERR_error_string_n
#define ERR_reason_error_string CyaSSL_ERR_reason_error_string
#define SSL_set_ex_data CyaSSL_set_ex_data
#define SSL_get_shutdown CyaSSL_get_shutdown
#define SSL_set_rfd CyaSSL_set_rfd
#define SSL_set_wfd CyaSSL_set_wfd
#define SSL_set_shutdown CyaSSL_set_shutdown
#define SSL_set_session_id_context CyaSSL_set_session_id_context
#define SSL_set_connect_state CyaSSL_set_connect_state
#define SSL_set_accept_state CyaSSL_set_accept_state
#define SSL_session_reused CyaSSL_session_reused
#define SSL_SESSION_free CyaSSL_SESSION_free
#define SSL_is_init_finished CyaSSL_is_init_finished
#define SSL_get_version CyaSSL_get_version
#define SSL_get_current_cipher CyaSSL_get_current_cipher
#define SSL_get_cipher CyaSSL_get_cipher
#define SSL_CIPHER_description CyaSSL_CIPHER_description
#define SSL_CIPHER_get_name CyaSSL_CIPHER_get_name
#define SSL_get1_session CyaSSL_get1_session
#define SSL_get_keyblock_size CyaSSL_get_keyblock_size
#define SSL_get_keys CyaSSL_get_keys
#define X509_free CyaSSL_X509_free
#define OPENSSL_free CyaSSL_OPENSSL_free
#define OCSP_parse_url CyaSSL_OCSP_parse_url
#define SSLv23_client_method CyaSSLv23_client_method
#define SSLv2_client_method CyaSSLv2_client_method
#define SSLv2_server_method CyaSSLv2_server_method
#define MD4_Init CyaSSL_MD4_Init
#define MD4_Update CyaSSL_MD4_Update
#define MD4_Final CyaSSL_MD4_Final
#define BIO_new CyaSSL_BIO_new
#define BIO_free CyaSSL_BIO_free
#define BIO_free_all CyaSSL_BIO_free_all
#define BIO_read CyaSSL_BIO_read
#define BIO_write CyaSSL_BIO_write
#define BIO_push CyaSSL_BIO_push
#define BIO_pop CyaSSL_BIO_pop
#define BIO_flush CyaSSL_BIO_flush
#define BIO_pending CyaSSL_BIO_pending
#define BIO_get_mem_data CyaSSL_BIO_get_mem_data
#define BIO_new_mem_buf CyaSSL_BIO_new_mem_buf
#define BIO_f_buffer CyaSSL_BIO_f_buffer
#define BIO_set_write_buffer_size CyaSSL_BIO_set_write_buffer_size
#define BIO_f_ssl CyaSSL_BIO_f_ssl
#define BIO_new_socket CyaSSL_BIO_new_socket
#define SSL_set_bio CyaSSL_set_bio
#define BIO_eof CyaSSL_BIO_eof
#define BIO_set_ss CyaSSL_BIO_set_ss
#define BIO_s_mem CyaSSL_BIO_s_mem
#define BIO_f_base64 CyaSSL_BIO_f_base64
#define BIO_set_flags CyaSSL_BIO_set_flags
#define OpenSSL_add_all_algorithms CyaSSL_add_all_algorithms
#define SSLeay_add_ssl_algorithms CyaSSL_add_all_algorithms
#define SSLeay_add_all_algorithms CyaSSL_add_all_algorithms
#define RAND_screen CyaSSL_RAND_screen
#define RAND_file_name CyaSSL_RAND_file_name
#define RAND_write_file CyaSSL_RAND_write_file
#define RAND_load_file CyaSSL_RAND_load_file
#define RAND_egd CyaSSL_RAND_egd
#define RAND_seed CyaSSL_RAND_seed
#define RAND_add CyaSSL_RAND_add
#define COMP_zlib CyaSSL_COMP_zlib
#define COMP_rle CyaSSL_COMP_rle
#define SSL_COMP_add_compression_method CyaSSL_COMP_add_compression_method
#define SSL_get_ex_new_index CyaSSL_get_ex_new_index
#define CRYPTO_set_id_callback CyaSSL_set_id_callback
#define CRYPTO_set_locking_callback CyaSSL_set_locking_callback
#define CRYPTO_set_dynlock_create_callback CyaSSL_set_dynlock_create_callback
#define CRYPTO_set_dynlock_lock_callback CyaSSL_set_dynlock_lock_callback
#define CRYPTO_set_dynlock_destroy_callback CyaSSL_set_dynlock_destroy_callback
#define CRYPTO_num_locks CyaSSL_num_locks
#define X509_STORE_CTX_get_current_cert CyaSSL_X509_STORE_CTX_get_current_cert
#define X509_STORE_CTX_get_error CyaSSL_X509_STORE_CTX_get_error
#define X509_STORE_CTX_get_error_depth CyaSSL_X509_STORE_CTX_get_error_depth
#define X509_NAME_oneline CyaSSL_X509_NAME_oneline
#define X509_get_issuer_name CyaSSL_X509_get_issuer_name
#define X509_get_subject_name CyaSSL_X509_get_subject_name
#define X509_verify_cert_error_string CyaSSL_X509_verify_cert_error_string
#define X509_LOOKUP_add_dir CyaSSL_X509_LOOKUP_add_dir
#define X509_LOOKUP_load_file CyaSSL_X509_LOOKUP_load_file
#define X509_LOOKUP_hash_dir CyaSSL_X509_LOOKUP_hash_dir
#define X509_LOOKUP_file CyaSSL_X509_LOOKUP_file
#define X509_STORE_add_lookup CyaSSL_X509_STORE_add_lookup
#define X509_STORE_new CyaSSL_X509_STORE_new
#define X509_STORE_get_by_subject CyaSSL_X509_STORE_get_by_subject
#define X509_STORE_CTX_init CyaSSL_X509_STORE_CTX_init
#define X509_STORE_CTX_cleanup CyaSSL_X509_STORE_CTX_cleanup
#define X509_CRL_get_lastUpdate CyaSSL_X509_CRL_get_lastUpdate
#define X509_CRL_get_nextUpdate CyaSSL_X509_CRL_get_nextUpdate
#define X509_get_pubkey CyaSSL_X509_get_pubkey
#define X509_CRL_verify CyaSSL_X509_CRL_verify
#define X509_STORE_CTX_set_error CyaSSL_X509_STORE_CTX_set_error
#define X509_OBJECT_free_contents CyaSSL_X509_OBJECT_free_contents
#define EVP_PKEY_free CyaSSL_EVP_PKEY_free
#define X509_cmp_current_time CyaSSL_X509_cmp_current_time
#define sk_X509_REVOKED_num CyaSSL_sk_X509_REVOKED_num
#define X509_CRL_get_REVOKED CyaSSL_X509_CRL_get_REVOKED
#define sk_X509_REVOKED_value CyaSSL_sk_X509_REVOKED_value
#define X509_get_serialNumber CyaSSL_X509_get_serialNumber
#define ASN1_TIME_pr CyaSSL_ASN1_TIME_pr
#define ASN1_INTEGER_cmp CyaSSL_ASN1_INTEGER_cmp
#define ASN1_INTEGER_get CyaSSL_ASN1_INTEGER_get
#define SSL_load_client_CA_file CyaSSL_load_client_CA_file
#define SSL_CTX_set_client_CA_list CyaSSL_CTX_set_client_CA_list
#define X509_STORE_CTX_get_ex_data CyaSSL_X509_STORE_CTX_get_ex_data
#define SSL_get_ex_data_X509_STORE_CTX_idx CyaSSL_get_ex_data_X509_STORE_CTX_idx
#define SSL_get_ex_data CyaSSL_get_ex_data
#define SSL_CTX_set_default_passwd_cb_userdata CyaSSL_CTX_set_default_passwd_cb_userdata
#define SSL_CTX_set_default_passwd_cb CyaSSL_CTX_set_default_passwd_cb
#define SSL_CTX_set_timeout CyaSSL_CTX_set_timeout
#define SSL_CTX_set_info_callback CyaSSL_CTX_set_info_callback
#define ERR_peek_error CyaSSL_ERR_peek_error
#define ERR_GET_REASON CyaSSL_ERR_GET_REASON
#define SSL_alert_type_string CyaSSL_alert_type_string
#define SSL_alert_desc_string CyaSSL_alert_desc_string
#define SSL_state_string CyaSSL_state_string
#define RSA_free CyaSSL_RSA_free
#define RSA_generate_key CyaSSL_RSA_generate_key
#define SSL_CTX_set_tmp_rsa_callback CyaSSL_CTX_set_tmp_rsa_callback
#define PEM_def_callback CyaSSL_PEM_def_callback
#define SSL_CTX_sess_accept CyaSSL_CTX_sess_accept
#define SSL_CTX_sess_connect CyaSSL_CTX_sess_connect
#define SSL_CTX_sess_accept_good CyaSSL_CTX_sess_accept_good
#define SSL_CTX_sess_connect_good CyaSSL_CTX_sess_connect_good
#define SSL_CTX_sess_accept_renegotiate CyaSSL_CTX_sess_accept_renegotiate
#define SSL_CTX_sess_connect_renegotiate CyaSSL_CTX_sess_connect_renegotiate
#define SSL_CTX_sess_hits CyaSSL_CTX_sess_hits
#define SSL_CTX_sess_cb_hits CyaSSL_CTX_sess_cb_hits
#define SSL_CTX_sess_cache_full CyaSSL_CTX_sess_cache_full
#define SSL_CTX_sess_misses CyaSSL_CTX_sess_misses
#define SSL_CTX_sess_timeouts CyaSSL_CTX_sess_timeouts
#define SSL_CTX_sess_number CyaSSL_CTX_sess_number
#define SSL_CTX_sess_get_cache_size CyaSSL_CTX_sess_get_cache_size
#define SSL_DEFAULT_CIPHER_LIST CYASSL_DEFAULT_CIPHER_LIST
#define RSA_F4 CYASSL_RSA_F4
#define SSL_CTX_set_psk_client_callback CyaSSL_CTX_set_psk_client_callback
#define SSL_set_psk_client_callback CyaSSL_set_psk_client_callback
#define SSL_get_psk_identity_hint CyaSSL_get_psk_identity_hint
#define SSL_get_psk_identity CyaSSL_get_psk_identity
#define SSL_CTX_use_psk_identity_hint CyaSSL_CTX_use_psk_identity_hint
#define SSL_use_psk_identity_hint CyaSSL_use_psk_identity_hint
#define SSL_CTX_set_psk_server_callback CyaSSL_CTX_set_psk_server_callback
#define SSL_set_psk_server_callback CyaSSL_set_psk_server_callback
#define ERR_get_error_line_data CyaSSL_ERR_get_error_line_data
#define ERR_get_error CyaSSL_ERR_get_error
#define ERR_clear_error CyaSSL_ERR_clear_error
#define RAND_status CyaSSL_RAND_status
#define RAND_bytes CyaSSL_RAND_bytes
#define SSLv23_server_method CyaSSLv23_server_method
#define SSL_CTX_set_options CyaSSL_CTX_set_options
#define SSL_CTX_check_private_key CyaSSL_CTX_check_private_key
#define ERR_free_strings CyaSSL_ERR_free_strings
#define ERR_remove_state CyaSSL_ERR_remove_state
#define EVP_cleanup CyaSSL_EVP_cleanup
#define CRYPTO_cleanup_all_ex_data CyaSSL_cleanup_all_ex_data
#define SSL_CTX_set_mode CyaSSL_CTX_set_mode
#define SSL_CTX_get_mode CyaSSL_CTX_get_mode
#define SSL_CTX_set_default_read_ahead CyaSSL_CTX_set_default_read_ahead
#define SSL_CTX_sess_set_cache_size CyaSSL_CTX_sess_set_cache_size
#define SSL_CTX_set_default_verify_paths CyaSSL_CTX_set_default_verify_paths
#define SSL_CTX_set_session_id_context CyaSSL_CTX_set_session_id_context
#define SSL_get_peer_certificate CyaSSL_get_peer_certificate
#define SSL_want_read CyaSSL_want_read
#define SSL_want_write CyaSSL_want_write
#define BIO_prf CyaSSL_BIO_prf
#define ASN1_UTCTIME_pr CyaSSL_ASN1_UTCTIME_pr
#define sk_num CyaSSL_sk_num
#define sk_value CyaSSL_sk_value
#define SSL_CTX_get_ex_data CyaSSL_CTX_get_ex_data
#define SSL_CTX_set_ex_data CyaSSL_CTX_set_ex_data
#define SSL_CTX_sess_set_get_cb CyaSSL_CTX_sess_set_get_cb
#define SSL_CTX_sess_set_new_cb CyaSSL_CTX_sess_set_new_cb
#define SSL_CTX_sess_set_remove_cb CyaSSL_CTX_sess_set_remove_cb
#define i2d_SSL_SESSION CyaSSL_i2d_SSL_SESSION
#define d2i_SSL_SESSION CyaSSL_d2i_SSL_SESSION
#define SSL_SESSION_get_timeout CyaSSL_SESSION_get_timeout
#define SSL_SESSION_get_time CyaSSL_SESSION_get_time
#define SSL_CTX_get_ex_new_index CyaSSL_CTX_get_ex_new_index
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CyaSSL_openssl_h__ */

2
wolfssl/openssl/stack.h Normal file
View File

@ -0,0 +1,2 @@
/* stack.h for openssl */

2
wolfssl/openssl/ui.h Normal file
View File

@ -0,0 +1,2 @@
/* ui.h for openssl */

3
wolfssl/openssl/x509.h Normal file
View File

@ -0,0 +1,3 @@
/* x509.h for openssl */
#include <cyassl/openssl/ssl.h>

2
wolfssl/openssl/x509v3.h Normal file
View File

@ -0,0 +1,2 @@
/* x509v3.h for openssl */

56
wolfssl/options.h Normal file
View File

@ -0,0 +1,56 @@
/* cyassl options.h
* generated from configure options
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
*/
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#undef _POSIX_THREADS
#define _POSIX_THREADS
#undef HAVE_THREAD_LS
#define HAVE_THREAD_LS
#undef NDEBUG
#define NDEBUG
#undef NO_DSA
#define NO_DSA
#undef NO_PSK
#define NO_PSK
#undef NO_DH
#define NO_DH
#undef NO_MD4
#define NO_MD4
#undef NO_PWDBASED
#define NO_PWDBASED
#undef NO_HC128
#define NO_HC128
#undef NO_RABBIT
#define NO_RABBIT
#undef HAVE_HASHDRBG
#define HAVE_HASHDRBG
#undef HAVE_PKCS7
#define HAVE_PKCS7
#ifdef __cplusplus
}
#endif

34
wolfssl/options.h.in Normal file
View File

@ -0,0 +1,34 @@
/* options.h.in
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/* default blank options for autoconf */
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif

80
wolfssl/sniffer.h Normal file
View File

@ -0,0 +1,80 @@
/* sniffer.h
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef CYASSL_SNIFFER_H
#define CYASSL_SNIFFER_H
#include <cyassl/ctaocrypt/settings.h>
#ifdef _WIN32
#ifdef SSL_SNIFFER_EXPORTS
#define SSL_SNIFFER_API __declspec(dllexport)
#else
#define SSL_SNIFFER_API __declspec(dllimport)
#endif
#else
#define SSL_SNIFFER_API
#endif /* _WIN32 */
#ifdef __cplusplus
extern "C" {
#endif
CYASSL_API
SSL_SNIFFER_API int ssl_SetPrivateKey(const char* address, int port,
const char* keyFile, int keyType,
const char* password, char* error);
CYASSL_API
SSL_SNIFFER_API int ssl_SetNamedPrivateKey(const char* name,
const char* address, int port,
const char* keyFile, int keyType,
const char* password, char* error);
CYASSL_API
SSL_SNIFFER_API int ssl_DecodePacket(const unsigned char* packet, int length,
unsigned char* data, char* error);
CYASSL_API
SSL_SNIFFER_API int ssl_Trace(const char* traceFile, char* error);
CYASSL_API void ssl_InitSniffer(void);
CYASSL_API void ssl_FreeSniffer(void);
/* ssl_SetPrivateKey keyTypes */
enum {
FILETYPE_PEM = 1,
FILETYPE_DER = 2,
};
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CyaSSL_SNIFFER_H */

112
wolfssl/sniffer_error.h Normal file
View File

@ -0,0 +1,112 @@
/* sniffer_error.h
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef CYASSL_SNIFFER_ERROR_H
#define CYASSL_SNIFFER_ERROR_H
/* need to have errors as #defines since .rc files can't handle enums */
/* need to start at 1 and go in order for same reason */
#define MEMORY_STR 1
#define NEW_SERVER_STR 2
#define IP_CHECK_STR 3
#define SERVER_NOT_REG_STR 4
#define TCP_CHECK_STR 5
#define SERVER_PORT_NOT_REG_STR 6
#define RSA_DECRYPT_STR 7
#define RSA_DECODE_STR 8
#define BAD_CIPHER_SPEC_STR 9
#define SERVER_HELLO_INPUT_STR 10
#define BAD_SESSION_RESUME_STR 11
#define SERVER_DID_RESUMPTION_STR 12
#define CLIENT_HELLO_INPUT_STR 13
#define CLIENT_RESUME_TRY_STR 14
#define HANDSHAKE_INPUT_STR 15
#define GOT_HELLO_VERIFY_STR 16
#define GOT_SERVER_HELLO_STR 17
#define GOT_CERT_REQ_STR 18
#define GOT_SERVER_KEY_EX_STR 19
#define GOT_CERT_STR 20
#define GOT_SERVER_HELLO_DONE_STR 21
#define GOT_FINISHED_STR 22
#define GOT_CLIENT_HELLO_STR 23
#define GOT_CLIENT_KEY_EX_STR 24
#define GOT_CERT_VER_STR 25
#define GOT_UNKNOWN_HANDSHAKE_STR 26
#define NEW_SESSION_STR 27
#define BAD_NEW_SSL_STR 28
#define GOT_PACKET_STR 29
#define NO_DATA_STR 30
#define BAD_SESSION_STR 31
#define GOT_OLD_CLIENT_HELLO_STR 32
#define OLD_CLIENT_INPUT_STR 33
#define OLD_CLIENT_OK_STR 34
#define BAD_OLD_CLIENT_STR 35
#define BAD_RECORD_HDR_STR 36
#define RECORD_INPUT_STR 37
#define GOT_HANDSHAKE_STR 38
#define BAD_HANDSHAKE_STR 39
#define GOT_CHANGE_CIPHER_STR 40
#define GOT_APP_DATA_STR 41
#define BAD_APP_DATA_STR 42
#define GOT_ALERT_STR 43
#define ANOTHER_MSG_STR 44
#define REMOVE_SESSION_STR 45
#define KEY_FILE_STR 46
#define BAD_IPVER_STR 47
#define BAD_PROTO_STR 48
#define PACKET_HDR_SHORT_STR 49
#define GOT_UNKNOWN_RECORD_STR 50
#define BAD_TRACE_FILE_STR 51
#define FATAL_ERROR_STR 52
#define PARTIAL_INPUT_STR 53
#define BUFFER_ERROR_STR 54
#define PARTIAL_ADD_STR 55
#define DUPLICATE_STR 56
#define OUT_OF_ORDER_STR 57
#define OVERLAP_DUPLICATE_STR 58
#define OVERLAP_REASSEMBLY_BEGIN_STR 59
#define OVERLAP_REASSEMBLY_END_STR 60
#define MISSED_CLIENT_HELLO_STR 61
#define GOT_HELLO_REQUEST_STR 62
#define GOT_SESSION_TICKET_STR 63
#define BAD_INPUT_STR 64
#define BAD_DECRYPT_TYPE 65
#define BAD_FINISHED_MSG 66
#define BAD_COMPRESSION_STR 67
#define BAD_DERIVE_STR 68
#define ACK_MISSED_STR 69
#define BAD_DECRYPT 70
#define DECRYPT_KEYS_NOT_SETUP 71
#define CLIENT_HELLO_LATE_KEY_STR 72
/* !!!! also add to msgTable in sniffer.c and .rc file !!!! */
#endif /* CyaSSL_SNIFFER_ERROR_H */

91
wolfssl/sniffer_error.rc Normal file
View File

@ -0,0 +1,91 @@
STRINGTABLE
{
1, "Out of Memory"
2, "New SSL Sniffer Server Registered"
3, "Checking IP Header"
4, "SSL Sniffer Server Not Registered"
5, "Checking TCP Header"
6, "SSL Sniffer Server Port Not Registered"
7, "RSA Private Decrypt Error"
8, "RSA Private Decode Error"
9, "Set Cipher Spec Error"
10, "Server Hello Input Malformed"
11, "Couldn't Resume Session Error"
12, "Server Did Resumption"
13, "Client Hello Input Malformed"
14, "Client Trying to Resume"
15, "Handshake Input Malformed"
16, "Got Hello Verify msg"
17, "Got Server Hello msg"
18, "Got Cert Request msg"
19, "Got Server Key Exchange msg"
20, "Got Cert msg"
21, "Got Server Hello Done msg"
22, "Got Finished msg"
23, "Got Client Hello msg"
24, "Got Client Key Exchange msg"
25, "Got Cert Verify msg"
26, "Got Unknown Handshake msg"
27, "New SSL Sniffer Session created"
28, "Couldn't create new SSL"
29, "Got a Packet to decode"
30, "No data present"
31, "Session Not Found"
32, "Got an Old Client Hello msg"
33, "Old Client Hello Input Malformed"
34, "Old Client Hello OK"
35, "Bad Old Client Hello"
36, "Bad Record Header"
37, "Record Header Input Malformed"
38, "Got a HandShake msg"
39, "Bad HandShake msg"
40, "Got a Change Cipher Spec msg"
41, "Got Application Data msg"
42, "Bad Application Data"
43, "Got an Alert msg"
44, "Another msg to Process"
45, "Removing Session From Table"
46, "Bad Key File"
47, "Wrong IP Version"
48, "Wrong Protocol type"
49, "Packet Short for header processing"
50, "Got Unknown Record Type"
51, "Can't Open Trace File"
52, "Session in Fatal Error State"
53, "Partial SSL record received"
54, "Buffer Error, malformed input"
55, "Added to Partial Input"
56, "Received a Duplicate Packet"
57, "Received an Out of Order Packet"
58, "Received an Overlap Duplicate Packet"
59, "Received an Overlap Reassembly Begin Duplicate Packet"
60, "Received an Overlap Reassembly End Duplicate Packet"
61, "Missed the Client Hello Entirely"
62, "Got Hello Request msg"
63, "Got Session Ticket msg"
64, "Bad Input"
65, "Bad Decrypt Type"
66, "Bad Finished Message Processing"
67, "Bad Compression Type"
68, "Bad DeriveKeys Error"
69, "Saw ACK for Missing Packet Error"
70, "Bad Decrypt Operation"
71, "Decrypt Keys Not Set Up"
72, "Late Key Load Error"
}

1795
wolfssl/test.h Normal file

File diff suppressed because it is too large Load Diff

35
wolfssl/version.h Normal file
View File

@ -0,0 +1,35 @@
/* cyassl_version.h.in
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#define LIBCYASSL_VERSION_STRING "3.3.0"
#define LIBCYASSL_VERSION_HEX 0x03003000
#ifdef __cplusplus
}
#endif

35
wolfssl/version.h.in Normal file
View File

@ -0,0 +1,35 @@
/* cyassl_version.h.in
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#define LIBCYASSL_VERSION_STRING "@VERSION@"
#define LIBCYASSL_VERSION_HEX @HEX_VERSION@
#ifdef __cplusplus
}
#endif