This commit is contained in:
Ludovic FLAMENT
2015-10-14 20:53:30 +02:00
parent 10f5154389
commit ee8537fb6d
76 changed files with 6524 additions and 28836 deletions

View File

@@ -1,4 +1,4 @@
/* config-FS.h /* config-Crypt.h
* *
* Copyright (C) 2006-2015 wolfSSL Inc. * Copyright (C) 2006-2015 wolfSSL Inc.
* *
@@ -26,7 +26,7 @@
// <h>Cert/Key Strage // <h>Cert/Key Strage
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes) // <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
#define MDK_CONF_CERT_BUFF 0 #define MDK_CONF_CERT_BUFF 2
#if MDK_CONF_CERT_BUFF== 1 #if MDK_CONF_CERT_BUFF== 1
#define USE_CERT_BUFFERS_1024 #define USE_CERT_BUFFERS_1024
#elif MDK_CONF_CERT_BUFF == 2 #elif MDK_CONF_CERT_BUFF == 2
@@ -36,13 +36,10 @@
// <h>Crypt Algrithm // <h>Crypt Algrithm
// <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
// </h>
// <e>MD2 // <e>MD2
#define MDK_CONF_MD2 0 #define MDK_CONF_MD2 1
#if MDK_CONF_MD2 == 1 #if MDK_CONF_MD2 == 1
#define CYASSL_MD2 #define WOLFSSL_MD2
#endif #endif
// </e> // </e>
// <e>MD4 // <e>MD4
@@ -51,23 +48,46 @@
#define NO_MD4 #define NO_MD4
#endif #endif
// </e> // </e>
// <e>MD5
#define MDK_CONF_MD5 1
#if MDK_CONF_MD5 == 0
#define NO_MD5
#endif
// </e>
// <e>SHA
#define MDK_CONF_SHA 1
#if MDK_CONF_SHA == 0
#define NO_SHA
#endif
// </e>
// <e>SHA-256
#define MDK_CONF_SHA256 1
#if MDK_CONF_SHA256 == 0
#define NO_SHA256
#endif
// </e>
// <e>SHA-384 // <e>SHA-384
// <i>This has to be with SHA512 #define MDK_CONF_SHA384 1
#define MDK_CONF_SHA384 0
#if MDK_CONF_SHA384 == 1 #if MDK_CONF_SHA384 == 1
#define CYASSL_SHA384 #define WOLFSSL_SHA384
#endif #endif
// </e> // </e>
// <e>SHA-512 // <e>SHA-512
#define MDK_CONF_SHA512 0 #define MDK_CONF_SHA512 1
#if MDK_CONF_SHA512 == 1 #if MDK_CONF_SHA512 == 1
#define CYASSL_SHA512 #define WOLFSSL_SHA512
#endif #endif
// </e> // </e>
// <e>RIPEMD // <e>RIPEMD
#define MDK_CONF_RIPEMD 0 #define MDK_CONF_RIPEMD 1
#if MDK_CONF_RIPEMD == 1 #if MDK_CONF_RIPEMD == 1
#define CYASSL_RIPEMD #define WOLFSSL_RIPEMD
#endif
// </e>
// <e>BLAKE2
#define MDK_CONF_BLAKE2 0
#if MDK_CONF_BLAKE2 == 1
#define HAVE_BLAKE2
#endif #endif
// </e> // </e>
// <e>HMAC // <e>HMAC
@@ -76,40 +96,83 @@
#define NO_HMAC #define NO_HMAC
#endif #endif
// </e> // </e>
// <e>HC128 // <e>HMAC KDF
#define MDK_CONF_HC128 0 #define MDK_CONF_HKDF 1
#if MDK_CONF_HC128 == 1 #if MDK_CONF_HKDF == 1
#define HAVE_HC128 #define HAVE_HKDF
#endif #endif
// </e> // </e>
// <e>RABBIT
// <e>AES CCM
#define MDK_CONF_AESCCM 1
#if MDK_CONF_AESCCM == 1
#define HAVE_AESCCM
#endif
// </e>
// <e>AES GCM
#define MDK_CONF_AESGCM 1
#if MDK_CONF_AESGCM == 1
#define HAVE_AESGCM
#endif
// </e>
// <e>RC4
#define MDK_CONF_RC4 1
#if MDK_CONF_RC4 == 0
#define NO_RC4
#endif
// </e>
// <e>HC128
#define MDK_CONF_HC128 1
#if MDK_CONF_AESGCM == 0
#define NO_HC128
#endif
// </e>
// <e>RABBIT
#define MDK_CONF_RABBIT 1 #define MDK_CONF_RABBIT 1
#if MDK_CONF_RABBI == 0 #if MDK_CONF_RABBIT == 0
#define NO_RABBIT #define NO_RABBIT
#endif #endif
// </e> // </e>
// <e>AEAD // <e>CHACHA
#define MDK_CONF_AEAD 0 #define MDK_CONF_CHACHA 1
#if MDK_CONF_AEAD == 1 #if MDK_CONF_CHACHA == 1
#define HAVE_AEAD #define HAVE_CHACHA
#endif #endif
// </e> // </e>
// <e>POLY1305
#define MDK_CONF_POLY1305 1
#if MDK_CONF_POLY1305 == 0
#define HAVE_POLY1305
#endif
// </e>
// <e>DES3 // <e>DES3
#define MDK_CONF_DES3 1 #define MDK_CONF_DES3 1
#if MDK_CONF_DES3 == 0 #if MDK_CONF_DES3 == 0
#define NO_DES3 #define NO_DES3
#endif #endif
// </e> // </e>
// <e>AES
#define MDK_CONF_AES 1
#if MDK_CONF_AES == 0
#define NO_AES
#endif
// </e>
// <e>CAMELLIA // <e>CAMELLIA
#define MDK_CONF_CAMELLIA 0 #define MDK_CONF_CAMELLIA 1
#if MDK_CONF_CAMELLIA == 1 #if MDK_CONF_CAMELLIA == 1
#define HAVE_CAMELLIA #define HAVE_CAMELLIA
#endif #endif
// </e> // </e>
// <e>DH // <e>DH
// <i>need this for CYASSL_SERVER, OPENSSL_EXTRA
#define MDK_CONF_DH 1 #define MDK_CONF_DH 1
#if MDK_CONF_DH == 0 #if MDK_CONF_DH == 0
#define NO_DH #define NO_DH
@@ -121,6 +184,14 @@
#define NO_DSA #define NO_DSA
#endif #endif
// </e> // </e>
// <e>SRP
#define MDK_CONF_SRP 1
#if MDK_CONF_SRP == 1
#define HAVE_SRP
#endif
// </e>
// <e>PWDBASED // <e>PWDBASED
#define MDK_CONF_PWDBASED 1 #define MDK_CONF_PWDBASED 1
#if MDK_CONF_PWDBASED == 0 #if MDK_CONF_PWDBASED == 0
@@ -129,30 +200,35 @@
// </e> // </e>
// <e>ECC // <e>ECC
#define MDK_CONF_ECC 0 #define MDK_CONF_ECC 1
#if MDK_CONF_ECC == 1 #if MDK_CONF_ECC == 1
#define HAVE_ECC #define HAVE_ECC
#endif #endif
// </e> // </e>
// <e>PSK
#define MDK_CONF_PSK 1 // <e>CURVE25519
#if MDK_CONF_PSK == 0 #define MDK_CONF_CURVE25519 1
#define NO_PSK #if MDK_CONF_CURVE25519 == 1
#define HAVE_CURVE25519
#define CURVED25519_SMALL
//#define TFM_ECC256
#endif #endif
// </e> // </e>
// <e>AESCCM (Turn off Hardware Crypt)
#define MDK_CONF_AESCCM 0 // <e>ED25519
#if MDK_CONF_AESCCM == 1 #define MDK_CONF_ED25519 1
#define HAVE_AESCCM #if MDK_CONF_ED25519 == 1
#define HAVE_ED25519
#endif #endif
// </e> // </e>
// <e>AESGCM (Turn off Hardware Crypt)
#define MDK_CONF_AESGCM 0 // <e>PKCS7
#if MDK_CONF_AESGCM == 1 #define MDK_CONF_PKCS7 0
#define HAVE_AESGCM #if MDK_CONF_PKCS7 == 1
#define BUILD_AESGCM #define HAVE_PKCS7
#endif #endif
// </e> // </e>
// <e>NTRU (need License, "crypto_ntru.h") // <e>NTRU (need License, "crypto_ntru.h")
#define MDK_CONF_NTRU 0 #define MDK_CONF_NTRU 0
#if MDK_CONF_NTRU == 1 #if MDK_CONF_NTRU == 1
@@ -179,6 +255,48 @@
// </h> // </h>
// <h>Other Settings
// <e>Use Fast Math
#define MDK_CONF_FASTMATH 1
#if MDK_CONF_FASTMATH == 1
#define USE_FAST_MATH
#define TFM_TIMING_RESISTANT
#endif
// </e>
// <e>Small Stack
#define MDK_CONF_SmallStack 0
#if MDK_CONF_SmallStack == 0
#define NO_WOLFSSL_SMALL_STACK
#endif
// </e>
// <e>ErrNo.h
#define MDK_CONF_ErrNo 1
#if MDK_CONF_ErrNo == 1
#define HAVE_ERRNO
#endif
// </e>
// <e>Error Strings
#define MDK_CONF_ErrorStrings 1
#if MDK_CONF_ErrorStrings == 0
#define NO_ERROR_STRINGS
#endif
// </e>
// <e>zlib (need "zlib.h")
#define MDK_CONF_LIBZ 0
#if MDK_CONF_LIBZ == 1
#define HAVE_LIBZ
#endif
// </e>
// <e>CAVIUM (need CAVIUM headers)
#define MDK_CONF_CAVIUM 0
#if MDK_CONF_CAVIUM == 1
#define HAVE_CAVIUM
#endif
// </e>
// </h>
//</h> //</h>

View File

@@ -1,144 +0,0 @@
/* config-RTX-TCP-FS.h
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
/**** CyaSSL for KEIL-RL Configuration ****/
#define __CORTEX_M3__
#define CYASSL_MDK_ARM
#define NO_WRITEV
#define NO_CYASSL_DIR
#define NO_MAIN_DRIVER
#define CYASSL_DER_LOAD
#define HAVE_NULL_CIPHER
#define HAVE_KEIL_RTX
#define CYASSL_CMSIS_RTOS
#define CYASSL_KEIL_TCP_NET
// <<< Use Configuration Wizard in Context Menu >>>
// <h> CyaSSL Configuration
// <h>SSL (Included by default)
// </h>
// <e>TLS
#define MDK_CONF_TLS 1
#if MDK_CONF_TLS == 0
#define NO_TLS
#endif
// </e>
// <e>CRL
#define MDK_CONF_DER_LOAD 0
#if MDK_CONF_DER_LOAD == 1
#define CYASSL_DER_LOAD
#endif
// </e>
// <e>OpenSSL Extra
#define MDK_CONF_OPENSSL_EXTRA 1
#if MDK_CONF_OPENSSL_EXTRA == 1
#define OPENSSL_EXTRA
#endif
// </e>
//</h>
// <h>Cert/Key Generation
// <e>CertGen
#define MDK_CONF_CERT_GEN 0
#if MDK_CONF_CERT_GEN == 1
#define CYASSL_CERT_GEN
#endif
// </e>
// <e>KeyGen
#define MDK_CONF_KEY_GEN 0
#if MDK_CONF_KEY_GEN == 1
#define CYASSL_KEY_GEN
#endif
// </e>
//</h>
// <h>Others
// <e>Inline
#define MDK_CONF_INLINE 0
#if MDK_CONF_INLINE == 0
#define NO_INLINE
#endif
// </e>
// <h>Debug
// <e>Debug Message
#define MDK_CONF_DebugMessage 0
#if MDK_CONF_DebugMessage == 1
#define DEBUG_CYASSL
#endif
// </e>
// <e>Check malloc
#define MDK_CONF_CheckMalloc 1
#if MDK_CONF_CheckMalloc == 1
#define CYASSL_MALLOC_CHECK
#endif
// </e>
// </h>
// <e>ErrNo.h
#define MDK_CONF_ErrNo 0
#if MDK_CONF_ErrNo == 1
#define HAVE_ERRNO
#endif
// </e>
// <e>Error Strings
#define MDK_CONF_ErrorStrings 1
#if MDK_CONF_ErrorStrings == 0
#define NO_ERROR_STRINGS
#endif
// </e>
// <e>zlib (need "zlib.h")
#define MDK_CONF_LIBZ 0
#if MDK_CONF_LIBZ == 1
#define HAVE_LIBZ
#endif
// </e>
// <e>CAVIUM (need CAVIUM headers)
#define MDK_CONF_CAVIUM 0
#if MDK_CONF_CAVIUM == 1
#define HAVE_CAVIUM
#endif
// </e>
// <e>Small Stack
#define MDK_CONF_SmallStack 1
#if MDK_CONF_SmallStack == 0
#define NO_CYASSL_SMALL_STACK
#endif
// </e>
// <e>Use Fast Math
#define MDK_CONF_FASTMATH 0
#if MDK_CONF_FASTMATH == 1
#define USE_FAST_MATH
#endif
// </e>
// </h>
// <<< end of configuration section >>>

View File

@@ -0,0 +1,34 @@
#define NO_WRITEV
#define NO_MAIN_DRIVER
#define WOLFSSL_MDK_SHELL
/* #define SINGLE_THREADED or define RTOS option */
#define WOLFSSL_CMSIS_RTOS
/* #define NO_FILESYSTEM or define Filesystem option */
#define WOLFSSL_KEIL_FS
#define NO_WOLFSSL_DIR
#define WOLFSSL_NO_CURRDIR
/* #define WOLFSSL_USER_IO or use BSD incompatible TCP stack */
#define WOLFSSL_KEIL_TCP_NET /* KEIL_TCP + wolfssl_MDL_ARM.c for BSD compatibility */
#define NO_DEV_RANDOM
/* define your Rand gen for the operational use */
#define WOLFSSL_GENSEED_FORTEST
#define USE_WOLFSSL_MEMORY
#define WOLFSSL_MALLOC_CHECK
#define USER_TIME
#define TIME_OVERRIDES
#define XTIME time_dummy /* Have to be replaced with operational function */
static long time_dummy(long *t) { return (365*24*60*60*(2016-1970)) ; }
#define WOLFSSL_USER_CURRTIME
#define USE_FAST_MATH
#define TFM_TIMING_RESISTANT
#define BENCH_EMBEDDED

View File

@@ -1,39 +0,0 @@
#ifndef CYASSL_CERT_DATA_H
#define CYASSL_CERT_DATA_H
#ifdef USE_CERT_BUFFERS_1024
extern const unsigned char client_key_der_1024[] ;
extern int sizeof_client_key_der_1024 ;
/* ./certs/1024/client-cert.der, 1024-bit */
extern const unsigned char client_cert_der_1024[] ;
extern int sizeof_client_cert_der_1024 ;
/* ./certs/1024/dh1024.der, 1024-bit */
extern const unsigned char dh_key_der_1024[] ;
extern int sizeof_dh_key_der_1024 ;
/* ./certs/1024/dsa1024.der, 1024-bit */
extern const unsigned char dsa_key_der_1024[] ;
extern int sizeof_dsa_key_der_1024 ;
/* ./certs/1024/rsa1024.der, 1024-bit */
extern const unsigned char rsa_key_der_1024[] ;
extern int sizeof_rsa_key_der_1024 ;
#elif defined(USE_CERT_BUFFERS_2048)
/* ./certs/client-key.der, 2048-bit */
extern const unsigned char client_key_der_2048[] ;
extern int sizeof_client_key_der_2048 ;
/* ./certs/client-cert.der, 2048-bit */
extern const unsigned char client_cert_der_2048[] ;
extern int sizeof_client_cert_der_2048 ;
/* ./certs/dh2048.der, 2048-bit */
extern const unsigned char dh_key_der_2048[] ;
extern int sizeof_dh_key_der_2048 ;
/* ./certs/dsa2048.der, 2048-bit */
extern const unsigned char dsa_key_der_2048[] ;
extern int sizeof_dsa_key_der_2048;
/* ./certs/rsa2048.der, 2048-bit */
extern const unsigned char rsa_key_der_2048[] ;
extern int sizeof_rsa_key_der_2048 ;
#endif
#endif

View File

@@ -20,43 +20,38 @@
*/ */
#define __CORTEX_M3__ #define __CORTEX_M3__
#define CYASSL_MDK_ARM
#define CYASSL_MDK5
#define CYASSL_CMSIS_RTOS
#define NO_WRITEV #if defined(MDK_CONF_full)
#define NO_CYASSL_DIR
#define BENCH_EMBEDDED
#define CYASSL_DER_LOAD
#define HAVE_NULL_CIPHER
#define NO_MAIN_DRIVER
#if defined(MDK_CONF_CYASSL)
#define CYASSL_MDK_SHELL
#include "config-Crypt.h" #include "config-Crypt.h"
#include "config-CyaSSL.h" #include "config-wolfSSL.h"
#elif defined(MDK_CONF_SimpleClient) #elif defined(MDK_CONF_SimpleClient)
#include "config-Crypt.h" #include "config-Crypt.h"
#include "config-CyaSSL.h" #include "config-wolfSSL.h"
#elif defined(MDK_CONF_SimpleServer) #elif defined(MDK_CONF_SimpleServer)
#include "config-Crypt.h" #include "config-Crypt.h"
#include "config-CyaSSL.h" #include "config-wolfSSL.h"
#elif defined(MDK_CONF_EchoClient) #elif defined(MDK_CONF_EchoClient)
#include "config-Crypt.h" #include "config-Crypt.h"
#include "config-CyaSSL.h" #include "config-wolfSSL.h"
#elif defined(MDK_CONF_EchoServer) #elif defined(MDK_CONF_EchoServer)
#include "config-Crypt.h" #include "config-Crypt.h"
#include "config-CyaSSL.h" #include "config-wolfSSL.h"
#elif defined(MDK_CONF_Benchmark) #elif defined(MDK_CONF_Benchmark)
#define SINGLE_THREADED #define SINGLE_THREADED
#define NO_INLINE
#include "config-Crypt.h"
#elif defined(MDK_CONF_CryptTest)
#define SINGLE_THREADED
#define NO_INLINE
#include "config-Crypt.h" #include "config-Crypt.h"
#elif defined(MDK_CONF_CryptTest)
#define SINGLE_THREADED
#include "config-Crypt.h"
#elif defined(MDK_CONF_wolfSSL_lib)
#include "config-Crypt.h"
#include "config-wolfSSL.h"
#endif #endif

View File

@@ -1,106 +0,0 @@
/* cyassl_KEIL_RL.h
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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
*/
/******************************************************************************/
/** This file is for defining types, values for specific to KEIL-MDK-ARM. **/
/******************************************************************************/
#ifndef CYASSL_KEIL_RL_H
#define CYASSL_KEIL_RL_H
#include <stdio.h>
/* Go to STDIN */
#define fgets(buff, sz, fd) Cyassl_fgets(buff, sz, fd)
extern char * Cyassl_fgets ( char * str, int num, FILE * f ) ;
#define SOCKET_T int
/*** #include <socket.h> ***/
#define NUMBITSPERBYTE 8
#define FD_SETSIZE 10
typedef long fd_mask;
#define NFDBITS (sizeof(fd_mask) * NUMBITSPERBYTE) /* bits per mask */
typedef struct fd_set {
fd_mask fds_bits[(FD_SETSIZE + NFDBITS - 1) / NFDBITS];
} fd_set;
/*** #include <sys/types.h> ***/
struct timeval {
long tv_sec; /* seconds */
long tv_usec; /* microseconds */
};
#if defined(CYASSL_KEIL_TCP_NET)
#if defined(CYASSL_MDK5)
#define SCK_EWOULDBLOCK BSD_ERROR_WOULDBLOCK
#define SCK_ETIMEOUT BSD_ERROR_TIMEOUT
#include "rl_net.h"
#endif
typedef int socklen_t ;
/* for avoiding conflict with KEIL-TCPnet BSD socket */
/* Bodies are in cyassl_KEIL_RL.c */
#define connect Cyassl_connect
#define accept Cyassl_accept
#define recv Cyassl_recv
#define send Cyassl_send
#define sleep Cyassl_sleep
/* for avoiding conflicting with KEIL-TCPnet TCP socket */
/* Bodies are in test.h */
#define tcp_connect Cyassl_tcp_connect
#define tcp_socket Cyassl_tcp_soket
#define tcp_listen Cyassl_tcp_listen
#define tcp_select Cyassl_tcp_select
extern int Cyassl_connect(int sd, const struct sockaddr * sa, int sz) ;
extern int Cyassl_accept(int sd, struct sockaddr *addr, socklen_t *addrlen);
extern int Cyassl_recv(int sd, void *buf, size_t len, int flags);
extern int Cyassl_send(int sd, const void *buf, size_t len, int flags);
extern void Cyassl_sleep(int sec) ;
extern int Cyassl_tcp_select(int sd, int timeout) ;
/** KEIL-RL TCPnet ****/
/* TCPnet BSD socket does not have following functions. */
extern char *inet_ntoa(struct in_addr in);
extern unsigned long inet_addr(const char *cp);
extern int setsockopt(int sockfd, int level, int optname,
const void *optval, socklen_t optlen);
extern int select(int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, const struct timeval *timeout);
#endif /* CYASSL_KEIL_TCP_NET */
/* CyaSSL MDK-ARM time functions */
#include <time.h>
struct tm *Cyassl_MDK_gmtime(const time_t *c) ;
extern double current_time(void) ;
#endif /* CYASSL_KEIL_RL_H */

View File

@@ -13,6 +13,7 @@
<tExt>*.txt; *.h; *.inc</tExt> <tExt>*.txt; *.h; *.inc</tExt>
<pExt>*.plm</pExt> <pExt>*.plm</pExt>
<CppX>*.cpp</CppX> <CppX>*.cpp</CppX>
<nMigrate>0</nMigrate>
</Extensions> </Extensions>
<DaveTm> <DaveTm>
@@ -25,12 +26,13 @@
<ToolsetNumber>0x4</ToolsetNumber> <ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName> <ToolsetName>ARM-ADS</ToolsetName>
<TargetOption> <TargetOption>
<CLKADS>120000000</CLKADS> <CLKADS>12000000</CLKADS>
<OPTTT> <OPTTT>
<gFlags>1</gFlags> <gFlags>1</gFlags>
<BeepAtEnd>1</BeepAtEnd> <BeepAtEnd>1</BeepAtEnd>
<RunSim>0</RunSim> <RunSim>0</RunSim>
<RunTarget>1</RunTarget> <RunTarget>1</RunTarget>
<RunAbUc>0</RunAbUc>
</OPTTT> </OPTTT>
<OPTHX> <OPTHX>
<HexSelection>1</HexSelection> <HexSelection>1</HexSelection>
@@ -75,17 +77,17 @@
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget> <IsCurrentTarget>1</IsCurrentTarget>
</OPTFL> </OPTFL>
<CpuCode>255</CpuCode> <CpuCode>18</CpuCode>
<Books> <Books>
<Book> <Book>
<Number>0</Number> <Number>0</Number>
<Title>Schematics (MCBSTM32F200)</Title> <Title>Schematics (MCBSTM32F200)</Title>
<Path>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\Documents\mcbstm32f200-schematics.pdf</Path> <Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200-schematics.pdf</Path>
</Book> </Book>
<Book> <Book>
<Number>1</Number> <Number>1</Number>
<Title>User Manual (MCBSTM32F200)</Title> <Title>User Manual (MCBSTM32F200)</Title>
<Path>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\Documents\mcbstm32f200.chm</Path> <Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200.chm</Path>
</Book> </Book>
<Book> <Book>
<Number>2</Number> <Number>2</Number>
@@ -113,10 +115,9 @@
<tRtrace>1</tRtrace> <tRtrace>1</tRtrace>
<sRSysVw>1</sRSysVw> <sRSysVw>1</sRSysVw>
<tRSysVw>1</tRSysVw> <tRSysVw>1</tRSysVw>
<tPdscDbg>1</tPdscDbg>
<sRunDeb>0</sRunDeb> <sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime> <sLrtime>0</sLrtime>
<nTsel>8</nTsel> <nTsel>1</nTsel>
<sDll></sDll> <sDll></sDll>
<sDllPa></sDllPa> <sDllPa></sDllPa>
<sDlgDll></sDlgDll> <sDlgDll></sDlgDll>
@@ -127,9 +128,14 @@
<tDlgDll></tDlgDll> <tDlgDll></tDlgDll>
<tDlgPa></tDlgPa> <tDlgPa></tDlgPa>
<tIfile>.\STM32_SWO.ini</tIfile> <tIfile>.\STM32_SWO.ini</tIfile>
<pMon>BIN\ULP2CM3.DLL</pMon> <pMon>BIN\UL2CM3.DLL</pMon>
</DebugOpt> </DebugOpt>
<TargetDriverDllRegistry> <TargetDriverDllRegistry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMRTXEVENTFLAGS</Key>
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
</SetRegEntry>
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
<Key>DLGTARM</Key> <Key>DLGTARM</Key>
@@ -143,17 +149,17 @@
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
<Key>ULP2CM3</Key> <Key>ULP2CM3</Key>
<Name>-UP1135060 -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP18 -TDX0 -TDD0 -TDS8000 -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.flm -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$Flash\STM32F2xx_1024.flm)</Name> <Name>-UP1135060 -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP18 -TDX0 -TDD0 -TDS8000 -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
</SetRegEntry> </SetRegEntry>
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
<Key>DLGUARM</Key> <Key>DLGUARM</Key>
<Name></Name> <Name>(105=-1,-1,-1,-1,0)</Name>
</SetRegEntry> </SetRegEntry>
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
<Key>UL2CM3</Key> <Key>UL2CM3</Key>
<Name>UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32F2xx_1024 -FL0100000 -FS08000000 -FP0($$Device:STM32F207IG$Flash\STM32F2xx_1024.FLM)</Name> <Name>-UM1020ADE -O206 -S0 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP21 -TDS801F -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
</SetRegEntry> </SetRegEntry>
</TargetDriverDllRegistry> </TargetDriverDllRegistry>
<Breakpoint/> <Breakpoint/>
@@ -162,6 +168,7 @@
<WinNumber>1</WinNumber> <WinNumber>1</WinNumber>
<SubType>8</SubType> <SubType>8</SubType>
<ItemText>0x20000408</ItemText> <ItemText>0x20000408</ItemText>
<AccSizeX>0</AccSizeX>
</Mm> </Mm>
</MemoryWindow1> </MemoryWindow1>
<MemoryWindow2> <MemoryWindow2>
@@ -169,6 +176,7 @@
<WinNumber>2</WinNumber> <WinNumber>2</WinNumber>
<SubType>8</SubType> <SubType>8</SubType>
<ItemText>0x8004dc8</ItemText> <ItemText>0x8004dc8</ItemText>
<AccSizeX>0</AccSizeX>
</Mm> </Mm>
</MemoryWindow2> </MemoryWindow2>
<Tracepoint> <Tracepoint>
@@ -232,8 +240,8 @@
<Focus>0</Focus> <Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>.\benchmark.c</PathWithFileName> <PathWithFileName>.\time-CortexM3-4.c</PathWithFileName>
<FilenameWithoutPath>benchmark.c</FilenameWithoutPath> <FilenameWithoutPath>time-CortexM3-4.c</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
@@ -266,8 +274,8 @@
<Focus>0</Focus> <Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>.\RTE\wolfSSL\settings.h</PathWithFileName> <PathWithFileName>.\RTE\wolfSSL\user_settings.h</PathWithFileName>
<FilenameWithoutPath>settings.h</FilenameWithoutPath> <FilenameWithoutPath>user_settings.h</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
@@ -294,72 +302,28 @@
</File> </File>
</Group> </Group>
<Group>
<GroupName>Devices</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>6</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\time-CortexM3-4.c</PathWithFileName>
<FilenameWithoutPath>time-CortexM3-4.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>7</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\time-dummy.c</PathWithFileName>
<FilenameWithoutPath>time-dummy.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group> <Group>
<GroupName>::CMSIS</GroupName> <GroupName>::CMSIS</GroupName>
<tvExp>1</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<File> </Group>
<GroupNumber>5</GroupNumber>
<FileNumber>8</FileNumber> <Group>
<FileType>1</FileType> <GroupName>::CMSIS Driver</GroupName>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<Focus>0</Focus> <tvExpOptDlg>0</tvExpOptDlg>
<tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel>
<bDave2>0</bDave2> <RteFlg>1</RteFlg>
<PathWithFileName>RTE\CMSIS\RTX_Conf_CM.c</PathWithFileName> </Group>
<FilenameWithoutPath>RTX_Conf_CM.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <Group>
<bShared>0</bShared> <GroupName>::Compiler</GroupName>
</File> <tvExp>1</tvExp>
<File> <tvExpOptDlg>0</tvExpOptDlg>
<GroupNumber>5</GroupNumber> <cbSel>0</cbSel>
<FileNumber>9</FileNumber> <RteFlg>1</RteFlg>
<FileType>4</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\ARM\CMSIS\3.20.4\CMSIS_RTX\Lib\ARM\RTX_CM3.lib</PathWithFileName>
<FilenameWithoutPath>RTX_CM3.lib</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>
@@ -368,628 +332,22 @@
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>10</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>RTE\Device\STM32F207IG\RTE_Device.h</PathWithFileName>
<FilenameWithoutPath>RTE_Device.h</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>11</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>RTE\Device\STM32F207IG\startup_stm32f2xx.s</PathWithFileName>
<FilenameWithoutPath>startup_stm32f2xx.s</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>12</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>RTE\Device\STM32F207IG\system_stm32f2xx.c</PathWithFileName>
<FilenameWithoutPath>system_stm32f2xx.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>13</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\RTE_Driver\DMA_STM32F2xx.c</PathWithFileName>
<FilenameWithoutPath>DMA_STM32F2xx.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>14</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\RTE_Driver\GPIO_STM32F2xx.c</PathWithFileName>
<FilenameWithoutPath>GPIO_STM32F2xx.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>::Drivers</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>15</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\RTE_Driver\MCI_STM32F2xx.c</PathWithFileName>
<FilenameWithoutPath>MCI_STM32F2xx.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>
<GroupName>::File System</GroupName> <GroupName>::File System</GroupName>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>16</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>RTE\File_System\FS_Config.c</PathWithFileName>
<FilenameWithoutPath>FS_Config.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>17</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>RTE\File_System\FS_Config_MC_0.h</PathWithFileName>
<FilenameWithoutPath>FS_Config_MC_0.h</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>18</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.6\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</PathWithFileName>
<FilenameWithoutPath>FS_LFN_CM3_L.lib</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>
<GroupName>::wolfSSL</GroupName> <GroupName>::wolfSSL</GroupName>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>19</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>RTE\wolfSSL\config-Crypt.h</PathWithFileName>
<FilenameWithoutPath>config-Crypt.h</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>20</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>RTE\wolfSSL\settings.h</PathWithFileName>
<FilenameWithoutPath>settings.h</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>21</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\IDE\MDK5-ARM\Src\cyassl_MDK_ARM.c</PathWithFileName>
<FilenameWithoutPath>cyassl_MDK_ARM.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>22</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\IDE\MDK5-ARM\Src\ssl-dummy.c</PathWithFileName>
<FilenameWithoutPath>ssl-dummy.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>23</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\aes.c</PathWithFileName>
<FilenameWithoutPath>aes.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>24</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\arc4.c</PathWithFileName>
<FilenameWithoutPath>arc4.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>25</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\asm.c</PathWithFileName>
<FilenameWithoutPath>asm.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>26</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\asn.c</PathWithFileName>
<FilenameWithoutPath>asn.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>27</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\blake2b.c</PathWithFileName>
<FilenameWithoutPath>blake2b.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>28</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\camellia.c</PathWithFileName>
<FilenameWithoutPath>camellia.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>29</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\coding.c</PathWithFileName>
<FilenameWithoutPath>coding.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>30</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\compress.c</PathWithFileName>
<FilenameWithoutPath>compress.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>31</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\des3.c</PathWithFileName>
<FilenameWithoutPath>des3.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>32</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\dh.c</PathWithFileName>
<FilenameWithoutPath>dh.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>33</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\dsa.c</PathWithFileName>
<FilenameWithoutPath>dsa.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>34</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\ecc.c</PathWithFileName>
<FilenameWithoutPath>ecc.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>35</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\ecc_fp.c</PathWithFileName>
<FilenameWithoutPath>ecc_fp.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>36</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\error.c</PathWithFileName>
<FilenameWithoutPath>error.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>37</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\hc128.c</PathWithFileName>
<FilenameWithoutPath>hc128.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>38</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\hmac.c</PathWithFileName>
<FilenameWithoutPath>hmac.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>39</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\integer.c</PathWithFileName>
<FilenameWithoutPath>integer.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>40</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\logging.c</PathWithFileName>
<FilenameWithoutPath>logging.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>41</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\md2.c</PathWithFileName>
<FilenameWithoutPath>md2.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>42</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\md4.c</PathWithFileName>
<FilenameWithoutPath>md4.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>43</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\md5.c</PathWithFileName>
<FilenameWithoutPath>md5.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>44</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\memory.c</PathWithFileName>
<FilenameWithoutPath>memory.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>45</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\misc.c</PathWithFileName>
<FilenameWithoutPath>misc.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>46</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\pwdbased.c</PathWithFileName>
<FilenameWithoutPath>pwdbased.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>47</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\rabbit.c</PathWithFileName>
<FilenameWithoutPath>rabbit.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>48</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\random.c</PathWithFileName>
<FilenameWithoutPath>random.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>49</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\ripemd.c</PathWithFileName>
<FilenameWithoutPath>ripemd.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>50</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\rsa.c</PathWithFileName>
<FilenameWithoutPath>rsa.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>51</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\sha.c</PathWithFileName>
<FilenameWithoutPath>sha.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>52</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\sha256.c</PathWithFileName>
<FilenameWithoutPath>sha256.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>53</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\sha512.c</PathWithFileName>
<FilenameWithoutPath>sha512.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>54</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\tfm.c</PathWithFileName>
<FilenameWithoutPath>tfm.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>9</GroupNumber>
<FileNumber>55</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\wc_port.c</PathWithFileName>
<FilenameWithoutPath>wc_port.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
</ProjectOpt> </ProjectOpt>

View File

@@ -12,14 +12,16 @@
<ToolsetName>ARM-ADS</ToolsetName> <ToolsetName>ARM-ADS</ToolsetName>
<TargetOption> <TargetOption>
<TargetCommonOption> <TargetCommonOption>
<Device>STM32F207IG</Device> <Device>STM32F207IGHx</Device>
<Vendor>STMicroelectronics</Vendor> <Vendor>STMicroelectronics</Vendor>
<Cpu>IRAM(0x20000000,0x20000) IROM(0x08000000,0x100000) CPUTYPE("Cortex-M3") CLOCK(120000000) ELITTLE</Cpu> <PackID>Keil.STM32F2xx_DFP.2.2.0</PackID>
<PackURL>http://www.keil.com/pack</PackURL>
<Cpu>IROM(0x08000000,0x100000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
<FlashUtilSpec></FlashUtilSpec> <FlashUtilSpec></FlashUtilSpec>
<StartupFile></StartupFile> <StartupFile></StartupFile>
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$Flash\STM32F2xx_1024.flm))</FlashDriverDll> <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM))</FlashDriverDll>
<DeviceId>0</DeviceId> <DeviceId>0</DeviceId>
<RegisterFile>$$Device:STM32F207IG$Device\Include\stm32f2xx.h</RegisterFile> <RegisterFile>$$Device:STM32F207IGHx$Drivers/CMSIS/Device/ST/STM32F2xx/Include/stm32f2xx.h</RegisterFile>
<MemoryEnv></MemoryEnv> <MemoryEnv></MemoryEnv>
<Cmp></Cmp> <Cmp></Cmp>
<Asm></Asm> <Asm></Asm>
@@ -29,7 +31,7 @@
<SLE66CMisc></SLE66CMisc> <SLE66CMisc></SLE66CMisc>
<SLE66AMisc></SLE66AMisc> <SLE66AMisc></SLE66AMisc>
<SLE66LinkerMisc></SLE66LinkerMisc> <SLE66LinkerMisc></SLE66LinkerMisc>
<SFDFile>$$Device:STM32F207IG$SVD\STM32F20x.svd</SFDFile> <SFDFile>$$Device:STM32F207IGHx$CMSIS\SVD\STM32F20x.svd</SFDFile>
<bCustSvd>0</bCustSvd> <bCustSvd>0</bCustSvd>
<UseEnv>0</UseEnv> <UseEnv>0</UseEnv>
<BinPath></BinPath> <BinPath></BinPath>
@@ -143,10 +145,9 @@
<RestoreToolbox>1</RestoreToolbox> <RestoreToolbox>1</RestoreToolbox>
<RestoreTracepoints>1</RestoreTracepoints> <RestoreTracepoints>1</RestoreTracepoints>
<RestoreSysVw>1</RestoreSysVw> <RestoreSysVw>1</RestoreSysVw>
<UsePdscDebugDescription>1</UsePdscDebugDescription>
</Target> </Target>
<RunDebugAfterBuild>0</RunDebugAfterBuild> <RunDebugAfterBuild>0</RunDebugAfterBuild>
<TargetSelection>8</TargetSelection> <TargetSelection>1</TargetSelection>
<SimDlls> <SimDlls>
<CpuDll></CpuDll> <CpuDll></CpuDll>
<CpuDllArguments></CpuDllArguments> <CpuDllArguments></CpuDllArguments>
@@ -160,7 +161,7 @@
<PeripheralDll></PeripheralDll> <PeripheralDll></PeripheralDll>
<PeripheralDllArguments></PeripheralDllArguments> <PeripheralDllArguments></PeripheralDllArguments>
<InitializationFile>.\STM32_SWO.ini</InitializationFile> <InitializationFile>.\STM32_SWO.ini</InitializationFile>
<Driver>BIN\ULP2CM3.DLL</Driver> <Driver>BIN\UL2CM3.DLL</Driver>
</TargetDlls> </TargetDlls>
</DebugOption> </DebugOption>
<Utilities> <Utilities>
@@ -173,8 +174,8 @@
<DriverSelection>4100</DriverSelection> <DriverSelection>4100</DriverSelection>
</Flash1> </Flash1>
<bUseTDR>1</bUseTDR> <bUseTDR>1</bUseTDR>
<Flash2>BIN\ULP2CM3.DLL</Flash2> <Flash2>BIN\UL2CM3.DLL</Flash2>
<Flash3>"" ()</Flash3> <Flash3></Flash3>
<Flash4></Flash4> <Flash4></Flash4>
<pFcarmOut></pFcarmOut> <pFcarmOut></pFcarmOut>
<pFcarmGrp></pFcarmGrp> <pFcarmGrp></pFcarmGrp>
@@ -362,7 +363,7 @@
<useXO>0</useXO> <useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define>HAVE_CONFIG_H MDK_CONF_Benchmark</Define> <Define>HAVE_CONFIG_H MDK_CONF_Benchmark WOLFSSL_USER_SETTINGS</Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath></IncludePath> <IncludePath></IncludePath>
</VariousControls> </VariousControls>
@@ -413,9 +414,9 @@
<FilePath>.\main.c</FilePath> <FilePath>.\main.c</FilePath>
</File> </File>
<File> <File>
<FileName>benchmark.c</FileName> <FileName>time-CortexM3-4.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>.\benchmark.c</FilePath> <FilePath>.\time-CortexM3-4.c</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@@ -428,9 +429,9 @@
<FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath> <FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath>
</File> </File>
<File> <File>
<FileName>settings.h</FileName> <FileName>user_settings.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\settings.h</FilePath> <FilePath>.\RTE\wolfSSL\user_settings.h</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@@ -445,395 +446,166 @@
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>Devices</GroupName> <GroupName>::CMSIS</GroupName>
<Files>
<File>
<FileName>time-CortexM3-4.c</FileName>
<FileType>1</FileType>
<FilePath>.\time-CortexM3-4.c</FilePath>
</File>
<File>
<FileName>time-dummy.c</FileName>
<FileType>1</FileType>
<FilePath>.\time-dummy.c</FilePath>
</File>
</Files>
</Group> </Group>
<Group> <Group>
<GroupName>::CMSIS</GroupName> <GroupName>::CMSIS Driver</GroupName>
<Files> </Group>
<File> <Group>
<FileName>RTX_Conf_CM.c</FileName> <GroupName>::Compiler</GroupName>
<FileType>1</FileType>
<FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath>
</File>
<File>
<FileName>RTX_CM3.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\ARM\CMSIS\3.20.4\CMSIS_RTX\Lib\ARM\RTX_CM3.lib</FilePath>
</File>
</Files>
</Group> </Group>
<Group> <Group>
<GroupName>::Device</GroupName> <GroupName>::Device</GroupName>
<Files>
<File>
<FileName>RTE_Device.h</FileName>
<FileType>5</FileType>
<FilePath>RTE\Device\STM32F207IG\RTE_Device.h</FilePath>
</File>
<File>
<FileName>startup_stm32f2xx.s</FileName>
<FileType>2</FileType>
<FilePath>RTE\Device\STM32F207IG\startup_stm32f2xx.s</FilePath>
</File>
<File>
<FileName>system_stm32f2xx.c</FileName>
<FileType>1</FileType>
<FilePath>RTE\Device\STM32F207IG\system_stm32f2xx.c</FilePath>
</File>
<File>
<FileName>DMA_STM32F2xx.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\RTE_Driver\DMA_STM32F2xx.c</FilePath>
</File>
<File>
<FileName>GPIO_STM32F2xx.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\RTE_Driver\GPIO_STM32F2xx.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>::Drivers</GroupName>
<Files>
<File>
<FileName>MCI_STM32F2xx.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\RTE_Driver\MCI_STM32F2xx.c</FilePath>
</File>
</Files>
</Group> </Group>
<Group> <Group>
<GroupName>::File System</GroupName> <GroupName>::File System</GroupName>
<Files>
<File>
<FileName>FS_Config.c</FileName>
<FileType>1</FileType>
<FilePath>RTE\File_System\FS_Config.c</FilePath>
</File>
<File>
<FileName>FS_Config_MC_0.h</FileName>
<FileType>5</FileType>
<FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath>
</File>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.6\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
</Files>
</Group> </Group>
<Group> <Group>
<GroupName>::wolfSSL</GroupName> <GroupName>::wolfSSL</GroupName>
<Files>
<File>
<FileName>config-Crypt.h</FileName>
<FileType>5</FileType>
<FilePath>RTE\wolfSSL\config-Crypt.h</FilePath>
</File>
<File>
<FileName>settings.h</FileName>
<FileType>5</FileType>
<FilePath>RTE\wolfSSL\settings.h</FilePath>
</File>
<File>
<FileName>cyassl_MDK_ARM.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\IDE\MDK5-ARM\Src\cyassl_MDK_ARM.c</FilePath>
</File>
<File>
<FileName>ssl-dummy.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\IDE\MDK5-ARM\Src\ssl-dummy.c</FilePath>
</File>
<File>
<FileName>aes.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\aes.c</FilePath>
</File>
<File>
<FileName>arc4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\arc4.c</FilePath>
</File>
<File>
<FileName>asm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\asm.c</FilePath>
</File>
<File>
<FileName>asn.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\asn.c</FilePath>
</File>
<File>
<FileName>blake2b.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\blake2b.c</FilePath>
</File>
<File>
<FileName>camellia.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\camellia.c</FilePath>
</File>
<File>
<FileName>coding.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\coding.c</FilePath>
</File>
<File>
<FileName>compress.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\compress.c</FilePath>
</File>
<File>
<FileName>des3.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\des3.c</FilePath>
</File>
<File>
<FileName>dh.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\dh.c</FilePath>
</File>
<File>
<FileName>dsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\dsa.c</FilePath>
</File>
<File>
<FileName>ecc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\ecc.c</FilePath>
</File>
<File>
<FileName>ecc_fp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\ecc_fp.c</FilePath>
</File>
<File>
<FileName>error.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\error.c</FilePath>
</File>
<File>
<FileName>hc128.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\hc128.c</FilePath>
</File>
<File>
<FileName>hmac.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\hmac.c</FilePath>
</File>
<File>
<FileName>integer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\integer.c</FilePath>
</File>
<File>
<FileName>logging.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\logging.c</FilePath>
</File>
<File>
<FileName>md2.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\md2.c</FilePath>
</File>
<File>
<FileName>md4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\md4.c</FilePath>
</File>
<File>
<FileName>md5.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\md5.c</FilePath>
</File>
<File>
<FileName>memory.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\memory.c</FilePath>
</File>
<File>
<FileName>misc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\misc.c</FilePath>
</File>
<File>
<FileName>pwdbased.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\pwdbased.c</FilePath>
</File>
<File>
<FileName>rabbit.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\rabbit.c</FilePath>
</File>
<File>
<FileName>random.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\random.c</FilePath>
</File>
<File>
<FileName>ripemd.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\ripemd.c</FilePath>
</File>
<File>
<FileName>rsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\rsa.c</FilePath>
</File>
<File>
<FileName>sha.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\sha.c</FilePath>
</File>
<File>
<FileName>sha256.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\sha256.c</FilePath>
</File>
<File>
<FileName>sha512.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\sha512.c</FilePath>
</File>
<File>
<FileName>tfm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\tfm.c</FilePath>
</File>
<File>
<FileName>wc_port.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\wc_port.c</FilePath>
</File>
</Files>
</Group> </Group>
</Groups> </Groups>
</Target> </Target>
</Targets> </Targets>
<RTE> <RTE>
<packages>
<package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4">
<targetInfos>
<targetInfo name="CryptBenchmark" versionMatchMode="fixed"/>
</targetInfos>
</package>
<package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.5">
<targetInfos>
<targetInfo name="CryptBenchmark" versionMatchMode="fixed"/>
</targetInfos>
</package>
<package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.6">
<targetInfos>
<targetInfo name="CryptBenchmark" versionMatchMode="fixed"/>
</targetInfos>
</package>
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7">
<targetInfos>
<targetInfo name="CryptBenchmark" versionMatchMode="fixed"/>
</targetInfos>
</package>
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.1.0">
<targetInfos>
<targetInfo name="CryptBenchmark" versionMatchMode="fixed"/>
</targetInfos>
</package>
</packages>
<apis> <apis>
<api Cclass="CMSIS" Cgroup="RTOS" exclusive="0"> <api Capiversion="2.02" Cclass="CMSIS Driver" Cgroup="MCI" exclusive="0">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/> <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</api> </api>
<api Cclass="Drivers" Cgroup="MCI" exclusive="0"> <api Capiversion="1.0" Cclass="CMSIS" Cgroup="RTOS" exclusive="0">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</api>
<api Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</api> </api>
</apis> </apis>
<components> <components>
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="3.20.0" condition="CMSIS Core"> <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="4.1.0" condition="CMSIS Core">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/> <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.78.0" condition="Cortex-M Device Startup">
<package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/> <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="5.0.5" condition="CMSIS Core with RTOS"> <component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.5.0" condition="CMSIS Core with RTOS and File System I/O">
<package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.4"/> <package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="5.0.5" condition="File System and MCI Driver" maxInstances="2"> <component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.5.0" condition="File System and SD/MMC Driver" maxInstances="2">
<package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.4"/> <package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="Device" Cgroup="DMA" Cvendor="Keil" Cversion="1.0.0" Dname="STM32F207IG" condition="STM32F2xx CMSIS Device"> <component Capiversion="2.02" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="2.02" condition="STM32F2 CMSIS_Driver MCI">
<package name="STM32F2xx_DFP" url="http://www.keil.com/pack" vendor="Keil" version="1.0.3"/> <package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="Device" Cgroup="GPIO" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2xx CMSIS Device"> <component Cclass="Compiler" Cgroup="I/O" Csub="File" Cvariant="File System" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with File System">
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/> <package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" Dname="STM32F207IG" condition="STM32F2xx CMSIS Device"> <component Cclass="Compiler" Cgroup="I/O" Csub="STDERR" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
<package name="STM32F2xx_DFP" url="http://www.keil.com/pack" vendor="Keil" version="1.0.3"/> <package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="Drivers" Cgroup="MCI" Cvendor="Keil" Cversion="1.01.0" Dname="STM32F207IG" condition="STM32F2xx CMSIS RTOS GPIO DMA"> <component Cclass="Compiler" Cgroup="I/O" Csub="STDIN" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
<package name="STM32F2xx_DFP" url="http://www.keil.com/pack" vendor="Keil" version="1.0.4"/> <package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"> <component Cclass="Compiler" Cgroup="I/O" Csub="STDOUT" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-Licnese.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.0.0"/> <package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"> <component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic">
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-Licnese.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.0.0"/> <package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL Common">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL GPIO">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Benchmark" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfCrypt-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfCrypt-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfCrypt-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</component> </component>
</components> </components>
<files> <files>
<file attr="config" category="source" name="CMSIS_RTX\Templates\RTX_Conf_CM.c"> <file attr="config" category="source" name="CMSIS_RTX\Templates\RTX_Conf_CM.c" version="4.70.0">
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance> <instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"/> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"/>
<package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
@@ -841,42 +613,80 @@
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</file> </file>
<file attr="config" category="header" name="RTE_Driver\Config\RTE_Device.h"> <file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="2.01">
<instance index="0">RTE\Device\STM32F207IG\RTE_Device.h</instance> <instance index="0">RTE\Device\STM32F207IGHx\RTE_Device.h</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" Dname="STM32F207IG" condition="STM32F2xx CMSIS Device"/> <component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
<package name="STM32F2xx_DFP" url="http://www.keil.com/pack" vendor="Keil" version="1.0.4"/> <package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</file> </file>
<file attr="config" category="source" condition="STM32F207xx_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f207xx.s" version="2.0.1">
<instance index="0">RTE\Device\STM32F207IGHx\startup_stm32f207xx.s</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</file>
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f2xx_hal_conf.h">
<instance index="0">RTE\Device\STM32F207IGHx\stm32f2xx_hal_conf.h</instance>
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\system_stm32f2xx.c" version="2.0.1">
<instance index="0">RTE\Device\STM32F207IGHx\system_stm32f2xx.c</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</file>
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="2.01">
<instance index="0" removed="1">RTE\Device\STM32F207IG\RTE_Device.h</instance>
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos/>
</file>
<file attr="config" category="source" condition="STM32F207xx_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f207xx.s" version="2.0.1">
<instance index="0" removed="1">RTE\Device\STM32F207IG\startup_stm32f207xx.s</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos/>
</file>
<file attr="config" category="source" name="Device\Source\ARM\startup_stm32f2xx.s"> <file attr="config" category="source" name="Device\Source\ARM\startup_stm32f2xx.s">
<instance index="0">RTE\Device\STM32F207IG\startup_stm32f2xx.s</instance> <instance index="0" removed="1">RTE\Device\STM32F207IG\startup_stm32f2xx.s</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" Dname="STM32F207IG" condition="STM32F2xx CMSIS Device"/> <component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/>
<package name="STM32F2xx_DFP" url="http://www.keil.com/pack" vendor="Keil" version="1.0.4"/> <package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/>
<targetInfos> <targetInfos/>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</file> </file>
<file attr="config" category="source" name="Device\Source\system_stm32f2xx.c"> <file attr="config" category="header" name="MDK\Templates\Inc\stm32f2xx_hal_conf.h">
<instance index="0">RTE\Device\STM32F207IG\system_stm32f2xx.c</instance> <instance index="0" removed="1">RTE\Device\STM32F207IG\stm32f2xx_hal_conf.h</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" Dname="STM32F207IG" condition="STM32F2xx CMSIS Device"/> <component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
<package name="STM32F2xx_DFP" url="http://www.keil.com/pack" vendor="Keil" version="1.0.4"/> <package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos> <targetInfos/>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</file> </file>
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c"> <file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\system_stm32f2xx.c" version="2.0.1">
<instance index="0" removed="1">RTE\Device\STM32F207IG\system_stm32f2xx.c</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos/>
</file>
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2">
<instance index="0">RTE\File_System\FS_Config.c</instance> <instance index="0">RTE\File_System\FS_Config.c</instance>
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="5.0.4" condition="CMSIS Core with RTOS"/> <component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="SFN" Cvendor="Keil" Cversion="6.5.0" condition="CMSIS Core with RTOS and File System I/O"/>
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.2"/> <package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</file> </file>
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h"> <file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2">
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance> <instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="5.0.4" condition="File System and MCI Driver" maxInstances="2"/> <component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.5.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.2"/> <package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
@@ -947,24 +757,30 @@
<package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="2.7.0"/> <package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="2.7.0"/>
<targetInfos/> <targetInfos/>
</file> </file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\Conf\config-Crypt.h"> <file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\config-Crypt.h">
<instance index="0">RTE\wolfSSL\config-Crypt.h</instance> <instance index="0">RTE\wolfSSL\config-Crypt.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfCrypt-Core"/>
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.0.0"/> <package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.3"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</file> </file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config.h"> <file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config.h">
<instance index="0" removed="1">RTE\wolfSSL\config.h</instance> <instance index="0" removed="1">RTE\wolfSSL\config.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfCrypt-Core"/>
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-Licnese.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.0.0"/> <package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-Licnese.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.0.0"/>
<targetInfos/> <targetInfos/>
</file> </file>
<file attr="config" category="header" name="cyassl\cyassl\ctaocrypt\settings.h"> <file attr="config" category="header" name="wolfssl\wolfssl\wolfcrypt\settings.h">
<instance index="0">RTE\wolfSSL\settings.h</instance> <instance index="0" removed="1">RTE\wolfSSL\settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfCrypt-Core"/>
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.0.0"/> <package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.4.6"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h">
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfCrypt-Core"/>
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.3"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>

File diff suppressed because it is too large Load Diff

View File

@@ -13,6 +13,7 @@
<tExt>*.txt; *.h; *.inc</tExt> <tExt>*.txt; *.h; *.inc</tExt>
<pExt>*.plm</pExt> <pExt>*.plm</pExt>
<CppX>*.cpp</CppX> <CppX>*.cpp</CppX>
<nMigrate>0</nMigrate>
</Extensions> </Extensions>
<DaveTm> <DaveTm>
@@ -25,12 +26,13 @@
<ToolsetNumber>0x4</ToolsetNumber> <ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName> <ToolsetName>ARM-ADS</ToolsetName>
<TargetOption> <TargetOption>
<CLKADS>120000000</CLKADS> <CLKADS>12000000</CLKADS>
<OPTTT> <OPTTT>
<gFlags>1</gFlags> <gFlags>1</gFlags>
<BeepAtEnd>1</BeepAtEnd> <BeepAtEnd>1</BeepAtEnd>
<RunSim>0</RunSim> <RunSim>0</RunSim>
<RunTarget>1</RunTarget> <RunTarget>1</RunTarget>
<RunAbUc>0</RunAbUc>
</OPTTT> </OPTTT>
<OPTHX> <OPTHX>
<HexSelection>1</HexSelection> <HexSelection>1</HexSelection>
@@ -75,17 +77,17 @@
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget> <IsCurrentTarget>1</IsCurrentTarget>
</OPTFL> </OPTFL>
<CpuCode>255</CpuCode> <CpuCode>18</CpuCode>
<Books> <Books>
<Book> <Book>
<Number>0</Number> <Number>0</Number>
<Title>Schematics (MCBSTM32F200)</Title> <Title>Schematics (MCBSTM32F200)</Title>
<Path>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\Documents\mcbstm32f200-schematics.pdf</Path> <Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200-schematics.pdf</Path>
</Book> </Book>
<Book> <Book>
<Number>1</Number> <Number>1</Number>
<Title>User Manual (MCBSTM32F200)</Title> <Title>User Manual (MCBSTM32F200)</Title>
<Path>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\Documents\mcbstm32f200.chm</Path> <Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200.chm</Path>
</Book> </Book>
<Book> <Book>
<Number>2</Number> <Number>2</Number>
@@ -113,10 +115,9 @@
<tRtrace>1</tRtrace> <tRtrace>1</tRtrace>
<sRSysVw>1</sRSysVw> <sRSysVw>1</sRSysVw>
<tRSysVw>1</tRSysVw> <tRSysVw>1</tRSysVw>
<tPdscDbg>1</tPdscDbg>
<sRunDeb>0</sRunDeb> <sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime> <sLrtime>0</sLrtime>
<nTsel>8</nTsel> <nTsel>1</nTsel>
<sDll></sDll> <sDll></sDll>
<sDllPa></sDllPa> <sDllPa></sDllPa>
<sDlgDll></sDlgDll> <sDlgDll></sDlgDll>
@@ -127,13 +128,18 @@
<tDlgDll></tDlgDll> <tDlgDll></tDlgDll>
<tDlgPa></tDlgPa> <tDlgPa></tDlgPa>
<tIfile>.\STM32_SWO.ini</tIfile> <tIfile>.\STM32_SWO.ini</tIfile>
<pMon>BIN\ULP2CM3.DLL</pMon> <pMon>BIN\UL2CM3.DLL</pMon>
</DebugOpt> </DebugOpt>
<TargetDriverDllRegistry> <TargetDriverDllRegistry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMRTXEVENTFLAGS</Key>
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
</SetRegEntry>
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
<Key>DLGUARM</Key> <Key>DLGUARM</Key>
<Name></Name> <Name>(105=-1,-1,-1,-1,0)</Name>
</SetRegEntry> </SetRegEntry>
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
@@ -148,12 +154,12 @@
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
<Key>ULP2CM3</Key> <Key>ULP2CM3</Key>
<Name>-UP1135060 -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO3 -TC10000000 -TP18 -TDX0 -TDD0 -TDS8000 -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.flm -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$Flash\STM32F2xx_1024.flm)</Name> <Name>-UP1135060 -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO7 -TC120000000 -TP18 -TDX0 -TDD0 -TDS8000 -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
</SetRegEntry> </SetRegEntry>
<SetRegEntry> <SetRegEntry>
<Number>0</Number> <Number>0</Number>
<Key>UL2CM3</Key> <Key>UL2CM3</Key>
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$Flash\STM32F2xx_1024.flm))</Name> <Name>-UM1020ADE -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP21 -TDS801F -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
</SetRegEntry> </SetRegEntry>
</TargetDriverDllRegistry> </TargetDriverDllRegistry>
<Breakpoint/> <Breakpoint/>
@@ -161,7 +167,8 @@
<Mm> <Mm>
<WinNumber>1</WinNumber> <WinNumber>1</WinNumber>
<SubType>8</SubType> <SubType>8</SubType>
<ItemText>0x20000408</ItemText> <ItemText>clientKey</ItemText>
<AccSizeX>0</AccSizeX>
</Mm> </Mm>
</MemoryWindow1> </MemoryWindow1>
<MemoryWindow2> <MemoryWindow2>
@@ -169,6 +176,7 @@
<WinNumber>2</WinNumber> <WinNumber>2</WinNumber>
<SubType>8</SubType> <SubType>8</SubType>
<ItemText>0x8004dc8</ItemText> <ItemText>0x8004dc8</ItemText>
<AccSizeX>0</AccSizeX>
</Mm> </Mm>
</MemoryWindow2> </MemoryWindow2>
<Tracepoint> <Tracepoint>
@@ -224,45 +232,6 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>2</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\test.c</PathWithFileName>
<FilenameWithoutPath>test.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>3</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\cert_data.c</PathWithFileName>
<FilenameWithoutPath>cert_data.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>4</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\time-dummy.c</PathWithFileName>
<FilenameWithoutPath>time-dummy.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>
@@ -273,7 +242,7 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>5</FileNumber> <FileNumber>2</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@@ -286,14 +255,14 @@
</File> </File>
<File> <File>
<GroupNumber>2</GroupNumber> <GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber> <FileNumber>3</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>.\RTE\wolfSSL\settings.h</PathWithFileName> <PathWithFileName>.\RTE\wolfSSL\user_settings.h</PathWithFileName>
<FilenameWithoutPath>settings.h</FilenameWithoutPath> <FilenameWithoutPath>user_settings.h</FilenameWithoutPath>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
@@ -301,13 +270,13 @@
<Group> <Group>
<GroupName>Documentation</GroupName> <GroupName>Documentation</GroupName>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>7</FileNumber> <FileNumber>4</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@@ -326,32 +295,22 @@
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<File> </Group>
<GroupNumber>4</GroupNumber>
<FileNumber>8</FileNumber> <Group>
<FileType>1</FileType> <GroupName>::CMSIS Driver</GroupName>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<Focus>0</Focus> <tvExpOptDlg>0</tvExpOptDlg>
<tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel>
<bDave2>0</bDave2> <RteFlg>1</RteFlg>
<PathWithFileName>RTE\CMSIS\RTX_Conf_CM.c</PathWithFileName> </Group>
<FilenameWithoutPath>RTX_Conf_CM.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <Group>
<bShared>0</bShared> <GroupName>::Compiler</GroupName>
</File> <tvExp>1</tvExp>
<File> <tvExpOptDlg>0</tvExpOptDlg>
<GroupNumber>4</GroupNumber> <cbSel>0</cbSel>
<FileNumber>9</FileNumber> <RteFlg>1</RteFlg>
<FileType>4</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\ARM\CMSIS\3.20.4\CMSIS_RTX\Lib\ARM\RTX_CM3.lib</PathWithFileName>
<FilenameWithoutPath>RTX_CM3.lib</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>
@@ -360,92 +319,6 @@
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>10</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>RTE\Device\STM32F207IG\RTE_Device.h</PathWithFileName>
<FilenameWithoutPath>RTE_Device.h</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>11</FileNumber>
<FileType>2</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>RTE\Device\STM32F207IG\startup_stm32f2xx.s</PathWithFileName>
<FilenameWithoutPath>startup_stm32f2xx.s</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>12</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>RTE\Device\STM32F207IG\system_stm32f2xx.c</PathWithFileName>
<FilenameWithoutPath>system_stm32f2xx.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>13</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\RTE_Driver\DMA_STM32F2xx.c</PathWithFileName>
<FilenameWithoutPath>DMA_STM32F2xx.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>14</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\RTE_Driver\GPIO_STM32F2xx.c</PathWithFileName>
<FilenameWithoutPath>GPIO_STM32F2xx.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>::Drivers</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
<File>
<GroupNumber>6</GroupNumber>
<FileNumber>15</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\RTE_Driver\MCI_STM32F2xx.c</PathWithFileName>
<FilenameWithoutPath>MCI_STM32F2xx.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>
@@ -454,534 +327,14 @@
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>16</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>RTE\File_System\FS_Config.c</PathWithFileName>
<FilenameWithoutPath>FS_Config.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>17</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>RTE\File_System\FS_Config_MC_0.h</PathWithFileName>
<FilenameWithoutPath>FS_Config_MC_0.h</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>18</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.6\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</PathWithFileName>
<FilenameWithoutPath>FS_LFN_CM3_L.lib</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>
<GroupName>::wolfSSL</GroupName> <GroupName>::wolfSSL</GroupName>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>19</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>RTE\wolfSSL\config-Crypt.h</PathWithFileName>
<FilenameWithoutPath>config-Crypt.h</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>20</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>RTE\wolfSSL\settings.h</PathWithFileName>
<FilenameWithoutPath>settings.h</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>21</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\IDE\MDK5-ARM\Src\cyassl_MDK_ARM.c</PathWithFileName>
<FilenameWithoutPath>cyassl_MDK_ARM.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>22</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\IDE\MDK5-ARM\Src\ssl-dummy.c</PathWithFileName>
<FilenameWithoutPath>ssl-dummy.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>23</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\aes.c</PathWithFileName>
<FilenameWithoutPath>aes.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>24</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\arc4.c</PathWithFileName>
<FilenameWithoutPath>arc4.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>25</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\asm.c</PathWithFileName>
<FilenameWithoutPath>asm.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>26</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\asn.c</PathWithFileName>
<FilenameWithoutPath>asn.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>27</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\blake2b.c</PathWithFileName>
<FilenameWithoutPath>blake2b.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>28</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\camellia.c</PathWithFileName>
<FilenameWithoutPath>camellia.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>29</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\coding.c</PathWithFileName>
<FilenameWithoutPath>coding.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>30</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\compress.c</PathWithFileName>
<FilenameWithoutPath>compress.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>31</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\des3.c</PathWithFileName>
<FilenameWithoutPath>des3.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>32</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\dh.c</PathWithFileName>
<FilenameWithoutPath>dh.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>33</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\dsa.c</PathWithFileName>
<FilenameWithoutPath>dsa.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>34</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\ecc.c</PathWithFileName>
<FilenameWithoutPath>ecc.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>35</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\ecc_fp.c</PathWithFileName>
<FilenameWithoutPath>ecc_fp.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>36</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\error.c</PathWithFileName>
<FilenameWithoutPath>error.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>37</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\hc128.c</PathWithFileName>
<FilenameWithoutPath>hc128.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>38</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\hmac.c</PathWithFileName>
<FilenameWithoutPath>hmac.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>39</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\integer.c</PathWithFileName>
<FilenameWithoutPath>integer.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>40</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\logging.c</PathWithFileName>
<FilenameWithoutPath>logging.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>41</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\md2.c</PathWithFileName>
<FilenameWithoutPath>md2.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>42</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\md4.c</PathWithFileName>
<FilenameWithoutPath>md4.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>43</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\md5.c</PathWithFileName>
<FilenameWithoutPath>md5.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>44</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\memory.c</PathWithFileName>
<FilenameWithoutPath>memory.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>45</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\misc.c</PathWithFileName>
<FilenameWithoutPath>misc.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>46</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\pwdbased.c</PathWithFileName>
<FilenameWithoutPath>pwdbased.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>47</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\rabbit.c</PathWithFileName>
<FilenameWithoutPath>rabbit.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>48</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\random.c</PathWithFileName>
<FilenameWithoutPath>random.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>49</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\ripemd.c</PathWithFileName>
<FilenameWithoutPath>ripemd.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>50</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\rsa.c</PathWithFileName>
<FilenameWithoutPath>rsa.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>51</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\sha.c</PathWithFileName>
<FilenameWithoutPath>sha.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>52</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\sha256.c</PathWithFileName>
<FilenameWithoutPath>sha256.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>53</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\sha512.c</PathWithFileName>
<FilenameWithoutPath>sha512.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>54</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\tfm.c</PathWithFileName>
<FilenameWithoutPath>tfm.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>55</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\wc_port.c</PathWithFileName>
<FilenameWithoutPath>wc_port.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
</ProjectOpt> </ProjectOpt>

View File

@@ -12,14 +12,16 @@
<ToolsetName>ARM-ADS</ToolsetName> <ToolsetName>ARM-ADS</ToolsetName>
<TargetOption> <TargetOption>
<TargetCommonOption> <TargetCommonOption>
<Device>STM32F207IG</Device> <Device>STM32F207IGHx</Device>
<Vendor>STMicroelectronics</Vendor> <Vendor>STMicroelectronics</Vendor>
<Cpu>IRAM(0x20000000,0x20000) IROM(0x08000000,0x100000) CPUTYPE("Cortex-M3") CLOCK(120000000) ELITTLE</Cpu> <PackID>Keil.STM32F2xx_DFP.2.2.0</PackID>
<PackURL>http://www.keil.com/pack</PackURL>
<Cpu>IROM(0x08000000,0x100000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
<FlashUtilSpec></FlashUtilSpec> <FlashUtilSpec></FlashUtilSpec>
<StartupFile></StartupFile> <StartupFile></StartupFile>
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$Flash\STM32F2xx_1024.flm))</FlashDriverDll> <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM))</FlashDriverDll>
<DeviceId>0</DeviceId> <DeviceId>0</DeviceId>
<RegisterFile>$$Device:STM32F207IG$Device\Include\stm32f2xx.h</RegisterFile> <RegisterFile>$$Device:STM32F207IGHx$Drivers/CMSIS/Device/ST/STM32F2xx/Include/stm32f2xx.h</RegisterFile>
<MemoryEnv></MemoryEnv> <MemoryEnv></MemoryEnv>
<Cmp></Cmp> <Cmp></Cmp>
<Asm></Asm> <Asm></Asm>
@@ -29,7 +31,7 @@
<SLE66CMisc></SLE66CMisc> <SLE66CMisc></SLE66CMisc>
<SLE66AMisc></SLE66AMisc> <SLE66AMisc></SLE66AMisc>
<SLE66LinkerMisc></SLE66LinkerMisc> <SLE66LinkerMisc></SLE66LinkerMisc>
<SFDFile>$$Device:STM32F207IG$SVD\STM32F20x.svd</SFDFile> <SFDFile>$$Device:STM32F207IGHx$CMSIS\SVD\STM32F20x.svd</SFDFile>
<bCustSvd>0</bCustSvd> <bCustSvd>0</bCustSvd>
<UseEnv>0</UseEnv> <UseEnv>0</UseEnv>
<BinPath></BinPath> <BinPath></BinPath>
@@ -104,11 +106,11 @@
</CommonProperty> </CommonProperty>
<DllOption> <DllOption>
<SimDllName>SARMCM3.DLL</SimDllName> <SimDllName>SARMCM3.DLL</SimDllName>
<SimDllArguments>-REMAP -MPU</SimDllArguments> <SimDllArguments> -REMAP -MPU</SimDllArguments>
<SimDlgDll>DCM.DLL</SimDlgDll> <SimDlgDll>DCM.DLL</SimDlgDll>
<SimDlgDllArguments>-pCM3</SimDlgDllArguments> <SimDlgDllArguments>-pCM3</SimDlgDllArguments>
<TargetDllName>SARMCM3.DLL</TargetDllName> <TargetDllName>SARMCM3.DLL</TargetDllName>
<TargetDllArguments>-REMAP -MPU</TargetDllArguments> <TargetDllArguments> -MPU</TargetDllArguments>
<TargetDlgDll>TCM.DLL</TargetDlgDll> <TargetDlgDll>TCM.DLL</TargetDlgDll>
<TargetDlgDllArguments>-pCM3</TargetDlgDllArguments> <TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
</DllOption> </DllOption>
@@ -143,10 +145,9 @@
<RestoreToolbox>1</RestoreToolbox> <RestoreToolbox>1</RestoreToolbox>
<RestoreTracepoints>1</RestoreTracepoints> <RestoreTracepoints>1</RestoreTracepoints>
<RestoreSysVw>1</RestoreSysVw> <RestoreSysVw>1</RestoreSysVw>
<UsePdscDebugDescription>1</UsePdscDebugDescription>
</Target> </Target>
<RunDebugAfterBuild>0</RunDebugAfterBuild> <RunDebugAfterBuild>0</RunDebugAfterBuild>
<TargetSelection>8</TargetSelection> <TargetSelection>1</TargetSelection>
<SimDlls> <SimDlls>
<CpuDll></CpuDll> <CpuDll></CpuDll>
<CpuDllArguments></CpuDllArguments> <CpuDllArguments></CpuDllArguments>
@@ -160,7 +161,7 @@
<PeripheralDll></PeripheralDll> <PeripheralDll></PeripheralDll>
<PeripheralDllArguments></PeripheralDllArguments> <PeripheralDllArguments></PeripheralDllArguments>
<InitializationFile>.\STM32_SWO.ini</InitializationFile> <InitializationFile>.\STM32_SWO.ini</InitializationFile>
<Driver>BIN\ULP2CM3.DLL</Driver> <Driver>BIN\UL2CM3.DLL</Driver>
</TargetDlls> </TargetDlls>
</DebugOption> </DebugOption>
<Utilities> <Utilities>
@@ -173,8 +174,8 @@
<DriverSelection>4100</DriverSelection> <DriverSelection>4100</DriverSelection>
</Flash1> </Flash1>
<bUseTDR>1</bUseTDR> <bUseTDR>1</bUseTDR>
<Flash2>BIN\ULP2CM3.DLL</Flash2> <Flash2>BIN\UL2CM3.DLL</Flash2>
<Flash3>"" ()</Flash3> <Flash3></Flash3>
<Flash4></Flash4> <Flash4></Flash4>
<pFcarmOut></pFcarmOut> <pFcarmOut></pFcarmOut>
<pFcarmGrp></pFcarmGrp> <pFcarmGrp></pFcarmGrp>
@@ -362,7 +363,7 @@
<useXO>0</useXO> <useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define>HAVE_CONFIG_H MDK_CONF_CryptTest</Define> <Define>HAVE_CONFIG_H WOLFSSL_USER_SETTINGS MDK_CONF_CryptTest</Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath></IncludePath> <IncludePath></IncludePath>
</VariousControls> </VariousControls>
@@ -412,21 +413,6 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>.\main.c</FilePath> <FilePath>.\main.c</FilePath>
</File> </File>
<File>
<FileName>test.c</FileName>
<FileType>1</FileType>
<FilePath>.\test.c</FilePath>
</File>
<File>
<FileName>cert_data.c</FileName>
<FileType>1</FileType>
<FilePath>.\cert_data.c</FilePath>
</File>
<File>
<FileName>time-dummy.c</FileName>
<FileType>1</FileType>
<FilePath>.\time-dummy.c</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@@ -438,9 +424,9 @@
<FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath> <FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath>
</File> </File>
<File> <File>
<FileName>settings.h</FileName> <FileName>user_settings.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\settings.h</FilePath> <FilePath>.\RTE\wolfSSL\user_settings.h</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@@ -456,268 +442,21 @@
</Group> </Group>
<Group> <Group>
<GroupName>::CMSIS</GroupName> <GroupName>::CMSIS</GroupName>
<Files> </Group>
<File> <Group>
<FileName>RTX_Conf_CM.c</FileName> <GroupName>::CMSIS Driver</GroupName>
<FileType>1</FileType> </Group>
<FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath> <Group>
</File> <GroupName>::Compiler</GroupName>
<File>
<FileName>RTX_CM3.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\ARM\CMSIS\3.20.4\CMSIS_RTX\Lib\ARM\RTX_CM3.lib</FilePath>
</File>
</Files>
</Group> </Group>
<Group> <Group>
<GroupName>::Device</GroupName> <GroupName>::Device</GroupName>
<Files>
<File>
<FileName>RTE_Device.h</FileName>
<FileType>5</FileType>
<FilePath>RTE\Device\STM32F207IG\RTE_Device.h</FilePath>
</File>
<File>
<FileName>startup_stm32f2xx.s</FileName>
<FileType>2</FileType>
<FilePath>RTE\Device\STM32F207IG\startup_stm32f2xx.s</FilePath>
</File>
<File>
<FileName>system_stm32f2xx.c</FileName>
<FileType>1</FileType>
<FilePath>RTE\Device\STM32F207IG\system_stm32f2xx.c</FilePath>
</File>
<File>
<FileName>DMA_STM32F2xx.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\RTE_Driver\DMA_STM32F2xx.c</FilePath>
</File>
<File>
<FileName>GPIO_STM32F2xx.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\RTE_Driver\GPIO_STM32F2xx.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>::Drivers</GroupName>
<Files>
<File>
<FileName>MCI_STM32F2xx.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.7\RTE_Driver\MCI_STM32F2xx.c</FilePath>
</File>
</Files>
</Group> </Group>
<Group> <Group>
<GroupName>::File System</GroupName> <GroupName>::File System</GroupName>
<Files>
<File>
<FileName>FS_Config.c</FileName>
<FileType>1</FileType>
<FilePath>RTE\File_System\FS_Config.c</FilePath>
</File>
<File>
<FileName>FS_Config_MC_0.h</FileName>
<FileType>5</FileType>
<FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath>
</File>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.6\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
</Files>
</Group> </Group>
<Group> <Group>
<GroupName>::wolfSSL</GroupName> <GroupName>::wolfSSL</GroupName>
<Files>
<File>
<FileName>config-Crypt.h</FileName>
<FileType>5</FileType>
<FilePath>RTE\wolfSSL\config-Crypt.h</FilePath>
</File>
<File>
<FileName>settings.h</FileName>
<FileType>5</FileType>
<FilePath>RTE\wolfSSL\settings.h</FilePath>
</File>
<File>
<FileName>cyassl_MDK_ARM.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\IDE\MDK5-ARM\Src\cyassl_MDK_ARM.c</FilePath>
</File>
<File>
<FileName>ssl-dummy.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\IDE\MDK5-ARM\Src\ssl-dummy.c</FilePath>
</File>
<File>
<FileName>aes.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\aes.c</FilePath>
</File>
<File>
<FileName>arc4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\arc4.c</FilePath>
</File>
<File>
<FileName>asm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\asm.c</FilePath>
</File>
<File>
<FileName>asn.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\asn.c</FilePath>
</File>
<File>
<FileName>blake2b.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\blake2b.c</FilePath>
</File>
<File>
<FileName>camellia.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\camellia.c</FilePath>
</File>
<File>
<FileName>coding.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\coding.c</FilePath>
</File>
<File>
<FileName>compress.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\compress.c</FilePath>
</File>
<File>
<FileName>des3.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\des3.c</FilePath>
</File>
<File>
<FileName>dh.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\dh.c</FilePath>
</File>
<File>
<FileName>dsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\dsa.c</FilePath>
</File>
<File>
<FileName>ecc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\ecc.c</FilePath>
</File>
<File>
<FileName>ecc_fp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\ecc_fp.c</FilePath>
</File>
<File>
<FileName>error.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\error.c</FilePath>
</File>
<File>
<FileName>hc128.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\hc128.c</FilePath>
</File>
<File>
<FileName>hmac.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\hmac.c</FilePath>
</File>
<File>
<FileName>integer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\integer.c</FilePath>
</File>
<File>
<FileName>logging.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\logging.c</FilePath>
</File>
<File>
<FileName>md2.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\md2.c</FilePath>
</File>
<File>
<FileName>md4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\md4.c</FilePath>
</File>
<File>
<FileName>md5.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\md5.c</FilePath>
</File>
<File>
<FileName>memory.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\memory.c</FilePath>
</File>
<File>
<FileName>misc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\misc.c</FilePath>
</File>
<File>
<FileName>pwdbased.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\pwdbased.c</FilePath>
</File>
<File>
<FileName>rabbit.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\rabbit.c</FilePath>
</File>
<File>
<FileName>random.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\random.c</FilePath>
</File>
<File>
<FileName>ripemd.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\ripemd.c</FilePath>
</File>
<File>
<FileName>rsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\rsa.c</FilePath>
</File>
<File>
<FileName>sha.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\sha.c</FilePath>
</File>
<File>
<FileName>sha256.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\sha256.c</FilePath>
</File>
<File>
<FileName>sha512.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\sha512.c</FilePath>
</File>
<File>
<FileName>tfm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\tfm.c</FilePath>
</File>
<File>
<FileName>wc_port.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\3.1.0\cyassl\ctaocrypt\src\wc_port.c</FilePath>
</File>
</Files>
</Group> </Group>
</Groups> </Groups>
</Target> </Target>
@@ -725,110 +464,179 @@
<RTE> <RTE>
<packages> <packages>
<package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"> <filter>
<targetInfos/>
</filter>
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0">
<targetInfos> <targetInfos>
<targetInfo name="CryptTest" versionMatchMode="fixed"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</package> </package>
<package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.5"> <package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0">
<targetInfos> <targetInfos>
<targetInfo name="CryptTest" versionMatchMode="fixed"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</package> </package>
<package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.6"> <package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta">
<targetInfos> <targetInfos>
<targetInfo name="CryptTest" versionMatchMode="fixed"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</package> </package>
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"> <package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0">
<targetInfos> <targetInfos>
<targetInfo name="CryptTest" versionMatchMode="fixed"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</package> </package>
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.1.0"> <package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.3">
<targetInfos> <targetInfos>
<targetInfo name="CryptTest" versionMatchMode="fixed"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</package> </package>
</packages> </packages>
<apis> <apis>
<api Cclass="CMSIS" Cgroup="RTOS" exclusive="0"> <api Capiversion="2.02" Cclass="CMSIS Driver" Cgroup="MCI" exclusive="0">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/> <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</api> </api>
<api Cclass="Drivers" Cgroup="MCI" exclusive="0"> <api Capiversion="1.0" Cclass="CMSIS" Cgroup="RTOS" exclusive="1">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/> <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos>
<targetInfo name="CryptTest"/>
</targetInfos>
</api>
<api Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</api> </api>
</apis> </apis>
<components> <components>
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="3.20.0" condition="CMSIS Core"> <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="4.1.0" condition="CMSIS Core">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/> <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.78.0" condition="Cortex-M Device Startup">
<package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/> <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="5.0.5" condition="CMSIS Core with RTOS"> <component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.5.0" condition="CMSIS Core with RTOS and File System I/O">
<package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.6"/> <package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="5.0.5" condition="File System and MCI Driver" maxInstances="2"> <component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.5.0" condition="File System and SD/MMC Driver" maxInstances="2">
<package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.6"/> <package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="Device" Cgroup="DMA" Cvendor="Keil" Cversion="1.0.0" Dname="STM32F207IG" condition="STM32F2xx CMSIS Device"> <component Capiversion="2.02" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="2.02" condition="STM32F2 CMSIS_Driver MCI">
<package name="STM32F2xx_DFP" url="http://www.keil.com/pack" vendor="Keil" version="1.0.3"/> <package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="Device" Cgroup="GPIO" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2xx CMSIS Device"> <component Cclass="Compiler" Cgroup="I/O" Csub="File" Cvariant="File System" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with File System">
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/> <package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" Dname="STM32F207IG" condition="STM32F2xx CMSIS Device"> <component Cclass="Compiler" Cgroup="I/O" Csub="STDERR" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
<package name="STM32F2xx_DFP" url="http://www.keil.com/pack" vendor="Keil" version="1.0.3"/> <package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="Drivers" Cgroup="MCI" Cvendor="Keil" Cversion="1.01.0" Dname="STM32F207IG" condition="STM32F2xx CMSIS RTOS GPIO DMA"> <component Cclass="Compiler" Cgroup="I/O" Csub="STDIN" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
<package name="STM32F2xx_DFP" url="http://www.keil.com/pack" vendor="Keil" version="1.0.4"/> <package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"> <component Cclass="Compiler" Cgroup="I/O" Csub="STDOUT" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.0.0"/> <package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"> <component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic">
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.0.0"/> <package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptTest"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL Common">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptTest"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptTest"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptTest"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptTest"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL GPIO">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptTest"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL DMA">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptTest"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptTest"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.6.3" condition="wolfCrypt-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.3"/>
<targetInfos>
<targetInfo name="CryptTest"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="3.6.3" condition="wolfCrypt-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.3"/>
<targetInfos>
<targetInfo name="CryptTest"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Test" Cvendor="wolfSSL" Cversion="3.6.3" condition="wolfCrypt-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.3"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</component> </component>
</components> </components>
<files> <files>
<file attr="config" category="source" name="CMSIS_RTX\Templates\RTX_Conf_CM.c"> <file attr="config" category="source" name="CMSIS_RTX\Templates\RTX_Conf_CM.c" version="4.70.0">
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance> <instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"/> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"/>
<package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
@@ -836,42 +644,92 @@
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</file> </file>
<file attr="config" category="header" name="RTE_Driver\Config\RTE_Device.h"> <file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="2.01">
<instance index="0">RTE\Device\STM32F207IG\RTE_Device.h</instance> <instance index="0">RTE\Device\STM32F207IGHx\RTE_Device.h</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/> <component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/> <package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</file> </file>
<file attr="config" category="source" condition="STM32F207xx_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f207xx.s" version="2.0.1">
<instance index="0">RTE\Device\STM32F207IGHx\startup_stm32f207xx.s</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptTest"/>
</targetInfos>
</file>
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f2xx_hal_conf.h">
<instance index="0">RTE\Device\STM32F207IGHx\stm32f2xx_hal_conf.h</instance>
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptTest"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\system_stm32f2xx.c" version="2.0.1">
<instance index="0">RTE\Device\STM32F207IGHx\system_stm32f2xx.c</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="CryptTest"/>
</targetInfos>
</file>
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="2.01">
<instance index="0" removed="1">RTE\Device\STM32F207IGTx\RTE_Device.h</instance>
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos/>
</file>
<file attr="config" category="source" condition="STM32F207xx_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f207xx.s" version="2.0.1">
<instance index="0" removed="1">RTE\Device\STM32F207IGTx\startup_stm32f207xx.s</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f2xx_hal_conf.h">
<instance index="0" removed="1">RTE\Device\STM32F207IGTx\stm32f2xx_hal_conf.h</instance>
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos/>
</file>
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\system_stm32f2xx.c" version="2.0.1">
<instance index="0" removed="1">RTE\Device\STM32F207IGTx\system_stm32f2xx.c</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="RTE_Driver\Config\RTE_Device.h">
<instance index="0" removed="1">RTE\Device\STM32F207IG\RTE_Device.h</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/>
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/>
<targetInfos/>
</file>
<file attr="config" category="source" name="Device\Source\ARM\startup_stm32f2xx.s"> <file attr="config" category="source" name="Device\Source\ARM\startup_stm32f2xx.s">
<instance index="0">RTE\Device\STM32F207IG\startup_stm32f2xx.s</instance> <instance index="0" removed="1">RTE\Device\STM32F207IG\startup_stm32f2xx.s</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/> <component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/>
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/> <package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/>
<targetInfos> <targetInfos/>
<targetInfo name="CryptTest"/>
</targetInfos>
</file> </file>
<file attr="config" category="source" name="Device\Source\system_stm32f2xx.c"> <file attr="config" category="source" name="Device\Source\system_stm32f2xx.c">
<instance index="0">RTE\Device\STM32F207IG\system_stm32f2xx.c</instance> <instance index="0" removed="1">RTE\Device\STM32F207IG\system_stm32f2xx.c</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/> <component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/>
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/> <package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/>
<targetInfos> <targetInfos/>
<targetInfo name="CryptTest"/>
</targetInfos>
</file> </file>
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="5.0.0"> <file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2">
<instance index="0">RTE\File_System\FS_Config.c</instance> <instance index="0">RTE\File_System\FS_Config.c</instance>
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="5.0.5" condition="CMSIS Core with RTOS"/> <component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.5.0" condition="CMSIS Core with RTOS and File System I/O"/>
<package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.6"/> <package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</file> </file>
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="5.0.0"> <file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2">
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance> <instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="5.0.5" condition="File System and MCI Driver" maxInstances="2"/> <component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.5.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
<package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.6"/> <package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
@@ -942,10 +800,10 @@
<package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="3.0.0"/> <package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="3.0.0"/>
<targetInfos/> <targetInfos/>
</file> </file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\Conf\config-Crypt.h"> <file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\config-Crypt.h">
<instance index="0">RTE\wolfSSL\config-Crypt.h</instance> <instance index="0">RTE\wolfSSL\config-Crypt.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.6.3" condition="wolfCrypt-Core"/>
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.0.0"/> <package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.3"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
@@ -957,9 +815,15 @@
<targetInfos/> <targetInfos/>
</file> </file>
<file attr="config" category="header" name="cyassl\cyassl\ctaocrypt\settings.h"> <file attr="config" category="header" name="cyassl\cyassl\ctaocrypt\settings.h">
<instance index="0">RTE\wolfSSL\settings.h</instance> <instance index="0" removed="1">RTE\wolfSSL\settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"/>
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.0.0"/> <package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.0.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h">
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.6.3" condition="wolfCrypt-Core"/>
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.3"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>

View File

@@ -1,28 +0,0 @@
/* certs_test.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
/* Define initial data for cert buffers */
#include <cyassl/certs_test.h>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,667 +0,0 @@
/* settings.h
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
/* Place OS specific preprocessor flags, defines, includes here, will be
included into every file because types.h includes it */
#ifndef CTAO_CRYPT_SETTINGS_H
#define CTAO_CRYPT_SETTINGS_H
#ifdef __cplusplus
extern "C" {
#endif
/* Uncomment next line if using IPHONE */
/* #define IPHONE */
/* Uncomment next line if using ThreadX */
/* #define THREADX */
/* Uncomment next line if using Micrium ucOS */
/* #define MICRIUM */
/* Uncomment next line if using Mbed */
/* #define MBED */
/* Uncomment next line if using Microchip PIC32 ethernet starter kit */
/* #define MICROCHIP_PIC32 */
/* Uncomment next line if using Microchip TCP/IP stack, version 5 */
/* #define MICROCHIP_TCPIP_V5 */
/* Uncomment next line if using Microchip TCP/IP stack, version 6 or later */
/* #define MICROCHIP_TCPIP */
/* Uncomment next line if using PIC32MZ Crypto Engine */
/* #define CYASSL_MICROCHIP_PIC32MZ */
/* Uncomment next line if using FreeRTOS */
/* #define FREERTOS */
/* Uncomment next line if using FreeRTOS Windows Simulator */
/* #define FREERTOS_WINSIM */
/* Uncomment next line if using RTIP */
/* #define EBSNET */
/* Uncomment next line if using lwip */
/* #define CYASSL_LWIP */
/* Uncomment next line if building CyaSSL for a game console */
/* #define CYASSL_GAME_BUILD */
/* Uncomment next line if building CyaSSL for LSR */
/* #define CYASSL_LSR */
/* Uncomment next line if building CyaSSL for Freescale MQX/RTCS/MFS */
/* #define FREESCALE_MQX */
/* Uncomment next line if using STM32F2 */
/* #define CYASSL_STM32F2 */
/* Uncomment next line if using Comverge settings */
/* #define COMVERGE */
/* Uncomment next line if using QL SEP settings */
/* #define CYASSL_QL */
/* Uncomment next line if using LwIP native TCP socket settings */
/* #define HAVE_LWIP_NATIVE */
/* Uncomment next line if building for EROAD */
/* #define CYASSL_EROAD */
#include <cyassl/ctaocrypt/visibility.h>
#ifdef IPHONE
#define SIZEOF_LONG_LONG 8
#endif
#ifdef CYASSL_USER_SETTINGS
#include <user_settings.h>
#endif
#ifdef COMVERGE
#define THREADX
#define HAVE_NETX
#define CYASSL_USER_IO
#define NO_WRITEV
#define NO_DEV_RANDOM
#define NO_FILESYSTEM
#define NO_SHA512
#define NO_DH
#define NO_DSA
#define NO_HC128
#define NO_RSA
#define NO_SESSION_CACHE
#define HAVE_ECC
#endif
#ifdef THREADX
#define SIZEOF_LONG_LONG 8
#endif
#ifdef HAVE_NETX
#include "nx_api.h"
#endif
#if defined(HAVE_LWIP_NATIVE) /* using LwIP native TCP socket */
#define CYASSL_LWIP
#define NO_WRITEV
#define SINGLE_THREADED
#define CYASSL_USER_IO
#define NO_FILESYSTEM
#endif
#ifdef MICROCHIP_PIC32
/* #define CYASSL_MICROCHIP_PIC32MZ */
#define SIZEOF_LONG_LONG 8
#define SINGLE_THREADED
#define CYASSL_USER_IO
#define NO_WRITEV
#define NO_DEV_RANDOM
#define NO_FILESYSTEM
#define USE_FAST_MATH
#define TFM_TIMING_RESISTANT
#endif
#ifdef CYASSL_MICROCHIP_PIC32MZ
#define CYASSL_PIC32MZ_CE
#define CYASSL_PIC32MZ_CRYPT
#define HAVE_AES_ENGINE
#define CYASSL_PIC32MZ_RNG
/* #define CYASSL_PIC32MZ_HASH */
#define CYASSL_AES_COUNTER
#define HAVE_AESGCM
#define NO_BIG_INT
#endif
#ifdef MICROCHIP_TCPIP_V5
/* include timer functions */
#include "TCPIP Stack/TCPIP.h"
#endif
#ifdef MICROCHIP_TCPIP
/* include timer, NTP functions */
#ifdef MICROCHIP_MPLAB_HARMONY
#include "tcpip/tcpip.h"
#else
#include "system/system_services.h"
#include "tcpip/sntp.h"
#endif
#endif
#ifdef MBED
#define CYASSL_USER_IO
#define NO_FILESYSTEM
#define NO_CERT
#define USE_CERT_BUFFERS_1024
#define NO_WRITEV
#define NO_DEV_RANDOM
#define NO_SHA512
#define NO_DH
#define NO_DSA
#define NO_HC128
#define HAVE_ECC
#define NO_SESSION_CACHE
#define CYASSL_CMSIS_RTOS
#endif
#ifdef CYASSL_EROAD
#define FREESCALE_MQX
#define FREESCALE_MMCAU
#define SINGLE_THREADED
#define NO_STDIO_FILESYSTEM
#define CYASSL_LEANPSK
#define HAVE_NULL_CIPHER
#define NO_OLD_TLS
#define NO_ASN
#define NO_BIG_INT
#define NO_RSA
#define NO_DSA
#define NO_DH
#define NO_CERTS
#define NO_PWDBASED
#define NO_DES3
#define NO_MD4
#define NO_RC4
#define NO_MD5
#define NO_SESSION_CACHE
#define NO_MAIN_DRIVER
#endif
#ifdef FREERTOS_WINSIM
#define FREERTOS
#define USE_WINDOWS_API
#endif
/* Micrium will use Visual Studio for compilation but not the Win32 API */
#if defined(_WIN32) && !defined(MICRIUM) && !defined(FREERTOS) \
&& !defined(EBSNET) && !defined(CYASSL_EROAD)
#define USE_WINDOWS_API
#endif
#if defined(CYASSL_LEANPSK) && !defined(XMALLOC_USER)
#include <stdlib.h>
#define XMALLOC(s, h, type) malloc((s))
#define XFREE(p, h, type) free((p))
#define XREALLOC(p, n, h, t) realloc((p), (n))
#endif
#if defined(XMALLOC_USER) && defined(SSN_BUILDING_LIBYASSL)
#undef XMALLOC
#define XMALLOC yaXMALLOC
#undef XFREE
#define XFREE yaXFREE
#undef XREALLOC
#define XREALLOC yaXREALLOC
#endif
#ifdef FREERTOS
#ifndef NO_WRITEV
#define NO_WRITEV
#endif
#ifndef NO_SHA512
#define NO_SHA512
#endif
#ifndef NO_DH
#define NO_DH
#endif
#ifndef NO_DSA
#define NO_DSA
#endif
#ifndef NO_HC128
#define NO_HC128
#endif
#ifndef SINGLE_THREADED
#include "FreeRTOS.h"
#include "semphr.h"
#endif
#endif
#ifdef EBSNET
#include "rtip.h"
/* #define DEBUG_CYASSL */
#define NO_CYASSL_DIR /* tbd */
#if (POLLOS)
#define SINGLE_THREADED
#endif
#if (RTPLATFORM)
#if (!RTP_LITTLE_ENDIAN)
#define BIG_ENDIAN_ORDER
#endif
#else
#if (!KS_LITTLE_ENDIAN)
#define BIG_ENDIAN_ORDER
#endif
#endif
#if (WINMSP3)
#undef SIZEOF_LONG
#define SIZEOF_LONG_LONG 8
#else
#sslpro: settings.h - please implement SIZEOF_LONG and SIZEOF_LONG_LONG
#endif
#define XMALLOC(s, h, type) ((void *)rtp_malloc((s), SSL_PRO_MALLOC))
#define XFREE(p, h, type) (rtp_free(p))
#define XREALLOC(p, n, h, t) realloc((p), (n))
#endif /* EBSNET */
#ifdef CYASSL_GAME_BUILD
#define SIZEOF_LONG_LONG 8
#if defined(__PPU) || defined(__XENON)
#define BIG_ENDIAN_ORDER
#endif
#endif
#ifdef CYASSL_LSR
#define HAVE_WEBSERVER
#define SIZEOF_LONG_LONG 8
#define CYASSL_LOW_MEMORY
#define NO_WRITEV
#define NO_SHA512
#define NO_DH
#define NO_DSA
#define NO_HC128
#define NO_DEV_RANDOM
#define NO_CYASSL_DIR
#define NO_RABBIT
#ifndef NO_FILESYSTEM
#define LSR_FS
#include "inc/hw_types.h"
#include "fs.h"
#endif
#define CYASSL_LWIP
#include <errno.h> /* for tcp errno */
#define CYASSL_SAFERTOS
#if defined(__IAR_SYSTEMS_ICC__)
/* enum uses enum */
#pragma diag_suppress=Pa089
#endif
#endif
#ifdef CYASSL_SAFERTOS
#ifndef SINGLE_THREADED
#include "SafeRTOS/semphr.h"
#endif
#include "SafeRTOS/heap.h"
#define XMALLOC(s, h, type) pvPortMalloc((s))
#define XFREE(p, h, type) vPortFree((p))
#define XREALLOC(p, n, h, t) pvPortRealloc((p), (n))
#endif
#ifdef CYASSL_LOW_MEMORY
#undef RSA_LOW_MEM
#define RSA_LOW_MEM
#undef CYASSL_SMALL_STACK
#define CYASSL_SMALL_STACK
#undef TFM_TIMING_RESISTANT
#define TFM_TIMING_RESISTANT
#endif
#ifdef FREESCALE_MQX
#define SIZEOF_LONG_LONG 8
#define NO_WRITEV
#define NO_DEV_RANDOM
#define NO_RABBIT
#define NO_CYASSL_DIR
#define USE_FAST_MATH
#define TFM_TIMING_RESISTANT
#define FREESCALE_K70_RNGA
/* #define FREESCALE_K53_RNGB */
#include "mqx.h"
#ifndef NO_FILESYSTEM
#include "mfs.h"
#include "fio.h"
#endif
#ifndef SINGLE_THREADED
#include "mutex.h"
#endif
#define XMALLOC(s, h, t) (void *)_mem_alloc_system((s))
#define XFREE(p, h, t) {void* xp = (p); if ((xp)) _mem_free((xp));}
/* Note: MQX has no realloc, using fastmath above */
#endif
#ifdef CYASSL_STM32F2
#define SIZEOF_LONG_LONG 8
#define NO_DEV_RANDOM
#define NO_CYASSL_DIR
#define NO_RABBIT
#define STM32F2_RNG
#define STM32F2_CRYPTO
#define KEIL_INTRINSICS
#endif
#ifdef MICRIUM
#include "stdlib.h"
#include "net_cfg.h"
#include "ssl_cfg.h"
#include "net_secure_os.h"
#define CYASSL_TYPES
typedef CPU_INT08U byte;
typedef CPU_INT16U word16;
typedef CPU_INT32U word32;
#if (NET_SECURE_MGR_CFG_WORD_SIZE == CPU_WORD_SIZE_32)
#define SIZEOF_LONG 4
#undef SIZEOF_LONG_LONG
#else
#undef SIZEOF_LONG
#define SIZEOF_LONG_LONG 8
#endif
#define STRING_USER
#define XSTRLEN(pstr) ((CPU_SIZE_T)Str_Len((CPU_CHAR *)(pstr)))
#define XSTRNCPY(pstr_dest, pstr_src, len_max) \
((CPU_CHAR *)Str_Copy_N((CPU_CHAR *)(pstr_dest), \
(CPU_CHAR *)(pstr_src), (CPU_SIZE_T)(len_max)))
#define XSTRNCMP(pstr_1, pstr_2, len_max) \
((CPU_INT16S)Str_Cmp_N((CPU_CHAR *)(pstr_1), \
(CPU_CHAR *)(pstr_2), (CPU_SIZE_T)(len_max)))
#define XSTRSTR(pstr, pstr_srch) \
((CPU_CHAR *)Str_Str((CPU_CHAR *)(pstr), \
(CPU_CHAR *)(pstr_srch)))
#define XMEMSET(pmem, data_val, size) \
((void)Mem_Set((void *)(pmem), (CPU_INT08U) (data_val), \
(CPU_SIZE_T)(size)))
#define XMEMCPY(pdest, psrc, size) ((void)Mem_Copy((void *)(pdest), \
(void *)(psrc), (CPU_SIZE_T)(size)))
#define XMEMCMP(pmem_1, pmem_2, size) \
(((CPU_BOOLEAN)Mem_Cmp((void *)(pmem_1), (void *)(pmem_2), \
(CPU_SIZE_T)(size))) ? DEF_NO : DEF_YES)
#define XMEMMOVE XMEMCPY
#if (NET_SECURE_MGR_CFG_EN == DEF_ENABLED)
#define MICRIUM_MALLOC
#define XMALLOC(s, h, type) ((void *)NetSecure_BlkGet((CPU_INT08U)(type), \
(CPU_SIZE_T)(s), (void *)0))
#define XFREE(p, h, type) (NetSecure_BlkFree((CPU_INT08U)(type), \
(p), (void *)0))
#define XREALLOC(p, n, h, t) realloc((p), (n))
#endif
#if (NET_SECURE_MGR_CFG_FS_EN == DEF_ENABLED)
#undef NO_FILESYSTEM
#else
#define NO_FILESYSTEM
#endif
#if (SSL_CFG_TRACE_LEVEL == CYASSL_TRACE_LEVEL_DBG)
#define DEBUG_CYASSL
#else
#undef DEBUG_CYASSL
#endif
#if (SSL_CFG_OPENSSL_EN == DEF_ENABLED)
#define OPENSSL_EXTRA
#else
#undef OPENSSL_EXTRA
#endif
#if (SSL_CFG_MULTI_THREAD_EN == DEF_ENABLED)
#undef SINGLE_THREADED
#else
#define SINGLE_THREADED
#endif
#if (SSL_CFG_DH_EN == DEF_ENABLED)
#undef NO_DH
#else
#define NO_DH
#endif
#if (SSL_CFG_DSA_EN == DEF_ENABLED)
#undef NO_DSA
#else
#define NO_DSA
#endif
#if (SSL_CFG_PSK_EN == DEF_ENABLED)
#undef NO_PSK
#else
#define NO_PSK
#endif
#if (SSL_CFG_3DES_EN == DEF_ENABLED)
#undef NO_DES
#else
#define NO_DES
#endif
#if (SSL_CFG_AES_EN == DEF_ENABLED)
#undef NO_AES
#else
#define NO_AES
#endif
#if (SSL_CFG_RC4_EN == DEF_ENABLED)
#undef NO_RC4
#else
#define NO_RC4
#endif
#if (SSL_CFG_RABBIT_EN == DEF_ENABLED)
#undef NO_RABBIT
#else
#define NO_RABBIT
#endif
#if (SSL_CFG_HC128_EN == DEF_ENABLED)
#undef NO_HC128
#else
#define NO_HC128
#endif
#if (CPU_CFG_ENDIAN_TYPE == CPU_ENDIAN_TYPE_BIG)
#define BIG_ENDIAN_ORDER
#else
#undef BIG_ENDIAN_ORDER
#define LITTLE_ENDIAN_ORDER
#endif
#if (SSL_CFG_MD4_EN == DEF_ENABLED)
#undef NO_MD4
#else
#define NO_MD4
#endif
#if (SSL_CFG_WRITEV_EN == DEF_ENABLED)
#undef NO_WRITEV
#else
#define NO_WRITEV
#endif
#if (SSL_CFG_USER_RNG_SEED_EN == DEF_ENABLED)
#define NO_DEV_RANDOM
#else
#undef NO_DEV_RANDOM
#endif
#if (SSL_CFG_USER_IO_EN == DEF_ENABLED)
#define CYASSL_USER_IO
#else
#undef CYASSL_USER_IO
#endif
#if (SSL_CFG_DYNAMIC_BUFFERS_EN == DEF_ENABLED)
#undef LARGE_STATIC_BUFFERS
#undef STATIC_CHUNKS_ONLY
#else
#define LARGE_STATIC_BUFFERS
#define STATIC_CHUNKS_ONLY
#endif
#if (SSL_CFG_DER_LOAD_EN == DEF_ENABLED)
#define CYASSL_DER_LOAD
#else
#undef CYASSL_DER_LOAD
#endif
#if (SSL_CFG_DTLS_EN == DEF_ENABLED)
#define CYASSL_DTLS
#else
#undef CYASSL_DTLS
#endif
#if (SSL_CFG_CALLBACKS_EN == DEF_ENABLED)
#define CYASSL_CALLBACKS
#else
#undef CYASSL_CALLBACKS
#endif
#if (SSL_CFG_FAST_MATH_EN == DEF_ENABLED)
#define USE_FAST_MATH
#else
#undef USE_FAST_MATH
#endif
#if (SSL_CFG_TFM_TIMING_RESISTANT_EN == DEF_ENABLED)
#define TFM_TIMING_RESISTANT
#else
#undef TFM_TIMING_RESISTANT
#endif
#endif /* MICRIUM */
#ifdef CYASSL_QL
#ifndef CYASSL_SEP
#define CYASSL_SEP
#endif
#ifndef OPENSSL_EXTRA
#define OPENSSL_EXTRA
#endif
#ifndef SESSION_CERTS
#define SESSION_CERTS
#endif
#ifndef HAVE_AESCCM
#define HAVE_AESCCM
#endif
#ifndef ATOMIC_USER
#define ATOMIC_USER
#endif
#ifndef CYASSL_DER_LOAD
#define CYASSL_DER_LOAD
#endif
#ifndef KEEP_PEER_CERT
#define KEEP_PEER_CERT
#endif
#ifndef HAVE_ECC
#define HAVE_ECC
#endif
#ifndef SESSION_INDEX
#define SESSION_INDEX
#endif
#endif /* CYASSL_QL */
#if !defined(XMALLOC_USER) && !defined(MICRIUM_MALLOC) && \
!defined(CYASSL_LEANPSK) && !defined(NO_CYASSL_MEMORY)
#define USE_CYASSL_MEMORY
#endif
#if defined(OPENSSL_EXTRA) && !defined(NO_CERTS)
#undef KEEP_PEER_CERT
#define KEEP_PEER_CERT
#endif
/* stream ciphers except arc4 need 32bit alignment, intel ok without */
#ifndef XSTREAM_ALIGNMENT
#if defined(__x86_64__) || defined(__ia64__) || defined(__i386__)
#define NO_XSTREAM_ALIGNMENT
#else
#define XSTREAM_ALIGNMENT
#endif
#endif
/* if using hardware crypto and have alignment requirements, specify the
requirement here. The record header of SSL/TLS will prvent easy alignment.
This hint tries to help as much as possible. */
#ifndef CYASSL_GENERAL_ALIGNMENT
#ifdef CYASSL_AESNI
#define CYASSL_GENERAL_ALIGNMENT 16
#elif defined(XSTREAM_ALIGNMENT)
#define CYASSL_GENERAL_ALIGNMENT 4
#else
#define CYASSL_GENERAL_ALIGNMENT 0
#endif
#endif
#ifdef HAVE_CRL
/* not widely supported yet */
#undef NO_SKID
#define NO_SKID
#endif
/* Place any other flags or defines here */
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* CTAO_CRYPT_SETTINGS_H */

File diff suppressed because it is too large Load Diff

View File

@@ -1,28 +0,0 @@
/* certs_test.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
/* Define initial data for cert buffers */
#include <cyassl/certs_test.h>

View File

@@ -1,858 +0,0 @@
/* client.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#define CYASSL_MDK_ARM
#if defined(CYASSL_MDK_ARM)
#include <stdio.h>
#include <string.h>
#if defined(CYASSL_MDK5)
#include "cmsis_os.h"
#include "rl_fs.h"
#include "rl_net.h"
#else
#include "rtl.h"
#endif
#include "cyassl_MDK_ARM.h"
#endif
#include <cyassl/ctaocrypt/settings.h>
#if !defined(CYASSL_TRACK_MEMORY) && !defined(NO_MAIN_DRIVER)
/* in case memory tracker wants stats */
#define CYASSL_TRACK_MEMORY
#endif
#include <cyassl/ssl.h>
#include <cyassl/test.h>
#include "examples/client/client.h"
#ifdef CYASSL_CALLBACKS
int handShakeCB(HandShakeInfo*);
int timeoutCB(TimeoutInfo*);
Timeval timeout;
#endif
static void NonBlockingSSL_Connect(CYASSL* ssl)
{
#ifndef CYASSL_CALLBACKS
int ret = CyaSSL_connect(ssl);
#else
int ret = CyaSSL_connect_ex(ssl, handShakeCB, timeoutCB, timeout);
#endif
int error = CyaSSL_get_error(ssl, 0);
SOCKET_T sockfd = (SOCKET_T)CyaSSL_get_fd(ssl);
int select_ret;
while (ret != SSL_SUCCESS && (error == SSL_ERROR_WANT_READ ||
error == SSL_ERROR_WANT_WRITE)) {
int currTimeout = 1;
if (error == SSL_ERROR_WANT_READ)
printf("... client would read block\n");
else
printf("... client would write block\n");
#ifdef CYASSL_DTLS
currTimeout = CyaSSL_dtls_get_current_timeout(ssl);
#endif
select_ret = tcp_select(sockfd, currTimeout);
if ((select_ret == TEST_RECV_READY) ||
(select_ret == TEST_ERROR_READY)) {
#ifndef CYASSL_CALLBACKS
ret = CyaSSL_connect(ssl);
#else
ret = CyaSSL_connect_ex(ssl,handShakeCB,timeoutCB,timeout);
#endif
error = CyaSSL_get_error(ssl, 0);
}
else if (select_ret == TEST_TIMEOUT && !CyaSSL_dtls(ssl)) {
error = SSL_ERROR_WANT_READ;
}
#ifdef CYASSL_DTLS
else if (select_ret == TEST_TIMEOUT && CyaSSL_dtls(ssl) &&
CyaSSL_dtls_got_timeout(ssl) >= 0) {
error = SSL_ERROR_WANT_READ;
}
#endif
else {
error = SSL_FATAL_ERROR;
}
}
if (ret != SSL_SUCCESS)
err_sys("SSL_connect failed");
}
static void Usage(void)
{
printf("client " LIBCYASSL_VERSION_STRING
" NOTE: All files relative to CyaSSL home dir\n");
printf("-? Help, print this usage\n");
printf("-h <host> Host to connect to, default %s\n", yasslIP);
printf("-p <num> Port to connect on, not 0, default %d\n", yasslPort);
printf("-v <num> SSL version [0-3], SSLv3(0) - TLS1.2(3)), default %d\n",
CLIENT_DEFAULT_VERSION);
printf("-l <str> Cipher list\n");
printf("-c <file> Certificate file, default %s\n", cliCert);
printf("-k <file> Key file, default %s\n", cliKey);
printf("-A <file> Certificate Authority file, default %s\n", caCert);
printf("-b <num> Benchmark <num> connections and print stats\n");
printf("-s Use pre Shared keys\n");
printf("-t Track CyaSSL memory use\n");
printf("-d Disable peer checks\n");
printf("-g Send server HTTP GET\n");
printf("-u Use UDP DTLS,"
" add -v 2 for DTLSv1 (default), -v 3 for DTLSv1.2\n");
printf("-m Match domain name in cert\n");
printf("-N Use Non-blocking sockets\n");
printf("-r Resume session\n");
printf("-f Fewer packets/group messages\n");
printf("-x Disable client cert/key loading\n");
#ifdef SHOW_SIZES
printf("-z Print structure sizes\n");
#endif
#ifdef HAVE_SNI
printf("-S <str> Use Host Name Indication\n");
#endif
#ifdef HAVE_MAX_FRAGMENT
printf("-L <num> Use Maximum Fragment Length [1-5]\n");
#endif
#ifdef HAVE_TRUNCATED_HMAC
printf("-T Use Truncated HMAC\n");
#endif
#ifdef HAVE_OCSP
printf("-o Perform OCSP lookup on peer certificate\n");
printf("-O <url> Perform OCSP lookup using <url> as responder\n");
#endif
#ifdef ATOMIC_USER
printf("-U Atomic User Record Layer Callbacks\n");
#endif
#ifdef HAVE_PK_CALLBACKS
printf("-P Public Key Callbacks\n");
#endif
}
#ifdef CYASSL_MDK_SHELL
#define exit(code) return(code)
#endif
THREAD_RETURN CYASSL_THREAD client_test(void* args)
{
SOCKET_T sockfd = 0;
CYASSL_METHOD* method = 0;
CYASSL_CTX* ctx = 0;
CYASSL* ssl = 0;
CYASSL* sslResume = 0;
CYASSL_SESSION* session = 0;
char resumeMsg[] = "resuming cyassl!";
int resumeSz = sizeof(resumeMsg);
char msg[32] = "hello cyassl!"; /* GET may make bigger */
char reply[80];
int input;
int msgSz = (int)strlen(msg);
word16 port = yasslPort;
char* host = (char*)yasslIP;
char* domain = (char*)"www.yassl.com";
int ch;
int version = CLIENT_INVALID_VERSION;
int usePsk = 0;
int sendGET = 0;
int benchmark = 0;
int doDTLS = 0;
int matchName = 0;
int doPeerCheck = 1;
int nonBlocking = 0;
int resumeSession = 0;
int trackMemory = 0;
int useClientCert = 1;
int fewerPackets = 0;
int atomicUser = 0;
int pkCallbacks = 0;
char* cipherList = NULL;
char* verifyCert = (char*)caCert;
char* ourCert = (char*)cliCert;
char* ourKey = (char*)cliKey;
#ifdef HAVE_SNI
char* sniHostName = NULL;
#endif
#ifdef HAVE_MAX_FRAGMENT
byte maxFragment = 0;
#endif
#ifdef HAVE_TRUNCATED_HMAC
byte truncatedHMAC = 0;
#endif
#ifdef HAVE_OCSP
int useOcsp = 0;
char* ocspUrl = NULL;
#endif
int argc = ((func_args*)args)->argc;
char** argv = ((func_args*)args)->argv;
((func_args*)args)->return_code = -1; /* error state */
#ifdef NO_RSA
verifyCert = (char*)eccCert;
ourCert = (char*)cliEccCert;
ourKey = (char*)cliEccKey;
#endif
(void)resumeSz;
(void)session;
(void)sslResume;
(void)trackMemory;
(void)atomicUser;
(void)pkCallbacks;
StackTrap();
while ((ch = mygetopt(argc, argv,
"?gdusmNrtfxUPh:p:v:l:A:c:k:b:zS:L:ToO:")) != -1) {
switch (ch) {
case '?' :
Usage();
exit(EXIT_SUCCESS);
case 'g' :
sendGET = 1;
break;
case 'd' :
doPeerCheck = 0;
break;
case 'u' :
doDTLS = 1;
break;
case 's' :
usePsk = 1;
break;
case 't' :
#ifdef USE_CYASSL_MEMORY
trackMemory = 1;
#endif
break;
case 'm' :
matchName = 1;
break;
case 'x' :
useClientCert = 0;
break;
case 'f' :
fewerPackets = 1;
break;
case 'U' :
#ifdef ATOMIC_USER
atomicUser = 1;
#endif
break;
case 'P' :
#ifdef HAVE_PK_CALLBACKS
pkCallbacks = 1;
#endif
break;
case 'h' :
host = myoptarg;
domain = myoptarg;
break;
case 'p' :
port = (word16)atoi(myoptarg);
#if !defined(NO_MAIN_DRIVER) || defined(USE_WINDOWS_API)
if (port == 0)
err_sys("port number cannot be 0");
#endif
break;
case 'v' :
version = atoi(myoptarg);
if (version < 0 || version > 3) {
Usage();
exit(MY_EX_USAGE);
}
break;
case 'l' :
cipherList = myoptarg;
break;
case 'A' :
verifyCert = myoptarg;
break;
case 'c' :
ourCert = myoptarg;
break;
case 'k' :
ourKey = myoptarg;
break;
case 'b' :
benchmark = atoi(myoptarg);
if (benchmark < 0 || benchmark > 1000000) {
Usage();
exit(MY_EX_USAGE);
}
break;
case 'N' :
nonBlocking = 1;
break;
case 'r' :
resumeSession = 1;
break;
case 'z' :
#ifndef CYASSL_LEANPSK
CyaSSL_GetObjectSize();
#endif
break;
case 'S' :
#ifdef HAVE_SNI
sniHostName = myoptarg;
#endif
break;
case 'L' :
#ifdef HAVE_MAX_FRAGMENT
maxFragment = atoi(myoptarg);
if (maxFragment < CYASSL_MFL_2_9 ||
maxFragment > CYASSL_MFL_2_13) {
Usage();
exit(MY_EX_USAGE);
}
#endif
break;
case 'T' :
#ifdef HAVE_TRUNCATED_HMAC
truncatedHMAC = 1;
#endif
break;
case 'o' :
#ifdef HAVE_OCSP
useOcsp = 1;
#endif
break;
case 'O' :
#ifdef HAVE_OCSP
useOcsp = 1;
ocspUrl = myoptarg;
#endif
break;
default:
Usage();
exit(MY_EX_USAGE);
}
}
myoptind = 0; /* reset for test cases */
/* sort out DTLS versus TLS versions */
if (version == CLIENT_INVALID_VERSION) {
if (doDTLS)
version = CLIENT_DTLS_DEFAULT_VERSION;
else
version = CLIENT_DEFAULT_VERSION;
}
else {
if (doDTLS) {
if (version == 3)
version = -2;
else
version = -1;
}
}
#ifdef USE_CYASSL_MEMORY
if (trackMemory)
InitMemoryTracker();
#endif
switch (version) {
#ifndef NO_OLD_TLS
case 0:
method = wolfSSLv3_client_method();
break;
#ifndef NO_TLS
case 1:
method = CyaTLSv1_client_method();
break;
case 2:
method = CyaTLSv1_1_client_method();
break;
#endif /* NO_TLS */
#endif /* NO_OLD_TLS */
#ifndef NO_TLS
case 3:
method = CyaTLSv1_2_client_method();
break;
#endif
#ifdef CYASSL_DTLS
case -1:
method = CyaDTLSv1_client_method();
break;
case -2:
method = CyaDTLSv1_2_client_method();
break;
#endif
default:
err_sys("Bad SSL version");
break;
}
if (method == NULL)
err_sys("unable to get method");
ctx = CyaSSL_CTX_new(method);
if (ctx == NULL)
err_sys("unable to get ctx");
if (cipherList)
if (CyaSSL_CTX_set_cipher_list(ctx, cipherList) != SSL_SUCCESS)
err_sys("client can't set cipher list 1");
#ifdef CYASSL_LEANPSK
usePsk = 1;
#endif
#if defined(NO_RSA) && !defined(HAVE_ECC)
usePsk = 1;
#endif
if (fewerPackets)
CyaSSL_CTX_set_group_messages(ctx);
if (usePsk) {
#ifndef NO_PSK
CyaSSL_CTX_set_psk_client_callback(ctx, my_psk_client_cb);
if (cipherList == NULL) {
const char *defaultCipherList;
#ifdef HAVE_NULL_CIPHER
defaultCipherList = "PSK-NULL-SHA256";
#else
defaultCipherList = "PSK-AES128-CBC-SHA256";
#endif
if (CyaSSL_CTX_set_cipher_list(ctx,defaultCipherList) !=SSL_SUCCESS)
err_sys("client can't set cipher list 2");
}
#endif
useClientCert = 0;
}
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
CyaSSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif
#if defined(CYASSL_SNIFFER) && !defined(HAVE_NTRU) && !defined(HAVE_ECC)
if (cipherList == NULL) {
/* don't use EDH, can't sniff tmp keys */
if (CyaSSL_CTX_set_cipher_list(ctx, "AES256-SHA256") != SSL_SUCCESS) {
err_sys("client can't set cipher list 3");
}
}
#endif
#ifdef HAVE_OCSP
if (useOcsp) {
if (ocspUrl != NULL) {
CyaSSL_CTX_SetOCSP_OverrideURL(ctx, ocspUrl);
CyaSSL_CTX_EnableOCSP(ctx, CYASSL_OCSP_NO_NONCE
| CYASSL_OCSP_URL_OVERRIDE);
}
else
CyaSSL_CTX_EnableOCSP(ctx, CYASSL_OCSP_NO_NONCE);
}
#endif
#ifdef USER_CA_CB
CyaSSL_CTX_SetCACb(ctx, CaCb);
#endif
#ifdef VERIFY_CALLBACK
CyaSSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, myVerify);
#endif
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS)
if (useClientCert){
if (CyaSSL_CTX_use_certificate_chain_file(ctx, ourCert) != SSL_SUCCESS)
err_sys("can't load client cert file, check file and run from"
" CyaSSL home dir");
if (CyaSSL_CTX_use_PrivateKey_file(ctx, ourKey, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load client private key file, check file and run "
"from CyaSSL home dir");
}
if (!usePsk) {
if (CyaSSL_CTX_load_verify_locations(ctx, verifyCert, 0) != SSL_SUCCESS)
err_sys("can't load ca file, Please run from CyaSSL home dir");
}
#endif
#if !defined(NO_CERTS)
if (!usePsk && doPeerCheck == 0)
CyaSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
#endif
#ifdef HAVE_CAVIUM
CyaSSL_CTX_UseCavium(ctx, CAVIUM_DEV_ID);
#endif
#ifdef HAVE_SNI
if (sniHostName)
if (CyaSSL_CTX_UseSNI(ctx, 0, sniHostName, XSTRLEN(sniHostName))
!= SSL_SUCCESS)
err_sys("UseSNI failed");
#endif
#ifdef HAVE_MAX_FRAGMENT
if (maxFragment)
if (CyaSSL_CTX_UseMaxFragment(ctx, maxFragment) != SSL_SUCCESS)
err_sys("UseMaxFragment failed");
#endif
#ifdef HAVE_TRUNCATED_HMAC
if (truncatedHMAC)
if (CyaSSL_CTX_UseTruncatedHMAC(ctx) != SSL_SUCCESS)
err_sys("UseTruncatedHMAC failed");
#endif
if (benchmark) {
/* time passed in number of connects give average */
int times = benchmark;
int i = 0;
double start = current_time(), avg;
for (i = 0; i < times; i++) {
tcp_connect(&sockfd, host, port, doDTLS);
ssl = CyaSSL_new(ctx);
CyaSSL_set_fd(ssl, sockfd);
if (CyaSSL_connect(ssl) != SSL_SUCCESS)
err_sys("SSL_connect failed");
CyaSSL_shutdown(ssl);
CyaSSL_free(ssl);
CloseSocket(sockfd);
}
avg = current_time() - start;
avg /= times;
avg *= 1000; /* milliseconds */
printf("CyaSSL_connect avg took: %8.3f milliseconds\n", avg);
CyaSSL_CTX_free(ctx);
((func_args*)args)->return_code = 0;
exit(EXIT_SUCCESS);
}
#if defined(CYASSL_MDK_ARM)
CyaSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
#endif
ssl = CyaSSL_new(ctx);
if (ssl == NULL)
err_sys("unable to get SSL object");
if (doDTLS) {
SOCKADDR_IN_T addr;
build_addr(&addr, host, port, 1);
CyaSSL_dtls_set_peer(ssl, &addr, sizeof(addr));
tcp_socket(&sockfd, 1);
}
else {
tcp_connect(&sockfd, host, port, 0);
}
CyaSSL_set_fd(ssl, sockfd);
#ifdef HAVE_CRL
if (CyaSSL_EnableCRL(ssl, CYASSL_CRL_CHECKALL) != SSL_SUCCESS)
err_sys("can't enable crl check");
if (CyaSSL_LoadCRL(ssl, crlPemDir, SSL_FILETYPE_PEM, 0) != SSL_SUCCESS)
err_sys("can't load crl, check crlfile and date validity");
if (CyaSSL_SetCRL_Cb(ssl, CRL_CallBack) != SSL_SUCCESS)
err_sys("can't set crl callback");
#endif
#ifdef ATOMIC_USER
if (atomicUser)
SetupAtomicUser(ctx, ssl);
#endif
#ifdef HAVE_PK_CALLBACKS
if (pkCallbacks)
SetupPkCallbacks(ctx, ssl);
#endif
if (matchName && doPeerCheck)
CyaSSL_check_domain_name(ssl, domain);
#ifndef CYASSL_CALLBACKS
if (nonBlocking) {
CyaSSL_set_using_nonblock(ssl, 1);
tcp_set_nonblocking(&sockfd);
NonBlockingSSL_Connect(ssl);
}
else if (CyaSSL_connect(ssl) != SSL_SUCCESS) {
/* see note at top of README */
int err = CyaSSL_get_error(ssl, 0);
char buffer[CYASSL_MAX_ERROR_SZ];
printf("err = %d, %s\n", err,
CyaSSL_ERR_error_string(err, buffer));
err_sys("SSL_connect failed");
/* if you're getting an error here */
}
#else
timeout.tv_sec = 2;
timeout.tv_usec = 0;
NonBlockingSSL_Connect(ssl); /* will keep retrying on timeout */
#endif
showPeer(ssl);
if (sendGET) {
printf("SSL connect ok, sending GET...\n");
msgSz = 28;
strncpy(msg, "GET /index.html HTTP/1.0\r\n\r\n", msgSz);
msg[msgSz] = '\0';
}
if (CyaSSL_write(ssl, msg, msgSz) != msgSz)
err_sys("SSL_write failed");
input = CyaSSL_read(ssl, reply, sizeof(reply)-1);
if (input > 0) {
reply[input] = 0;
printf("Server response: %s\n", reply);
if (sendGET) { /* get html */
while (1) {
input = CyaSSL_read(ssl, reply, sizeof(reply)-1);
if (input > 0) {
reply[input] = 0;
printf("%s\n", reply);
}
else
break;
}
}
}
else if (input < 0) {
int readErr = CyaSSL_get_error(ssl, 0);
if (readErr != SSL_ERROR_WANT_READ)
err_sys("CyaSSL_read failed");
}
#ifndef NO_SESSION_CACHE
if (resumeSession) {
if (doDTLS) {
strncpy(msg, "break", 6);
msgSz = (int)strlen(msg);
/* try to send session close */
CyaSSL_write(ssl, msg, msgSz);
}
session = CyaSSL_get_session(ssl);
sslResume = CyaSSL_new(ctx);
}
#endif
if (doDTLS == 0) /* don't send alert after "break" command */
CyaSSL_shutdown(ssl); /* echoserver will interpret as new conn */
#ifdef ATOMIC_USER
if (atomicUser)
FreeAtomicUser(ssl);
#endif
CyaSSL_free(ssl);
CloseSocket(sockfd);
#ifndef NO_SESSION_CACHE
if (resumeSession) {
if (doDTLS) {
SOCKADDR_IN_T addr;
#ifdef USE_WINDOWS_API
Sleep(500);
#else
sleep(1);
#endif
build_addr(&addr, host, port, 1);
CyaSSL_dtls_set_peer(sslResume, &addr, sizeof(addr));
tcp_socket(&sockfd, 1);
}
else {
tcp_connect(&sockfd, host, port, 0);
}
CyaSSL_set_fd(sslResume, sockfd);
CyaSSL_set_session(sslResume, session);
showPeer(sslResume);
#ifndef CYASSL_CALLBACKS
if (nonBlocking) {
CyaSSL_set_using_nonblock(sslResume, 1);
tcp_set_nonblocking(&sockfd);
NonBlockingSSL_Connect(sslResume);
}
else if (CyaSSL_connect(sslResume) != SSL_SUCCESS)
err_sys("SSL resume failed");
#else
timeout.tv_sec = 2;
timeout.tv_usec = 0;
NonBlockingSSL_Connect(ssl); /* will keep retrying on timeout */
#endif
if (CyaSSL_session_reused(sslResume))
printf("reused session id\n");
else
printf("didn't reuse session id!!!\n");
if (CyaSSL_write(sslResume, resumeMsg, resumeSz) != resumeSz)
err_sys("SSL_write failed");
if (nonBlocking) {
/* give server a chance to bounce a message back to client */
#ifdef USE_WINDOWS_API
Sleep(500);
#else
sleep(1);
#endif
}
input = CyaSSL_read(sslResume, reply, sizeof(reply)-1);
if (input > 0) {
reply[input] = 0;
printf("Server resume response: %s\n", reply);
}
/* try to send session break */
CyaSSL_write(sslResume, msg, msgSz);
CyaSSL_shutdown(sslResume);
CyaSSL_free(sslResume);
CloseSocket(sockfd);
}
#endif /* NO_SESSION_CACHE */
CyaSSL_CTX_free(ctx);
((func_args*)args)->return_code = 0;
#ifdef USE_CYASSL_MEMORY
if (trackMemory)
ShowMemoryTracker();
#endif /* USE_CYASSL_MEMORY */
return 0;
}
/* so overall tests can pull in test function */
#ifndef NO_MAIN_DRIVER
int main(int argc, char** argv)
{
func_args args;
#ifdef HAVE_CAVIUM
int ret = OpenNitroxDevice(CAVIUM_DIRECT, CAVIUM_DEV_ID);
if (ret != 0)
err_sys("Cavium OpenNitroxDevice failed");
#endif /* HAVE_CAVIUM */
StartTCP();
args.argc = argc;
args.argv = argv;
CyaSSL_Init();
#if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL) && !defined(STACK_TRAP)
CyaSSL_Debugging_ON();
#endif
if (CurrentDir("client"))
ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
#ifdef HAVE_STACK_SIZE
StackSizeCheck(&args, client_test);
#else
client_test(&args);
#endif
CyaSSL_Cleanup();
#ifdef HAVE_CAVIUM
CspShutdown(CAVIUM_DEV_ID);
#endif
return args.return_code;
}
int myoptind = 0;
char* myoptarg = NULL;
#endif /* NO_MAIN_DRIVER */
#ifdef CYASSL_CALLBACKS
int handShakeCB(HandShakeInfo* info)
{
(void)info;
return 0;
}
int timeoutCB(TimeoutInfo* info)
{
(void)info;
return 0;
}
#endif

View File

@@ -1,282 +0,0 @@
/* echoclient.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <cyassl/ctaocrypt/settings.h>
#include <cyassl/openssl/ssl.h>
#if defined(CYASSL_MDK_ARM)
#include <stdio.h>
#include <string.h>
#if defined(CYASSL_MDK5)
#include "cmsis_os.h"
#include "rl_fs.h"
#include "rl_net.h"
#else
#include "rtl.h"
#endif
#include "cyassl_MDK_ARM.h"
#endif
#include <cyassl/test.h>
#include "examples/echoclient/echoclient.h"
void echoclient_test(void* args)
{
SOCKET_T sockfd = 0;
FILE* fin = stdin ;
FILE* fout = stdout;
int inCreated = 0;
int outCreated = 0;
char msg[1024];
char reply[1024+1];
SSL_METHOD* method = 0;
SSL_CTX* ctx = 0;
SSL* ssl = 0;
int doDTLS = 0;
int doPSK = 0;
int sendSz;
int argc = 0;
char** argv = 0;
word16 port = yasslPort;
((func_args*)args)->return_code = -1; /* error state */
#ifndef CYASSL_MDK_SHELL
argc = ((func_args*)args)->argc;
argv = ((func_args*)args)->argv;
#endif
if (argc >= 2) {
fin = fopen(argv[1], "r");
inCreated = 1;
}
if (argc >= 3) {
fout = fopen(argv[2], "w");
outCreated = 1;
}
if (!fin) err_sys("can't open input file");
if (!fout) err_sys("can't open output file");
#ifdef CYASSL_DTLS
doDTLS = 1;
#endif
#ifdef CYASSL_LEANPSK
doPSK = 1;
#endif
#if defined(NO_RSA) && !defined(HAVE_ECC)
doPSK = 1;
#endif
#if defined(NO_MAIN_DRIVER) && !defined(USE_WINDOWS_API) && !defined(CYASSL_MDK_SHELL)
port = ((func_args*)args)->signal->port;
#endif
#if defined(CYASSL_DTLS)
method = DTLSv1_client_method();
#elif !defined(NO_TLS)
method = CyaSSLv23_client_method();
#else
method = SSLv3_client_method();
#endif
ctx = SSL_CTX_new(method);
#ifndef NO_FILESYSTEM
#ifndef NO_RSA
if (SSL_CTX_load_verify_locations(ctx, caCert, 0) != SSL_SUCCESS)
err_sys("can't load ca file, Please run from CyaSSL home dir");
#endif
#ifdef HAVE_ECC
if (SSL_CTX_load_verify_locations(ctx, eccCert, 0) != SSL_SUCCESS)
err_sys("can't load ca file, Please run from CyaSSL home dir");
#endif
#elif !defined(NO_CERTS)
if (!doPSK)
load_buffer(ctx, caCert, CYASSL_CA);
#endif
#if defined(CYASSL_SNIFFER) && !defined(HAVE_NTRU) && !defined(HAVE_ECC)
/* don't use EDH, can't sniff tmp keys */
SSL_CTX_set_cipher_list(ctx, "AES256-SHA");
#endif
if (doPSK) {
#ifndef NO_PSK
const char *defaultCipherList;
CyaSSL_CTX_set_psk_client_callback(ctx, my_psk_client_cb);
#ifdef HAVE_NULL_CIPHER
defaultCipherList = "PSK-NULL-SHA256";
#else
defaultCipherList = "PSK-AES128-CBC-SHA256";
#endif
if (CyaSSL_CTX_set_cipher_list(ctx,defaultCipherList) !=SSL_SUCCESS)
err_sys("client can't set cipher list 2");
#endif
}
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
SSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif
#if defined(CYASSL_MDK_ARM)
CyaSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
#endif
ssl = SSL_new(ctx);
if (doDTLS) {
SOCKADDR_IN_T addr;
build_addr(&addr, yasslIP, port, 1);
CyaSSL_dtls_set_peer(ssl, &addr, sizeof(addr));
tcp_socket(&sockfd, 1);
}
else {
tcp_connect(&sockfd, yasslIP, port, 0);
}
SSL_set_fd(ssl, sockfd);
#if defined(USE_WINDOWS_API) && defined(CYASSL_DTLS) && defined(NO_MAIN_DRIVER)
/* let echoserver bind first, TODO: add Windows signal like pthreads does */
Sleep(100);
#endif
if (SSL_connect(ssl) != SSL_SUCCESS) err_sys("SSL_connect failed");
while (fgets(msg, sizeof(msg), fin) != 0) {
sendSz = (int)strlen(msg);
if (SSL_write(ssl, msg, sendSz) != sendSz)
err_sys("SSL_write failed");
if (strncmp(msg, "quit", 4) == 0) {
fputs("sending server shutdown command: quit!\n", fout);
break;
}
if (strncmp(msg, "break", 5) == 0) {
fputs("sending server session close: break!\n", fout);
break;
}
#ifndef CYASSL_MDK_SHELL
while (sendSz) {
int got;
if ( (got = SSL_read(ssl, reply, sizeof(reply)-1)) > 0) {
reply[got] = 0;
fputs(reply, fout);
fflush(fout) ;
sendSz -= got;
}
else
break;
}
#else
{
int got;
if ( (got = SSL_read(ssl, reply, sizeof(reply)-1)) > 0) {
reply[got] = 0;
fputs(reply, fout);
fflush(fout) ;
sendSz -= got;
}
}
#endif
}
#ifdef CYASSL_DTLS
strncpy(msg, "break", 6);
sendSz = (int)strlen(msg);
/* try to tell server done */
SSL_write(ssl, msg, sendSz);
#else
SSL_shutdown(ssl);
#endif
SSL_free(ssl);
SSL_CTX_free(ctx);
fflush(fout);
if (inCreated) fclose(fin);
if (outCreated) fclose(fout);
CloseSocket(sockfd);
((func_args*)args)->return_code = 0;
}
/* so overall tests can pull in test function */
#ifndef NO_MAIN_DRIVER
int main(int argc, char** argv)
{
func_args args;
#ifdef HAVE_CAVIUM
int ret = OpenNitroxDevice(CAVIUM_DIRECT, CAVIUM_DEV_ID);
if (ret != 0)
err_sys("Cavium OpenNitroxDevice failed");
#endif /* HAVE_CAVIUM */
StartTCP();
args.argc = argc;
args.argv = argv;
CyaSSL_Init();
#if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL)
CyaSSL_Debugging_ON();
#endif
if (CurrentDir("echoclient"))
ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
echoclient_test(&args);
CyaSSL_Cleanup();
#ifdef HAVE_CAVIUM
CspShutdown(CAVIUM_DEV_ID);
#endif
return args.return_code;
}
#endif /* NO_MAIN_DRIVER */

View File

@@ -1,368 +0,0 @@
/* echoserver.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <cyassl/ctaocrypt/settings.h>
#if defined(CYASSL_MDK_ARM)
#include <stdio.h>
#include <string.h>
#if defined(CYASSL_MDK5)
#include "cmsis_os.h"
#include "rl_fs.h"
#include "rl_net.h"
#else
#include "rtl.h"
#endif
#include "cyassl_MDK_ARM.h"
#endif
#include <cyassl/ssl.h>
#include <cyassl/test.h>
#ifndef NO_MAIN_DRIVER
#define ECHO_OUT
#endif
#include "examples/echoserver/echoserver.h"
#ifdef SESSION_STATS
CYASSL_API void PrintSessionStats(void);
#endif
#define SVR_COMMAND_SIZE 256
static void SignalReady(void* args, word16 port)
{
#if defined(_POSIX_THREADS) && defined(NO_MAIN_DRIVER) && !defined(__MINGW32__)
/* signal ready to tcp_accept */
func_args* server_args = (func_args*)args;
tcp_ready* ready = server_args->signal;
pthread_mutex_lock(&ready->mutex);
ready->ready = 1;
ready->port = port;
pthread_cond_signal(&ready->cond);
pthread_mutex_unlock(&ready->mutex);
#endif
(void)args;
(void)port;
}
THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
{
SOCKET_T sockfd = 0;
CYASSL_METHOD* method = 0;
CYASSL_CTX* ctx = 0;
int doDTLS = 0;
int doPSK = 0;
int outCreated = 0;
int shutDown = 0;
int useAnyAddr = 0;
word16 port = yasslPort;
int argc = ((func_args*)args)->argc;
char** argv = ((func_args*)args)->argv;
#ifdef ECHO_OUT
FILE* fout = stdout;
if (argc >= 2) {
fout = fopen(argv[1], "w");
outCreated = 1;
}
if (!fout) err_sys("can't open output file");
#endif
(void)outCreated;
(void)argc;
(void)argv;
((func_args*)args)->return_code = -1; /* error state */
#ifdef CYASSL_DTLS
doDTLS = 1;
#endif
#ifdef CYASSL_LEANPSK
doPSK = 1;
#endif
#if defined(NO_RSA) && !defined(HAVE_ECC)
doPSK = 1;
#endif
#if defined(NO_MAIN_DRIVER) && !defined(USE_WINDOWS_API) && \
!defined(CYASSL_SNIFFER) && !defined(CYASSL_MDK_SHELL)
port = 0;
#endif
#if defined(USE_ANY_ADDR)
useAnyAddr = 1;
#endif
tcp_listen(&sockfd, &port, useAnyAddr, doDTLS);
#if defined(CYASSL_DTLS)
method = CyaDTLSv1_server_method();
#elif !defined(NO_TLS)
method = CyaSSLv23_server_method();
#else
method = wolfSSLv3_server_method();
#endif
ctx = CyaSSL_CTX_new(method);
/* CyaSSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF); */
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
CyaSSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif
#ifndef NO_FILESYSTEM
if (doPSK == 0) {
#ifdef HAVE_NTRU
/* ntru */
if (CyaSSL_CTX_use_certificate_file(ctx, ntruCert, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load ntru cert file, "
"Please run from CyaSSL home dir");
if (CyaSSL_CTX_use_NTRUPrivateKey_file(ctx, ntruKey)
!= SSL_SUCCESS)
err_sys("can't load ntru key file, "
"Please run from CyaSSL home dir");
#elif defined(HAVE_ECC)
/* ecc */
if (CyaSSL_CTX_use_certificate_file(ctx, eccCert, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load server cert file, "
"Please run from CyaSSL home dir");
if (CyaSSL_CTX_use_PrivateKey_file(ctx, eccKey, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load server key file, "
"Please run from CyaSSL home dir");
#elif defined(NO_CERTS)
/* do nothing, just don't load cert files */
#else
/* normal */
if (CyaSSL_CTX_use_certificate_file(ctx, svrCert, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load server cert file, "
"Please run from CyaSSL home dir");
if (CyaSSL_CTX_use_PrivateKey_file(ctx, svrKey, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load server key file, "
"Please run from CyaSSL home dir");
#endif
} /* doPSK */
#elif !defined(NO_CERTS)
if (!doPSK) {
load_buffer(ctx, svrCert, CYASSL_CERT);
load_buffer(ctx, svrKey, CYASSL_KEY);
}
#endif
#if defined(CYASSL_SNIFFER) && !defined(HAVE_NTRU) && !defined(HAVE_ECC)
/* don't use EDH, can't sniff tmp keys */
CyaSSL_CTX_set_cipher_list(ctx, "AES256-SHA");
#endif
if (doPSK) {
#ifndef NO_PSK
const char *defaultCipherList;
CyaSSL_CTX_set_psk_server_callback(ctx, my_psk_server_cb);
CyaSSL_CTX_use_psk_identity_hint(ctx, "cyassl server");
#ifdef HAVE_NULL_CIPHER
defaultCipherList = "PSK-NULL-SHA256";
#else
defaultCipherList = "PSK-AES128-CBC-SHA256";
#endif
if (CyaSSL_CTX_set_cipher_list(ctx, defaultCipherList) != SSL_SUCCESS)
err_sys("server can't set cipher list 2");
#endif
}
SignalReady(args, port);
while (!shutDown) {
CYASSL* ssl = 0;
char command[SVR_COMMAND_SIZE+1];
int echoSz = 0;
int clientfd;
int firstRead = 1;
int gotFirstG = 0;
#ifndef CYASSL_DTLS
SOCKADDR_IN_T client;
socklen_t client_len = sizeof(client);
clientfd = accept(sockfd, (struct sockaddr*)&client,
(ACCEPT_THIRD_T)&client_len);
#else
clientfd = udp_read_connect(sockfd);
#endif
if (clientfd == -1) err_sys("tcp accept failed");
ssl = CyaSSL_new(ctx);
if (ssl == NULL) err_sys("SSL_new failed");
CyaSSL_set_fd(ssl, clientfd);
#if !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA)
CyaSSL_SetTmpDH_file(ssl, dhParam, SSL_FILETYPE_PEM);
#elif !defined(NO_CERTS)
SetDH(ssl); /* will repick suites with DHE, higher than PSK */
#endif
if (CyaSSL_accept(ssl) != SSL_SUCCESS) {
printf("SSL_accept failed\n");
CyaSSL_free(ssl);
CloseSocket(clientfd);
continue;
}
#if defined(PEER_INFO)
showPeer(ssl);
#endif
while ( (echoSz = CyaSSL_read(ssl, command, sizeof(command)-1)) > 0) {
if (firstRead == 1) {
firstRead = 0; /* browser may send 1 byte 'G' to start */
if (echoSz == 1 && command[0] == 'G') {
gotFirstG = 1;
continue;
}
}
else if (gotFirstG == 1 && strncmp(command, "ET /", 4) == 0) {
strncpy(command, "GET", 4);
/* fall through to normal GET */
}
if ( strncmp(command, "quit", 4) == 0) {
printf("client sent quit command: shutting down!\n");
shutDown = 1;
break;
}
if ( strncmp(command, "break", 5) == 0) {
printf("client sent break command: closing session!\n");
break;
}
#ifdef SESSION_STATS
if ( strncmp(command, "printstats", 10) == 0) {
PrintSessionStats();
break;
}
#endif
if ( strncmp(command, "GET", 3) == 0) {
char type[] = "HTTP/1.0 200 ok\r\nContent-type:"
" text/html\r\n\r\n";
char header[] = "<html><body BGCOLOR=\"#ffffff\">\n<pre>\n";
char body[] = "greetings from CyaSSL\n";
char footer[] = "</body></html>\r\n\r\n";
strncpy(command, type, sizeof(type));
echoSz = sizeof(type) - 1;
strncpy(&command[echoSz], header, sizeof(header));
echoSz += (int)sizeof(header) - 1;
strncpy(&command[echoSz], body, sizeof(body));
echoSz += (int)sizeof(body) - 1;
strncpy(&command[echoSz], footer, sizeof(footer));
echoSz += (int)sizeof(footer);
if (CyaSSL_write(ssl, command, echoSz) != echoSz)
err_sys("SSL_write failed");
break;
}
command[echoSz] = 0;
#ifdef ECHO_OUT
fputs(command, fout);
#endif
if (CyaSSL_write(ssl, command, echoSz) != echoSz)
err_sys("SSL_write failed");
}
#ifndef CYASSL_DTLS
CyaSSL_shutdown(ssl);
#endif
CyaSSL_free(ssl);
CloseSocket(clientfd);
#ifdef CYASSL_DTLS
tcp_listen(&sockfd, &port, useAnyAddr, doDTLS);
SignalReady(args, port);
#endif
}
CloseSocket(sockfd);
CyaSSL_CTX_free(ctx);
#ifdef ECHO_OUT
if (outCreated)
fclose(fout);
#endif
((func_args*)args)->return_code = 0;
return 0;
}
/* so overall tests can pull in test function */
#ifndef NO_MAIN_DRIVER
int main(int argc, char** argv)
{
func_args args;
#ifdef HAVE_CAVIUM
int ret = OpenNitroxDevice(CAVIUM_DIRECT, CAVIUM_DEV_ID);
if (ret != 0)
err_sys("Cavium OpenNitroxDevice failed");
#endif /* HAVE_CAVIUM */
StartTCP();
args.argc = argc;
args.argv = argv;
CyaSSL_Init();
#if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL)
CyaSSL_Debugging_ON();
#endif
if (CurrentDir("echoserver"))
ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
echoserver_test(&args);
CyaSSL_Cleanup();
#ifdef HAVE_CAVIUM
CspShutdown(CAVIUM_DEV_ID);
#endif
return args.return_code;
}
#endif /* NO_MAIN_DRIVER */

View File

@@ -1,605 +0,0 @@
/* server.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <cyassl/ctaocrypt/settings.h>
#if !defined(CYASSL_TRACK_MEMORY) && !defined(NO_MAIN_DRIVER)
/* in case memory tracker wants stats */
#define CYASSL_TRACK_MEMORY
#endif
#if defined(CYASSL_MDK_ARM)
#include <stdio.h>
#include <string.h>
#if defined(CYASSL_MDK5)
#include "cmsis_os.h"
#include "rl_fs.h"
#include "rl_net.h"
#else
#include "rtl.h"
#endif
#include "cyassl_MDK_ARM.h"
#endif
#include <cyassl/openssl/ssl.h>
#include <cyassl/test.h>
#include "examples/server/server.h"
#ifdef CYASSL_CALLBACKS
int srvHandShakeCB(HandShakeInfo*);
int srvTimeoutCB(TimeoutInfo*);
Timeval srvTo;
#endif
static void NonBlockingSSL_Accept(SSL* ssl)
{
#ifndef CYASSL_CALLBACKS
int ret = SSL_accept(ssl);
#else
int ret = CyaSSL_accept_ex(ssl, srvHandShakeCB, srvTimeoutCB, srvTo);
#endif
int error = SSL_get_error(ssl, 0);
SOCKET_T sockfd = (SOCKET_T)CyaSSL_get_fd(ssl);
int select_ret;
while (ret != SSL_SUCCESS && (error == SSL_ERROR_WANT_READ ||
error == SSL_ERROR_WANT_WRITE)) {
int currTimeout = 1;
if (error == SSL_ERROR_WANT_READ)
printf("... server would read block\n");
else
printf("... server would write block\n");
#ifdef CYASSL_DTLS
currTimeout = CyaSSL_dtls_get_current_timeout(ssl);
#endif
select_ret = tcp_select(sockfd, currTimeout);
if ((select_ret == TEST_RECV_READY) ||
(select_ret == TEST_ERROR_READY)) {
#ifndef CYASSL_CALLBACKS
ret = SSL_accept(ssl);
#else
ret = CyaSSL_accept_ex(ssl,
srvHandShakeCB, srvTimeoutCB, srvTo);
#endif
error = SSL_get_error(ssl, 0);
}
else if (select_ret == TEST_TIMEOUT && !CyaSSL_dtls(ssl)) {
error = SSL_ERROR_WANT_READ;
}
#ifdef CYASSL_DTLS
else if (select_ret == TEST_TIMEOUT && CyaSSL_dtls(ssl) &&
CyaSSL_dtls_got_timeout(ssl) >= 0) {
error = SSL_ERROR_WANT_READ;
}
#endif
else {
error = SSL_FATAL_ERROR;
}
}
if (ret != SSL_SUCCESS)
err_sys("SSL_accept failed");
}
static void Usage(void)
{
printf("server " LIBCYASSL_VERSION_STRING
" NOTE: All files relative to CyaSSL home dir\n");
printf("-? Help, print this usage\n");
printf("-p <num> Port to listen on, not 0, default %d\n", yasslPort);
printf("-v <num> SSL version [0-3], SSLv3(0) - TLS1.2(3)), default %d\n",
SERVER_DEFAULT_VERSION);
printf("-l <str> Cipher list\n");
printf("-c <file> Certificate file, default %s\n", svrCert);
printf("-k <file> Key file, default %s\n", svrKey);
printf("-A <file> Certificate Authority file, default %s\n", cliCert);
printf("-d Disable client cert check\n");
printf("-b Bind to any interface instead of localhost only\n");
printf("-s Use pre Shared keys\n");
printf("-t Track CyaSSL memory use\n");
printf("-u Use UDP DTLS,"
" add -v 2 for DTLSv1 (default), -v 3 for DTLSv1.2\n");
printf("-f Fewer packets/group messages\n");
printf("-N Use Non-blocking sockets\n");
printf("-S <str> Use Host Name Indication\n");
#ifdef HAVE_OCSP
printf("-o Perform OCSP lookup on peer certificate\n");
printf("-O <url> Perform OCSP lookup using <url> as responder\n");
#endif
#ifdef HAVE_PK_CALLBACKS
printf("-P Public Key Callbacks\n");
#endif
}
THREAD_RETURN CYASSL_THREAD server_test(void* args)
{
SOCKET_T sockfd = 0;
SOCKET_T clientfd = 0;
SSL_METHOD* method = 0;
SSL_CTX* ctx = 0;
SSL* ssl = 0;
char msg[] = "I hear you fa shizzle!";
char input[80];
int idx;
int ch;
int version = SERVER_DEFAULT_VERSION;
int doCliCertCheck = 0; /* = 0 for no Realtime Clock environment */
int useAnyAddr = 0;
word16 port = yasslPort;
int usePsk = 0;
int doDTLS = 0;
int useNtruKey = 0;
int nonBlocking = 0;
int trackMemory = 0;
int fewerPackets = 0;
int pkCallbacks = 0;
char* cipherList = NULL;
char* verifyCert = (char*)cliCert;
char* ourCert = (char*)svrCert;
char* ourKey = (char*)svrKey;
int argc = ((func_args*)args)->argc;
char** argv = ((func_args*)args)->argv;
#ifdef HAVE_SNI
char* sniHostName = NULL;
#endif
#ifdef HAVE_OCSP
int useOcsp = 0;
char* ocspUrl = NULL;
#endif
((func_args*)args)->return_code = -1; /* error state */
#ifdef NO_RSA
verifyCert = (char*)cliEccCert;
ourCert = (char*)eccCert;
ourKey = (char*)eccKey;
#endif
(void)trackMemory;
(void)pkCallbacks;
while ((ch = mygetopt(argc, argv, "?dbstnNufPp:v:l:A:c:k:S:oO:")) != -1) {
switch (ch) {
case '?' :
Usage();
exit(EXIT_SUCCESS);
case 'd' :
doCliCertCheck = 0;
break;
case 'b' :
useAnyAddr = 1;
break;
case 's' :
usePsk = 1;
break;
case 't' :
#ifdef USE_CYASSL_MEMORY
trackMemory = 1;
#endif
break;
case 'n' :
useNtruKey = 1;
break;
case 'u' :
doDTLS = 1;
break;
case 'f' :
fewerPackets = 1;
break;
case 'P' :
#ifdef HAVE_PK_CALLBACKS
pkCallbacks = 1;
#endif
break;
case 'p' :
port = (word16)atoi(myoptarg);
#if !defined(NO_MAIN_DRIVER) || defined(USE_WINDOWS_API)
if (port == 0)
err_sys("port number cannot be 0");
#endif
break;
case 'v' :
version = atoi(myoptarg);
if (version < 0 || version > 3) {
Usage();
exit(MY_EX_USAGE);
}
break;
case 'l' :
cipherList = myoptarg;
break;
case 'A' :
verifyCert = myoptarg;
break;
case 'c' :
ourCert = myoptarg;
break;
case 'k' :
ourKey = myoptarg;
break;
case 'N':
nonBlocking = 1;
break;
case 'S' :
#ifdef HAVE_SNI
sniHostName = myoptarg;
#endif
break;
case 'o' :
#ifdef HAVE_OCSP
useOcsp = 1;
#endif
break;
case 'O' :
#ifdef HAVE_OCSP
useOcsp = 1;
ocspUrl = myoptarg;
#endif
break;
default:
Usage();
exit(MY_EX_USAGE);
}
}
myoptind = 0; /* reset for test cases */
/* sort out DTLS versus TLS versions */
if (version == CLIENT_INVALID_VERSION) {
if (doDTLS)
version = CLIENT_DTLS_DEFAULT_VERSION;
else
version = CLIENT_DEFAULT_VERSION;
}
else {
if (doDTLS) {
if (version == 3)
version = -2;
else
version = -1;
}
}
#ifdef USE_CYASSL_MEMORY
if (trackMemory)
InitMemoryTracker();
#endif
switch (version) {
#ifndef NO_OLD_TLS
case 0:
method = SSLv3_server_method();
break;
#ifndef NO_TLS
case 1:
method = TLSv1_server_method();
break;
case 2:
method = TLSv1_1_server_method();
break;
#endif
#endif
#ifndef NO_TLS
case 3:
method = TLSv1_2_server_method();
break;
#endif
#ifdef CYASSL_DTLS
case -1:
method = DTLSv1_server_method();
break;
case -2:
method = DTLSv1_2_server_method();
break;
#endif
default:
err_sys("Bad SSL version");
}
if (method == NULL)
err_sys("unable to get method");
ctx = SSL_CTX_new(method);
if (ctx == NULL)
err_sys("unable to get ctx");
if (cipherList)
if (SSL_CTX_set_cipher_list(ctx, cipherList) != SSL_SUCCESS)
err_sys("server can't set cipher list 1");
#ifdef CYASSL_LEANPSK
usePsk = 1;
#endif
#if defined(NO_RSA) && !defined(HAVE_ECC)
usePsk = 1;
#endif
if (fewerPackets)
CyaSSL_CTX_set_group_messages(ctx);
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
SSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS)
if (!usePsk) {
if (SSL_CTX_use_certificate_file(ctx, ourCert, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load server cert file, check file and run from"
" CyaSSL home dir");
}
#endif
#ifdef HAVE_NTRU
if (useNtruKey) {
if (CyaSSL_CTX_use_NTRUPrivateKey_file(ctx, ourKey)
!= SSL_SUCCESS)
err_sys("can't load ntru key file, "
"Please run from CyaSSL home dir");
}
#endif
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS)
if (!useNtruKey && !usePsk) {
if (SSL_CTX_use_PrivateKey_file(ctx, ourKey, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load server private key file, check file and run "
"from CyaSSL home dir");
}
#endif
if (usePsk) {
#ifndef NO_PSK
SSL_CTX_set_psk_server_callback(ctx, my_psk_server_cb);
SSL_CTX_use_psk_identity_hint(ctx, "cyassl server");
if (cipherList == NULL) {
const char *defaultCipherList;
#ifdef HAVE_NULL_CIPHER
defaultCipherList = "PSK-NULL-SHA256";
#else
defaultCipherList = "PSK-AES128-CBC-SHA256";
#endif
if (SSL_CTX_set_cipher_list(ctx, defaultCipherList) != SSL_SUCCESS)
err_sys("server can't set cipher list 2");
}
#endif
}
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS)
/* if not using PSK, verify peer with certs */
if (doCliCertCheck && usePsk == 0) {
SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER |
SSL_VERIFY_FAIL_IF_NO_PEER_CERT,0);
if (SSL_CTX_load_verify_locations(ctx, verifyCert, 0) != SSL_SUCCESS)
err_sys("can't load ca file, Please run from CyaSSL home dir");
}
#endif
#if defined(CYASSL_SNIFFER) && !defined(HAVE_NTRU) && !defined(HAVE_ECC)
/* don't use EDH, can't sniff tmp keys */
if (cipherList == NULL) {
if (SSL_CTX_set_cipher_list(ctx, "AES256-SHA256") != SSL_SUCCESS)
err_sys("server can't set cipher list 3");
}
#endif
#ifdef HAVE_SNI
if (sniHostName)
if (CyaSSL_CTX_UseSNI(ctx, CYASSL_SNI_HOST_NAME, sniHostName,
XSTRLEN(sniHostName)) != SSL_SUCCESS)
err_sys("UseSNI failed");
#endif
ssl = SSL_new(ctx);
if (ssl == NULL)
err_sys("unable to get SSL");
#ifdef HAVE_CRL
CyaSSL_EnableCRL(ssl, 0);
CyaSSL_LoadCRL(ssl, crlPemDir, SSL_FILETYPE_PEM, CYASSL_CRL_MONITOR |
CYASSL_CRL_START_MON);
CyaSSL_SetCRL_Cb(ssl, CRL_CallBack);
#endif
#ifdef HAVE_OCSP
if (useOcsp) {
if (ocspUrl != NULL) {
CyaSSL_CTX_SetOCSP_OverrideURL(ctx, ocspUrl);
CyaSSL_CTX_EnableOCSP(ctx, CYASSL_OCSP_NO_NONCE
| CYASSL_OCSP_URL_OVERRIDE);
}
else
CyaSSL_CTX_EnableOCSP(ctx, CYASSL_OCSP_NO_NONCE);
}
#endif
#ifdef HAVE_PK_CALLBACKS
if (pkCallbacks)
SetupPkCallbacks(ctx, ssl);
#endif
tcp_accept(&sockfd, &clientfd, (func_args*)args, port, useAnyAddr, doDTLS,
0);
if (!doDTLS)
CloseSocket(sockfd);
SSL_set_fd(ssl, clientfd);
if (usePsk == 0) {
#if !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA)
CyaSSL_SetTmpDH_file(ssl, dhParam, SSL_FILETYPE_PEM);
#elif !defined(NO_CERTS)
SetDH(ssl); /* repick suites with DHE, higher priority than PSK */
#endif
}
#ifndef CYASSL_CALLBACKS
if (nonBlocking) {
CyaSSL_set_using_nonblock(ssl, 1);
tcp_set_nonblocking(&clientfd);
NonBlockingSSL_Accept(ssl);
} else if (SSL_accept(ssl) != SSL_SUCCESS) {
int err = SSL_get_error(ssl, 0);
char buffer[CYASSL_MAX_ERROR_SZ];
printf("error = %d, %s\n", err, ERR_error_string(err, buffer));
err_sys("SSL_accept failed");
}
#else
NonBlockingSSL_Accept(ssl);
#endif
showPeer(ssl);
idx = SSL_read(ssl, input, sizeof(input)-1);
if (idx > 0) {
input[idx] = 0;
printf("Client message: %s\n", input);
}
else if (idx < 0) {
int readErr = SSL_get_error(ssl, 0);
if (readErr != SSL_ERROR_WANT_READ)
err_sys("SSL_read failed");
}
if (SSL_write(ssl, msg, sizeof(msg)) != sizeof(msg))
err_sys("SSL_write failed");
#if defined(CYASSL_MDK_SHELL) && defined(HAVE_MDK_RTX)
os_dly_wait(500) ;
#endif
SSL_shutdown(ssl);
SSL_free(ssl);
SSL_CTX_free(ctx);
CloseSocket(clientfd);
((func_args*)args)->return_code = 0;
#ifdef USE_CYASSL_MEMORY
if (trackMemory)
ShowMemoryTracker();
#endif /* USE_CYASSL_MEMORY */
return 0;
}
/* so overall tests can pull in test function */
#ifndef NO_MAIN_DRIVER
int main(int argc, char** argv)
{
func_args args;
#ifdef HAVE_CAVIUM
int ret = OpenNitroxDevice(CAVIUM_DIRECT, CAVIUM_DEV_ID);
if (ret != 0)
err_sys("Cavium OpenNitroxDevice failed");
#endif /* HAVE_CAVIUM */
StartTCP();
args.argc = argc;
args.argv = argv;
CyaSSL_Init();
#if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL)
CyaSSL_Debugging_ON();
#endif
if (CurrentDir("server"))
ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
#ifdef HAVE_STACK_SIZE
StackSizeCheck(&args, server_test);
#else
server_test(&args);
#endif
CyaSSL_Cleanup();
#ifdef HAVE_CAVIUM
CspShutdown(CAVIUM_DEV_ID);
#endif
return args.return_code;
}
int myoptind = 0;
char* myoptarg = NULL;
#endif /* NO_MAIN_DRIVER */
#ifdef CYASSL_CALLBACKS
int srvHandShakeCB(HandShakeInfo* info)
{
(void)info;
return 0;
}
int srvTimeoutCB(TimeoutInfo* info)
{
(void)info;
return 0;
}
#endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,34 +0,0 @@
/* time-dummy.c.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "time.h"
struct tm *Cyassl_MDK_gmtime(const time_t *c)
{
static struct tm date ;
return(&date) ;
}
time_t time(time_t * t) { return 0 ; }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,282 +0,0 @@
/* echoclient.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <cyassl/ctaocrypt/settings.h>
#include <cyassl/openssl/ssl.h>
#if defined(CYASSL_MDK_ARM)
#include <stdio.h>
#include <string.h>
#if defined(CYASSL_MDK5)
#include "cmsis_os.h"
#include "rl_fs.h"
#include "rl_net.h"
#else
#include "rtl.h"
#endif
#include "cyassl_MDK_ARM.h"
#endif
#include <cyassl/test.h>
#include "examples/echoclient/echoclient.h"
void echoclient_test(void* args)
{
SOCKET_T sockfd = 0;
FILE* fin = stdin ;
FILE* fout = stdout;
int inCreated = 0;
int outCreated = 0;
char msg[1024];
char reply[1024+1];
SSL_METHOD* method = 0;
SSL_CTX* ctx = 0;
SSL* ssl = 0;
int doDTLS = 0;
int doPSK = 0;
int sendSz;
int argc = 0;
char** argv = 0;
word16 port = yasslPort;
((func_args*)args)->return_code = -1; /* error state */
#ifndef CYASSL_MDK_SHELL
argc = ((func_args*)args)->argc;
argv = ((func_args*)args)->argv;
#endif
if (argc >= 2) {
fin = fopen(argv[1], "r");
inCreated = 1;
}
if (argc >= 3) {
fout = fopen(argv[2], "w");
outCreated = 1;
}
if (!fin) err_sys("can't open input file");
if (!fout) err_sys("can't open output file");
#ifdef CYASSL_DTLS
doDTLS = 1;
#endif
#ifdef CYASSL_LEANPSK
doPSK = 1;
#endif
#if defined(NO_RSA) && !defined(HAVE_ECC)
doPSK = 1;
#endif
#if defined(NO_MAIN_DRIVER) && !defined(USE_WINDOWS_API) && !defined(CYASSL_MDK_SHELL)
port = ((func_args*)args)->signal->port;
#endif
#if defined(CYASSL_DTLS)
method = DTLSv1_client_method();
#elif !defined(NO_TLS)
method = CyaSSLv23_client_method();
#else
method = SSLv3_client_method();
#endif
ctx = SSL_CTX_new(method);
#ifndef NO_FILESYSTEM
#ifndef NO_RSA
if (SSL_CTX_load_verify_locations(ctx, caCert, 0) != SSL_SUCCESS)
err_sys("can't load ca file, Please run from CyaSSL home dir");
#endif
#ifdef HAVE_ECC
if (SSL_CTX_load_verify_locations(ctx, eccCert, 0) != SSL_SUCCESS)
err_sys("can't load ca file, Please run from CyaSSL home dir");
#endif
#elif !defined(NO_CERTS)
if (!doPSK)
load_buffer(ctx, caCert, CYASSL_CA);
#endif
#if defined(CYASSL_SNIFFER) && !defined(HAVE_NTRU) && !defined(HAVE_ECC)
/* don't use EDH, can't sniff tmp keys */
SSL_CTX_set_cipher_list(ctx, "AES256-SHA");
#endif
if (doPSK) {
#ifndef NO_PSK
const char *defaultCipherList;
CyaSSL_CTX_set_psk_client_callback(ctx, my_psk_client_cb);
#ifdef HAVE_NULL_CIPHER
defaultCipherList = "PSK-NULL-SHA256";
#else
defaultCipherList = "PSK-AES128-CBC-SHA256";
#endif
if (CyaSSL_CTX_set_cipher_list(ctx,defaultCipherList) !=SSL_SUCCESS)
err_sys("client can't set cipher list 2");
#endif
}
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
SSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif
#if defined(CYASSL_MDK_ARM)
CyaSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
#endif
ssl = SSL_new(ctx);
if (doDTLS) {
SOCKADDR_IN_T addr;
build_addr(&addr, yasslIP, port, 1);
CyaSSL_dtls_set_peer(ssl, &addr, sizeof(addr));
tcp_socket(&sockfd, 1);
}
else {
tcp_connect(&sockfd, yasslIP, port, 0);
}
SSL_set_fd(ssl, sockfd);
#if defined(USE_WINDOWS_API) && defined(CYASSL_DTLS) && defined(NO_MAIN_DRIVER)
/* let echoserver bind first, TODO: add Windows signal like pthreads does */
Sleep(100);
#endif
if (SSL_connect(ssl) != SSL_SUCCESS) err_sys("SSL_connect failed");
while (fgets(msg, sizeof(msg), fin) != 0) {
sendSz = (int)strlen(msg);
if (SSL_write(ssl, msg, sendSz) != sendSz)
err_sys("SSL_write failed");
if (strncmp(msg, "quit", 4) == 0) {
fputs("sending server shutdown command: quit!\n", fout);
break;
}
if (strncmp(msg, "break", 5) == 0) {
fputs("sending server session close: break!\n", fout);
break;
}
#ifndef CYASSL_MDK_SHELL
while (sendSz) {
int got;
if ( (got = SSL_read(ssl, reply, sizeof(reply)-1)) > 0) {
reply[got] = 0;
fputs(reply, fout);
fflush(fout) ;
sendSz -= got;
}
else
break;
}
#else
{
int got;
if ( (got = SSL_read(ssl, reply, sizeof(reply)-1)) > 0) {
reply[got] = 0;
fputs(reply, fout);
fflush(fout) ;
sendSz -= got;
}
}
#endif
}
#ifdef CYASSL_DTLS
strncpy(msg, "break", 6);
sendSz = (int)strlen(msg);
/* try to tell server done */
SSL_write(ssl, msg, sendSz);
#else
SSL_shutdown(ssl);
#endif
SSL_free(ssl);
SSL_CTX_free(ctx);
fflush(fout);
if (inCreated) fclose(fin);
if (outCreated) fclose(fout);
CloseSocket(sockfd);
((func_args*)args)->return_code = 0;
}
/* so overall tests can pull in test function */
#ifndef NO_MAIN_DRIVER
int main(int argc, char** argv)
{
func_args args;
#ifdef HAVE_CAVIUM
int ret = OpenNitroxDevice(CAVIUM_DIRECT, CAVIUM_DEV_ID);
if (ret != 0)
err_sys("Cavium OpenNitroxDevice failed");
#endif /* HAVE_CAVIUM */
StartTCP();
args.argc = argc;
args.argv = argv;
CyaSSL_Init();
#if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL)
CyaSSL_Debugging_ON();
#endif
if (CurrentDir("echoclient"))
ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
echoclient_test(&args);
CyaSSL_Cleanup();
#ifdef HAVE_CAVIUM
CspShutdown(CAVIUM_DEV_ID);
#endif
return args.return_code;
}
#endif /* NO_MAIN_DRIVER */

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,368 +0,0 @@
/* echoserver.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <cyassl/ctaocrypt/settings.h>
#if defined(CYASSL_MDK_ARM)
#include <stdio.h>
#include <string.h>
#if defined(CYASSL_MDK5)
#include "cmsis_os.h"
#include "rl_fs.h"
#include "rl_net.h"
#else
#include "rtl.h"
#endif
#include "cyassl_MDK_ARM.h"
#endif
#include <cyassl/ssl.h>
#include <cyassl/test.h>
#ifndef NO_MAIN_DRIVER
#define ECHO_OUT
#endif
#include "examples/echoserver/echoserver.h"
#ifdef SESSION_STATS
CYASSL_API void PrintSessionStats(void);
#endif
#define SVR_COMMAND_SIZE 256
static void SignalReady(void* args, word16 port)
{
#if defined(_POSIX_THREADS) && defined(NO_MAIN_DRIVER) && !defined(__MINGW32__)
/* signal ready to tcp_accept */
func_args* server_args = (func_args*)args;
tcp_ready* ready = server_args->signal;
pthread_mutex_lock(&ready->mutex);
ready->ready = 1;
ready->port = port;
pthread_cond_signal(&ready->cond);
pthread_mutex_unlock(&ready->mutex);
#endif
(void)args;
(void)port;
}
THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
{
SOCKET_T sockfd = 0;
CYASSL_METHOD* method = 0;
CYASSL_CTX* ctx = 0;
int doDTLS = 0;
int doPSK = 0;
int outCreated = 0;
int shutDown = 0;
int useAnyAddr = 0;
word16 port = yasslPort;
int argc = ((func_args*)args)->argc;
char** argv = ((func_args*)args)->argv;
#ifdef ECHO_OUT
FILE* fout = stdout;
if (argc >= 2) {
fout = fopen(argv[1], "w");
outCreated = 1;
}
if (!fout) err_sys("can't open output file");
#endif
(void)outCreated;
(void)argc;
(void)argv;
((func_args*)args)->return_code = -1; /* error state */
#ifdef CYASSL_DTLS
doDTLS = 1;
#endif
#ifdef CYASSL_LEANPSK
doPSK = 1;
#endif
#if defined(NO_RSA) && !defined(HAVE_ECC)
doPSK = 1;
#endif
#if defined(NO_MAIN_DRIVER) && !defined(USE_WINDOWS_API) && \
!defined(CYASSL_SNIFFER) && !defined(CYASSL_MDK_ARM)
port = 0;
#endif
#if defined(USE_ANY_ADDR)
useAnyAddr = 1;
#endif
tcp_listen(&sockfd, &port, useAnyAddr, doDTLS);
#if defined(CYASSL_DTLS)
method = CyaDTLSv1_server_method();
#elif !defined(NO_TLS)
method = CyaSSLv23_server_method();
#else
method = wolfSSLv3_server_method();
#endif
ctx = CyaSSL_CTX_new(method);
/* CyaSSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF); */
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
CyaSSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif
#ifndef NO_FILESYSTEM
if (doPSK == 0) {
#ifdef HAVE_NTRU
/* ntru */
if (CyaSSL_CTX_use_certificate_file(ctx, ntruCert, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load ntru cert file, "
"Please run from CyaSSL home dir");
if (CyaSSL_CTX_use_NTRUPrivateKey_file(ctx, ntruKey)
!= SSL_SUCCESS)
err_sys("can't load ntru key file, "
"Please run from CyaSSL home dir");
#elif defined(HAVE_ECC)
/* ecc */
if (CyaSSL_CTX_use_certificate_file(ctx, eccCert, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load server cert file, "
"Please run from CyaSSL home dir");
if (CyaSSL_CTX_use_PrivateKey_file(ctx, eccKey, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load server key file, "
"Please run from CyaSSL home dir");
#elif defined(NO_CERTS)
/* do nothing, just don't load cert files */
#else
/* normal */
if (CyaSSL_CTX_use_certificate_file(ctx, svrCert, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load server cert file, "
"Please run from CyaSSL home dir");
if (CyaSSL_CTX_use_PrivateKey_file(ctx, svrKey, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load server key file, "
"Please run from CyaSSL home dir");
#endif
} /* doPSK */
#elif !defined(NO_CERTS)
if (!doPSK) {
load_buffer(ctx, svrCert, CYASSL_CERT);
load_buffer(ctx, svrKey, CYASSL_KEY);
}
#endif
#if defined(CYASSL_SNIFFER) && !defined(HAVE_NTRU) && !defined(HAVE_ECC)
/* don't use EDH, can't sniff tmp keys */
CyaSSL_CTX_set_cipher_list(ctx, "AES256-SHA");
#endif
if (doPSK) {
#ifndef NO_PSK
const char *defaultCipherList;
CyaSSL_CTX_set_psk_server_callback(ctx, my_psk_server_cb);
CyaSSL_CTX_use_psk_identity_hint(ctx, "cyassl server");
#ifdef HAVE_NULL_CIPHER
defaultCipherList = "PSK-NULL-SHA256";
#else
defaultCipherList = "PSK-AES128-CBC-SHA256";
#endif
if (CyaSSL_CTX_set_cipher_list(ctx, defaultCipherList) != SSL_SUCCESS)
err_sys("server can't set cipher list 2");
#endif
}
SignalReady(args, port);
while (!shutDown) {
CYASSL* ssl = 0;
char command[SVR_COMMAND_SIZE+1];
int echoSz = 0;
int clientfd;
int firstRead = 1;
int gotFirstG = 0;
#ifndef CYASSL_DTLS
SOCKADDR_IN_T client;
socklen_t client_len = sizeof(client);
clientfd = accept(sockfd, (struct sockaddr*)&client,
(ACCEPT_THIRD_T)&client_len);
#else
clientfd = udp_read_connect(sockfd);
#endif
if (clientfd == -1) err_sys("tcp accept failed");
ssl = CyaSSL_new(ctx);
if (ssl == NULL) err_sys("SSL_new failed");
CyaSSL_set_fd(ssl, clientfd);
#if !defined(NO_FILESYSTEM) && !defined(NO_DH)
CyaSSL_SetTmpDH_file(ssl, dhParam, SSL_FILETYPE_PEM);
#elif !defined(NO_DH)
SetDH(ssl); /* will repick suites with DHE, higher than PSK */
#endif
if (CyaSSL_accept(ssl) != SSL_SUCCESS) {
printf("SSL_accept failed\n");
CyaSSL_free(ssl);
CloseSocket(clientfd);
continue;
}
#if defined(PEER_INFO)
showPeer(ssl);
#endif
while ( (echoSz = CyaSSL_read(ssl, command, sizeof(command)-1)) > 0) {
if (firstRead == 1) {
firstRead = 0; /* browser may send 1 byte 'G' to start */
if (echoSz == 1 && command[0] == 'G') {
gotFirstG = 1;
continue;
}
}
else if (gotFirstG == 1 && strncmp(command, "ET /", 4) == 0) {
strncpy(command, "GET", 4);
/* fall through to normal GET */
}
if ( strncmp(command, "quit", 4) == 0) {
printf("client sent quit command: shutting down!\n");
shutDown = 1;
break;
}
if ( strncmp(command, "break", 5) == 0) {
printf("client sent break command: closing session!\n");
break;
}
#ifdef SESSION_STATS
if ( strncmp(command, "printstats", 10) == 0) {
PrintSessionStats();
break;
}
#endif
if ( strncmp(command, "GET", 3) == 0) {
char type[] = "HTTP/1.0 200 ok\r\nContent-type:"
" text/html\r\n\r\n";
char header[] = "<html><body BGCOLOR=\"#ffffff\">\n<pre>\n";
char body[] = "greetings from CyaSSL\n";
char footer[] = "</body></html>\r\n\r\n";
strncpy(command, type, sizeof(type));
echoSz = sizeof(type) - 1;
strncpy(&command[echoSz], header, sizeof(header));
echoSz += (int)sizeof(header) - 1;
strncpy(&command[echoSz], body, sizeof(body));
echoSz += (int)sizeof(body) - 1;
strncpy(&command[echoSz], footer, sizeof(footer));
echoSz += (int)sizeof(footer);
if (CyaSSL_write(ssl, command, echoSz) != echoSz)
err_sys("SSL_write failed");
break;
}
command[echoSz] = 0;
#ifdef ECHO_OUT
fputs(command, fout);
#endif
if (CyaSSL_write(ssl, command, echoSz) != echoSz)
err_sys("SSL_write failed");
}
#ifndef CYASSL_DTLS
CyaSSL_shutdown(ssl);
#endif
CyaSSL_free(ssl);
CloseSocket(clientfd);
#ifdef CYASSL_DTLS
tcp_listen(&sockfd, &port, useAnyAddr, doDTLS);
SignalReady(args, port);
#endif
}
CloseSocket(sockfd);
CyaSSL_CTX_free(ctx);
#ifdef ECHO_OUT
if (outCreated)
fclose(fout);
#endif
((func_args*)args)->return_code = 0;
return 0;
}
/* so overall tests can pull in test function */
#ifndef NO_MAIN_DRIVER
int main(int argc, char** argv)
{
func_args args;
#ifdef HAVE_CAVIUM
int ret = OpenNitroxDevice(CAVIUM_DIRECT, CAVIUM_DEV_ID);
if (ret != 0)
err_sys("Cavium OpenNitroxDevice failed");
#endif /* HAVE_CAVIUM */
StartTCP();
args.argc = argc;
args.argv = argv;
CyaSSL_Init();
#if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL)
CyaSSL_Debugging_ON();
#endif
if (CurrentDir("echoserver"))
ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
echoserver_test(&args);
CyaSSL_Cleanup();
#ifdef HAVE_CAVIUM
CspShutdown(CAVIUM_DEV_ID);
#endif
return args.return_code;
}
#endif /* NO_MAIN_DRIVER */

File diff suppressed because it is too large Load Diff

View File

@@ -1,862 +0,0 @@
/* client.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#if defined(CYASSL_MDK_ARM)
#include <stdio.h>
#include <string.h>
#if defined(CYASSL_MDK5)
#include "cmsis_os.h"
#include "rl_fs.h"
#include "rl_net.h"
#else
#include "rtl.h"
#endif
#include "cyassl_MDK_ARM.h"
#endif
#include <cyassl/ctaocrypt/settings.h>
#if !defined(CYASSL_TRACK_MEMORY) && !defined(NO_MAIN_DRIVER)
/* in case memory tracker wants stats */
#define CYASSL_TRACK_MEMORY
#endif
#include <cyassl/ssl.h>
#include <cyassl/test.h>
#include "examples/client/client.h"
#ifdef CYASSL_CALLBACKS
int handShakeCB(HandShakeInfo*);
int timeoutCB(TimeoutInfo*);
Timeval timeout;
#endif
static void NonBlockingSSL_Connect(CYASSL* ssl)
{
#ifndef CYASSL_CALLBACKS
int ret = CyaSSL_connect(ssl);
#else
int ret = CyaSSL_connect_ex(ssl, handShakeCB, timeoutCB, timeout);
#endif
int error = CyaSSL_get_error(ssl, 0);
SOCKET_T sockfd = (SOCKET_T)CyaSSL_get_fd(ssl);
int select_ret;
while (ret != SSL_SUCCESS && (error == SSL_ERROR_WANT_READ ||
error == SSL_ERROR_WANT_WRITE)) {
int currTimeout = 1;
if (error == SSL_ERROR_WANT_READ)
printf("... client would read block\n");
else
printf("... client would write block\n");
#ifdef CYASSL_DTLS
currTimeout = CyaSSL_dtls_get_current_timeout(ssl);
#endif
select_ret = tcp_select(sockfd, currTimeout);
if ((select_ret == TEST_RECV_READY) ||
(select_ret == TEST_ERROR_READY)) {
#ifndef CYASSL_CALLBACKS
ret = CyaSSL_connect(ssl);
#else
ret = CyaSSL_connect_ex(ssl,handShakeCB,timeoutCB,timeout);
#endif
error = CyaSSL_get_error(ssl, 0);
}
else if (select_ret == TEST_TIMEOUT && !CyaSSL_dtls(ssl)) {
error = SSL_ERROR_WANT_READ;
}
#ifdef CYASSL_DTLS
else if (select_ret == TEST_TIMEOUT && CyaSSL_dtls(ssl) &&
CyaSSL_dtls_got_timeout(ssl) >= 0) {
error = SSL_ERROR_WANT_READ;
}
#endif
else {
error = SSL_FATAL_ERROR;
}
}
if (ret != SSL_SUCCESS)
err_sys("SSL_connect failed");
}
static void Usage(void)
{
printf("client " LIBCYASSL_VERSION_STRING
" NOTE: All files relative to CyaSSL home dir\n");
printf("-? Help, print this usage\n");
printf("-h <host> Host to connect to, default %s\n", yasslIP);
printf("-p <num> Port to connect on, not 0, default %d\n", yasslPort);
printf("-v <num> SSL version [0-3], SSLv3(0) - TLS1.2(3)), default %d\n",
CLIENT_DEFAULT_VERSION);
printf("-l <str> Cipher list\n");
printf("-c <file> Certificate file, default %s\n", cliCert);
printf("-k <file> Key file, default %s\n", cliKey);
printf("-A <file> Certificate Authority file, default %s\n", caCert);
printf("-b <num> Benchmark <num> connections and print stats\n");
printf("-s Use pre Shared keys\n");
printf("-t Track CyaSSL memory use\n");
printf("-d Disable peer checks\n");
printf("-D Override Date Errors example\n");
printf("-g Send server HTTP GET\n");
printf("-u Use UDP DTLS,"
" add -v 2 for DTLSv1 (default), -v 3 for DTLSv1.2\n");
printf("-m Match domain name in cert\n");
printf("-N Use Non-blocking sockets\n");
printf("-r Resume session\n");
printf("-f Fewer packets/group messages\n");
printf("-x Disable client cert/key loading\n");
#ifdef SHOW_SIZES
printf("-z Print structure sizes\n");
#endif
#ifdef HAVE_SNI
printf("-S <str> Use Host Name Indication\n");
#endif
#ifdef HAVE_MAX_FRAGMENT
printf("-L <num> Use Maximum Fragment Length [1-5]\n");
#endif
#ifdef HAVE_TRUNCATED_HMAC
printf("-T Use Truncated HMAC\n");
#endif
#ifdef HAVE_OCSP
printf("-o Perform OCSP lookup on peer certificate\n");
printf("-O <url> Perform OCSP lookup using <url> as responder\n");
#endif
#ifdef ATOMIC_USER
printf("-U Atomic User Record Layer Callbacks\n");
#endif
#ifdef HAVE_PK_CALLBACKS
printf("-P Public Key Callbacks\n");
#endif
}
THREAD_RETURN CYASSL_THREAD client_test(void* args)
{
SOCKET_T sockfd = 0;
CYASSL_METHOD* method = 0;
CYASSL_CTX* ctx = 0;
CYASSL* ssl = 0;
CYASSL* sslResume = 0;
CYASSL_SESSION* session = 0;
char resumeMsg[] = "resuming cyassl!";
int resumeSz = sizeof(resumeMsg);
char msg[32] = "hello cyassl!"; /* GET may make bigger */
char reply[80];
int input;
int msgSz = (int)strlen(msg);
word16 port = yasslPort;
char* host = (char*)yasslIP;
const char* domain = "www.yassl.com";
int ch;
int version = CLIENT_INVALID_VERSION;
int usePsk = 0;
int sendGET = 0;
int benchmark = 0;
int doDTLS = 0;
int matchName = 0;
int doPeerCheck = 1;
int nonBlocking = 0;
int resumeSession = 0;
int trackMemory = 0;
int useClientCert = 1;
int fewerPackets = 0;
int atomicUser = 0;
int pkCallbacks = 0;
int overrideDateErrors = 0;
char* cipherList = NULL;
const char* verifyCert = caCert;
const char* ourCert = cliCert;
const char* ourKey = cliKey;
#ifdef HAVE_SNI
char* sniHostName = NULL;
#endif
#ifdef HAVE_MAX_FRAGMENT
byte maxFragment = 0;
#endif
#ifdef HAVE_TRUNCATED_HMAC
byte truncatedHMAC = 0;
#endif
#ifdef HAVE_OCSP
int useOcsp = 0;
char* ocspUrl = NULL;
#endif
int argc = ((func_args*)args)->argc;
char** argv = ((func_args*)args)->argv;
((func_args*)args)->return_code = -1; /* error state */
#ifdef NO_RSA
verifyCert = (char*)eccCert;
ourCert = (char*)cliEccCert;
ourKey = (char*)cliEccKey;
#endif
(void)resumeSz;
(void)session;
(void)sslResume;
(void)trackMemory;
(void)atomicUser;
(void)pkCallbacks;
StackTrap();
while ((ch = mygetopt(argc, argv,
"?gdDusmNrtfxUPh:p:v:l:A:c:k:b:zS:L:ToO:")) != -1) {
switch (ch) {
case '?' :
Usage();
exit(EXIT_SUCCESS);
case 'g' :
sendGET = 1;
break;
case 'd' :
doPeerCheck = 0;
break;
case 'D' :
overrideDateErrors = 1;
break;
case 'u' :
doDTLS = 1;
break;
case 's' :
usePsk = 1;
break;
case 't' :
#ifdef USE_CYASSL_MEMORY
trackMemory = 1;
#endif
break;
case 'm' :
matchName = 1;
break;
case 'x' :
useClientCert = 0;
break;
case 'f' :
fewerPackets = 1;
break;
case 'U' :
#ifdef ATOMIC_USER
atomicUser = 1;
#endif
break;
case 'P' :
#ifdef HAVE_PK_CALLBACKS
pkCallbacks = 1;
#endif
break;
case 'h' :
host = myoptarg;
domain = myoptarg;
break;
case 'p' :
port = (word16)atoi(myoptarg);
#if !defined(NO_MAIN_DRIVER) || defined(USE_WINDOWS_API)
if (port == 0)
err_sys("port number cannot be 0");
#endif
break;
case 'v' :
version = atoi(myoptarg);
if (version < 0 || version > 3) {
Usage();
exit(MY_EX_USAGE);
}
break;
case 'l' :
cipherList = myoptarg;
break;
case 'A' :
verifyCert = myoptarg;
break;
case 'c' :
ourCert = myoptarg;
break;
case 'k' :
ourKey = myoptarg;
break;
case 'b' :
benchmark = atoi(myoptarg);
if (benchmark < 0 || benchmark > 1000000) {
Usage();
exit(MY_EX_USAGE);
}
break;
case 'N' :
nonBlocking = 1;
break;
case 'r' :
resumeSession = 1;
break;
case 'z' :
#ifndef CYASSL_LEANPSK
CyaSSL_GetObjectSize();
#endif
break;
case 'S' :
#ifdef HAVE_SNI
sniHostName = myoptarg;
#endif
break;
case 'L' :
#ifdef HAVE_MAX_FRAGMENT
maxFragment = atoi(myoptarg);
if (maxFragment < CYASSL_MFL_2_9 ||
maxFragment > CYASSL_MFL_2_13) {
Usage();
exit(MY_EX_USAGE);
}
#endif
break;
case 'T' :
#ifdef HAVE_TRUNCATED_HMAC
truncatedHMAC = 1;
#endif
break;
case 'o' :
#ifdef HAVE_OCSP
useOcsp = 1;
#endif
break;
case 'O' :
#ifdef HAVE_OCSP
useOcsp = 1;
ocspUrl = myoptarg;
#endif
break;
default:
Usage();
exit(MY_EX_USAGE);
}
}
myoptind = 0; /* reset for test cases */
/* sort out DTLS versus TLS versions */
if (version == CLIENT_INVALID_VERSION) {
if (doDTLS)
version = CLIENT_DTLS_DEFAULT_VERSION;
else
version = CLIENT_DEFAULT_VERSION;
}
else {
if (doDTLS) {
if (version == 3)
version = -2;
else
version = -1;
}
}
#ifdef USE_CYASSL_MEMORY
if (trackMemory)
InitMemoryTracker();
#endif
switch (version) {
#ifndef NO_OLD_TLS
case 0:
method = wolfSSLv3_client_method();
break;
#ifndef NO_TLS
case 1:
method = CyaTLSv1_client_method();
break;
case 2:
method = CyaTLSv1_1_client_method();
break;
#endif /* NO_TLS */
#endif /* NO_OLD_TLS */
#ifndef NO_TLS
case 3:
method = CyaTLSv1_2_client_method();
break;
#endif
#ifdef CYASSL_DTLS
case -1:
method = CyaDTLSv1_client_method();
break;
case -2:
method = CyaDTLSv1_2_client_method();
break;
#endif
default:
err_sys("Bad SSL version");
break;
}
if (method == NULL)
err_sys("unable to get method");
ctx = CyaSSL_CTX_new(method);
if (ctx == NULL)
err_sys("unable to get ctx");
if (cipherList)
if (CyaSSL_CTX_set_cipher_list(ctx, cipherList) != SSL_SUCCESS)
err_sys("client can't set cipher list 1");
#ifdef CYASSL_LEANPSK
usePsk = 1;
#endif
#if defined(NO_RSA) && !defined(HAVE_ECC)
usePsk = 1;
#endif
if (fewerPackets)
CyaSSL_CTX_set_group_messages(ctx);
if (usePsk) {
#ifndef NO_PSK
CyaSSL_CTX_set_psk_client_callback(ctx, my_psk_client_cb);
if (cipherList == NULL) {
const char *defaultCipherList;
#ifdef HAVE_NULL_CIPHER
defaultCipherList = "PSK-NULL-SHA256";
#else
defaultCipherList = "PSK-AES128-CBC-SHA256";
#endif
if (CyaSSL_CTX_set_cipher_list(ctx,defaultCipherList) !=SSL_SUCCESS)
err_sys("client can't set cipher list 2");
}
#endif
useClientCert = 0;
}
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
CyaSSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif
#if defined(CYASSL_SNIFFER) && !defined(HAVE_NTRU) && !defined(HAVE_ECC)
if (cipherList == NULL) {
/* don't use EDH, can't sniff tmp keys */
if (CyaSSL_CTX_set_cipher_list(ctx, "AES256-SHA256") != SSL_SUCCESS) {
err_sys("client can't set cipher list 3");
}
}
#endif
#ifdef HAVE_OCSP
if (useOcsp) {
if (ocspUrl != NULL) {
CyaSSL_CTX_SetOCSP_OverrideURL(ctx, ocspUrl);
CyaSSL_CTX_EnableOCSP(ctx, CYASSL_OCSP_NO_NONCE
| CYASSL_OCSP_URL_OVERRIDE);
}
else
CyaSSL_CTX_EnableOCSP(ctx, CYASSL_OCSP_NO_NONCE);
}
#endif
#ifdef USER_CA_CB
CyaSSL_CTX_SetCACb(ctx, CaCb);
#endif
#ifdef VERIFY_CALLBACK
CyaSSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, myVerify);
#endif
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS)
if (useClientCert){
if (CyaSSL_CTX_use_certificate_chain_file(ctx, ourCert) != SSL_SUCCESS)
err_sys("can't load client cert file, check file and run from"
" CyaSSL home dir");
if (CyaSSL_CTX_use_PrivateKey_file(ctx, ourKey, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load client private key file, check file and run "
"from CyaSSL home dir");
}
if (!usePsk) {
if (CyaSSL_CTX_load_verify_locations(ctx, verifyCert, 0) != SSL_SUCCESS)
err_sys("can't load ca file, Please run from CyaSSL home dir");
}
#endif
#if !defined(NO_CERTS)
if (!usePsk && doPeerCheck == 0)
CyaSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
if (!usePsk && overrideDateErrors == 1)
CyaSSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, myDateCb);
#endif
#ifdef HAVE_CAVIUM
CyaSSL_CTX_UseCavium(ctx, CAVIUM_DEV_ID);
#endif
#ifdef HAVE_SNI
if (sniHostName)
if (CyaSSL_CTX_UseSNI(ctx, 0, sniHostName, XSTRLEN(sniHostName))
!= SSL_SUCCESS)
err_sys("UseSNI failed");
#endif
#ifdef HAVE_MAX_FRAGMENT
if (maxFragment)
if (CyaSSL_CTX_UseMaxFragment(ctx, maxFragment) != SSL_SUCCESS)
err_sys("UseMaxFragment failed");
#endif
#ifdef HAVE_TRUNCATED_HMAC
if (truncatedHMAC)
if (CyaSSL_CTX_UseTruncatedHMAC(ctx) != SSL_SUCCESS)
err_sys("UseTruncatedHMAC failed");
#endif
if (benchmark) {
/* time passed in number of connects give average */
int times = benchmark;
int i = 0;
double start = current_time(), avg;
for (i = 0; i < times; i++) {
tcp_connect(&sockfd, host, port, doDTLS);
ssl = CyaSSL_new(ctx);
CyaSSL_set_fd(ssl, sockfd);
if (CyaSSL_connect(ssl) != SSL_SUCCESS)
err_sys("SSL_connect failed");
CyaSSL_shutdown(ssl);
CyaSSL_free(ssl);
CloseSocket(sockfd);
}
avg = current_time() - start;
avg /= times;
avg *= 1000; /* milliseconds */
printf("CyaSSL_connect avg took: %8.3f milliseconds\n", avg);
CyaSSL_CTX_free(ctx);
((func_args*)args)->return_code = 0;
exit(EXIT_SUCCESS);
}
#if defined(CYASSL_MDK_ARM)
CyaSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
#endif
ssl = CyaSSL_new(ctx);
if (ssl == NULL)
err_sys("unable to get SSL object");
if (doDTLS) {
SOCKADDR_IN_T addr;
build_addr(&addr, host, port, 1);
CyaSSL_dtls_set_peer(ssl, &addr, sizeof(addr));
tcp_socket(&sockfd, 1);
}
else {
tcp_connect(&sockfd, host, port, 0);
}
CyaSSL_set_fd(ssl, sockfd);
#ifdef HAVE_CRL
if (CyaSSL_EnableCRL(ssl, CYASSL_CRL_CHECKALL) != SSL_SUCCESS)
err_sys("can't enable crl check");
if (CyaSSL_LoadCRL(ssl, crlPemDir, SSL_FILETYPE_PEM, 0) != SSL_SUCCESS)
err_sys("can't load crl, check crlfile and date validity");
if (CyaSSL_SetCRL_Cb(ssl, CRL_CallBack) != SSL_SUCCESS)
err_sys("can't set crl callback");
#endif
#ifdef ATOMIC_USER
if (atomicUser)
SetupAtomicUser(ctx, ssl);
#endif
#ifdef HAVE_PK_CALLBACKS
if (pkCallbacks)
SetupPkCallbacks(ctx, ssl);
#endif
if (matchName && doPeerCheck)
CyaSSL_check_domain_name(ssl, domain);
#ifndef CYASSL_CALLBACKS
if (nonBlocking) {
CyaSSL_set_using_nonblock(ssl, 1);
tcp_set_nonblocking(&sockfd);
NonBlockingSSL_Connect(ssl);
}
else if (CyaSSL_connect(ssl) != SSL_SUCCESS) {
/* see note at top of README */
int err = CyaSSL_get_error(ssl, 0);
char buffer[CYASSL_MAX_ERROR_SZ];
printf("err = %d, %s\n", err,
CyaSSL_ERR_error_string(err, buffer));
err_sys("SSL_connect failed");
/* if you're getting an error here */
}
#else
timeout.tv_sec = 2;
timeout.tv_usec = 0;
NonBlockingSSL_Connect(ssl); /* will keep retrying on timeout */
#endif
showPeer(ssl);
if (sendGET) {
printf("SSL connect ok, sending GET...\n");
msgSz = 28;
strncpy(msg, "GET /index.html HTTP/1.0\r\n\r\n", msgSz);
msg[msgSz] = '\0';
}
if (CyaSSL_write(ssl, msg, msgSz) != msgSz)
err_sys("SSL_write failed");
input = CyaSSL_read(ssl, reply, sizeof(reply)-1);
if (input > 0) {
reply[input] = 0;
printf("Server response: %s\n", reply);
if (sendGET) { /* get html */
while (1) {
input = CyaSSL_read(ssl, reply, sizeof(reply)-1);
if (input > 0) {
reply[input] = 0;
printf("%s\n", reply);
}
else
break;
}
}
}
else if (input < 0) {
int readErr = CyaSSL_get_error(ssl, 0);
if (readErr != SSL_ERROR_WANT_READ)
err_sys("CyaSSL_read failed");
}
#ifndef NO_SESSION_CACHE
if (resumeSession) {
if (doDTLS) {
strncpy(msg, "break", 6);
msgSz = (int)strlen(msg);
/* try to send session close */
CyaSSL_write(ssl, msg, msgSz);
}
session = CyaSSL_get_session(ssl);
sslResume = CyaSSL_new(ctx);
}
#endif
if (doDTLS == 0) /* don't send alert after "break" command */
CyaSSL_shutdown(ssl); /* echoserver will interpret as new conn */
#ifdef ATOMIC_USER
if (atomicUser)
FreeAtomicUser(ssl);
#endif
CyaSSL_free(ssl);
CloseSocket(sockfd);
#ifndef NO_SESSION_CACHE
if (resumeSession) {
if (doDTLS) {
SOCKADDR_IN_T addr;
#ifdef USE_WINDOWS_API
Sleep(500);
#else
sleep(1);
#endif
build_addr(&addr, host, port, 1);
CyaSSL_dtls_set_peer(sslResume, &addr, sizeof(addr));
tcp_socket(&sockfd, 1);
}
else {
tcp_connect(&sockfd, host, port, 0);
}
CyaSSL_set_fd(sslResume, sockfd);
CyaSSL_set_session(sslResume, session);
showPeer(sslResume);
#ifndef CYASSL_CALLBACKS
if (nonBlocking) {
CyaSSL_set_using_nonblock(sslResume, 1);
tcp_set_nonblocking(&sockfd);
NonBlockingSSL_Connect(sslResume);
}
else if (CyaSSL_connect(sslResume) != SSL_SUCCESS)
err_sys("SSL resume failed");
#else
timeout.tv_sec = 2;
timeout.tv_usec = 0;
NonBlockingSSL_Connect(ssl); /* will keep retrying on timeout */
#endif
if (CyaSSL_session_reused(sslResume))
printf("reused session id\n");
else
printf("didn't reuse session id!!!\n");
if (CyaSSL_write(sslResume, resumeMsg, resumeSz) != resumeSz)
err_sys("SSL_write failed");
if (nonBlocking) {
/* give server a chance to bounce a message back to client */
#ifdef USE_WINDOWS_API
Sleep(500);
#else
sleep(1);
#endif
}
input = CyaSSL_read(sslResume, reply, sizeof(reply)-1);
if (input > 0) {
reply[input] = 0;
printf("Server resume response: %s\n", reply);
}
/* try to send session break */
CyaSSL_write(sslResume, msg, msgSz);
CyaSSL_shutdown(sslResume);
CyaSSL_free(sslResume);
CloseSocket(sockfd);
}
#endif /* NO_SESSION_CACHE */
CyaSSL_CTX_free(ctx);
((func_args*)args)->return_code = 0;
#ifdef USE_CYASSL_MEMORY
if (trackMemory)
ShowMemoryTracker();
#endif /* USE_CYASSL_MEMORY */
return 0;
}
/* so overall tests can pull in test function */
#ifndef NO_MAIN_DRIVER
int main(int argc, char** argv)
{
func_args args;
#ifdef HAVE_CAVIUM
int ret = OpenNitroxDevice(CAVIUM_DIRECT, CAVIUM_DEV_ID);
if (ret != 0)
err_sys("Cavium OpenNitroxDevice failed");
#endif /* HAVE_CAVIUM */
StartTCP();
args.argc = argc;
args.argv = argv;
CyaSSL_Init();
#if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL) && !defined(STACK_TRAP)
CyaSSL_Debugging_ON();
#endif
if (CurrentDir("client"))
ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
#ifdef HAVE_STACK_SIZE
StackSizeCheck(&args, client_test);
#else
client_test(&args);
#endif
CyaSSL_Cleanup();
#ifdef HAVE_CAVIUM
CspShutdown(CAVIUM_DEV_ID);
#endif
return args.return_code;
}
int myoptind = 0;
char* myoptarg = NULL;
#endif /* NO_MAIN_DRIVER */
#ifdef CYASSL_CALLBACKS
int handShakeCB(HandShakeInfo* info)
{
(void)info;
return 0;
}
int timeoutCB(TimeoutInfo* info)
{
(void)info;
return 0;
}
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,605 +0,0 @@
/* server.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <cyassl/ctaocrypt/settings.h>
#if !defined(CYASSL_TRACK_MEMORY) && !defined(NO_MAIN_DRIVER)
/* in case memory tracker wants stats */
#define CYASSL_TRACK_MEMORY
#endif
#if defined(CYASSL_MDK_ARM)
#include <stdio.h>
#include <string.h>
#if defined(CYASSL_MDK5)
#include "cmsis_os.h"
#include "rl_fs.h"
#include "rl_net.h"
#else
#include "rtl.h"
#endif
#include "cyassl_MDK_ARM.h"
#endif
#include <cyassl/openssl/ssl.h>
#include <cyassl/test.h>
#include "examples/server/server.h"
#ifdef CYASSL_CALLBACKS
int srvHandShakeCB(HandShakeInfo*);
int srvTimeoutCB(TimeoutInfo*);
Timeval srvTo;
#endif
static void NonBlockingSSL_Accept(SSL* ssl)
{
#ifndef CYASSL_CALLBACKS
int ret = SSL_accept(ssl);
#else
int ret = CyaSSL_accept_ex(ssl, srvHandShakeCB, srvTimeoutCB, srvTo);
#endif
int error = SSL_get_error(ssl, 0);
SOCKET_T sockfd = (SOCKET_T)CyaSSL_get_fd(ssl);
int select_ret;
while (ret != SSL_SUCCESS && (error == SSL_ERROR_WANT_READ ||
error == SSL_ERROR_WANT_WRITE)) {
int currTimeout = 1;
if (error == SSL_ERROR_WANT_READ)
printf("... server would read block\n");
else
printf("... server would write block\n");
#ifdef CYASSL_DTLS
currTimeout = CyaSSL_dtls_get_current_timeout(ssl);
#endif
select_ret = tcp_select(sockfd, currTimeout);
if ((select_ret == TEST_RECV_READY) ||
(select_ret == TEST_ERROR_READY)) {
#ifndef CYASSL_CALLBACKS
ret = SSL_accept(ssl);
#else
ret = CyaSSL_accept_ex(ssl,
srvHandShakeCB, srvTimeoutCB, srvTo);
#endif
error = SSL_get_error(ssl, 0);
}
else if (select_ret == TEST_TIMEOUT && !CyaSSL_dtls(ssl)) {
error = SSL_ERROR_WANT_READ;
}
#ifdef CYASSL_DTLS
else if (select_ret == TEST_TIMEOUT && CyaSSL_dtls(ssl) &&
CyaSSL_dtls_got_timeout(ssl) >= 0) {
error = SSL_ERROR_WANT_READ;
}
#endif
else {
error = SSL_FATAL_ERROR;
}
}
if (ret != SSL_SUCCESS)
err_sys("SSL_accept failed");
}
static void Usage(void)
{
printf("server " LIBCYASSL_VERSION_STRING
" NOTE: All files relative to CyaSSL home dir\n");
printf("-? Help, print this usage\n");
printf("-p <num> Port to listen on, not 0, default %d\n", yasslPort);
printf("-v <num> SSL version [0-3], SSLv3(0) - TLS1.2(3)), default %d\n",
SERVER_DEFAULT_VERSION);
printf("-l <str> Cipher list\n");
printf("-c <file> Certificate file, default %s\n", svrCert);
printf("-k <file> Key file, default %s\n", svrKey);
printf("-A <file> Certificate Authority file, default %s\n", cliCert);
printf("-d Disable client cert check\n");
printf("-b Bind to any interface instead of localhost only\n");
printf("-s Use pre Shared keys\n");
printf("-t Track CyaSSL memory use\n");
printf("-u Use UDP DTLS,"
" add -v 2 for DTLSv1 (default), -v 3 for DTLSv1.2\n");
printf("-f Fewer packets/group messages\n");
printf("-N Use Non-blocking sockets\n");
printf("-S <str> Use Host Name Indication\n");
#ifdef HAVE_OCSP
printf("-o Perform OCSP lookup on peer certificate\n");
printf("-O <url> Perform OCSP lookup using <url> as responder\n");
#endif
#ifdef HAVE_PK_CALLBACKS
printf("-P Public Key Callbacks\n");
#endif
}
THREAD_RETURN CYASSL_THREAD server_test(void* args)
{
SOCKET_T sockfd = 0;
SOCKET_T clientfd = 0;
SSL_METHOD* method = 0;
SSL_CTX* ctx = 0;
SSL* ssl = 0;
char msg[] = "I hear you fa shizzle!";
char input[80];
int idx;
int ch;
int version = SERVER_DEFAULT_VERSION;
int doCliCertCheck = 1;
int useAnyAddr = 0;
word16 port = yasslPort;
int usePsk = 0;
int doDTLS = 0;
int useNtruKey = 0;
int nonBlocking = 0;
int trackMemory = 0;
int fewerPackets = 0;
int pkCallbacks = 0;
char* cipherList = NULL;
const char* verifyCert = cliCert;
const char* ourCert = svrCert;
const char* ourKey = svrKey;
int argc = ((func_args*)args)->argc;
char** argv = ((func_args*)args)->argv;
#ifdef HAVE_SNI
char* sniHostName = NULL;
#endif
#ifdef HAVE_OCSP
int useOcsp = 0;
char* ocspUrl = NULL;
#endif
((func_args*)args)->return_code = -1; /* error state */
#ifdef NO_RSA
verifyCert = (char*)cliEccCert;
ourCert = (char*)eccCert;
ourKey = (char*)eccKey;
#endif
(void)trackMemory;
(void)pkCallbacks;
while ((ch = mygetopt(argc, argv, "?dbstnNufPp:v:l:A:c:k:S:oO:")) != -1) {
switch (ch) {
case '?' :
Usage();
exit(EXIT_SUCCESS);
case 'd' :
doCliCertCheck = 0;
break;
case 'b' :
useAnyAddr = 1;
break;
case 's' :
usePsk = 1;
break;
case 't' :
#ifdef USE_CYASSL_MEMORY
trackMemory = 1;
#endif
break;
case 'n' :
useNtruKey = 1;
break;
case 'u' :
doDTLS = 1;
break;
case 'f' :
fewerPackets = 1;
break;
case 'P' :
#ifdef HAVE_PK_CALLBACKS
pkCallbacks = 1;
#endif
break;
case 'p' :
port = (word16)atoi(myoptarg);
#if !defined(NO_MAIN_DRIVER) || defined(USE_WINDOWS_API)
if (port == 0)
err_sys("port number cannot be 0");
#endif
break;
case 'v' :
version = atoi(myoptarg);
if (version < 0 || version > 3) {
Usage();
exit(MY_EX_USAGE);
}
break;
case 'l' :
cipherList = myoptarg;
break;
case 'A' :
verifyCert = myoptarg;
break;
case 'c' :
ourCert = myoptarg;
break;
case 'k' :
ourKey = myoptarg;
break;
case 'N':
nonBlocking = 1;
break;
case 'S' :
#ifdef HAVE_SNI
sniHostName = myoptarg;
#endif
break;
case 'o' :
#ifdef HAVE_OCSP
useOcsp = 1;
#endif
break;
case 'O' :
#ifdef HAVE_OCSP
useOcsp = 1;
ocspUrl = myoptarg;
#endif
break;
default:
Usage();
exit(MY_EX_USAGE);
}
}
myoptind = 0; /* reset for test cases */
/* sort out DTLS versus TLS versions */
if (version == CLIENT_INVALID_VERSION) {
if (doDTLS)
version = CLIENT_DTLS_DEFAULT_VERSION;
else
version = CLIENT_DEFAULT_VERSION;
}
else {
if (doDTLS) {
if (version == 3)
version = -2;
else
version = -1;
}
}
#ifdef USE_CYASSL_MEMORY
if (trackMemory)
InitMemoryTracker();
#endif
switch (version) {
#ifndef NO_OLD_TLS
case 0:
method = SSLv3_server_method();
break;
#ifndef NO_TLS
case 1:
method = TLSv1_server_method();
break;
case 2:
method = TLSv1_1_server_method();
break;
#endif
#endif
#ifndef NO_TLS
case 3:
method = TLSv1_2_server_method();
break;
#endif
#ifdef CYASSL_DTLS
case -1:
method = DTLSv1_server_method();
break;
case -2:
method = DTLSv1_2_server_method();
break;
#endif
default:
err_sys("Bad SSL version");
}
if (method == NULL)
err_sys("unable to get method");
ctx = SSL_CTX_new(method);
if (ctx == NULL)
err_sys("unable to get ctx");
if (cipherList)
if (SSL_CTX_set_cipher_list(ctx, cipherList) != SSL_SUCCESS)
err_sys("server can't set cipher list 1");
#ifdef CYASSL_LEANPSK
usePsk = 1;
#endif
#if defined(NO_RSA) && !defined(HAVE_ECC)
usePsk = 1;
#endif
if (fewerPackets)
CyaSSL_CTX_set_group_messages(ctx);
#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
SSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS)
if (!usePsk) {
if (SSL_CTX_use_certificate_file(ctx, ourCert, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load server cert file, check file and run from"
" CyaSSL home dir");
}
#endif
#ifdef HAVE_NTRU
if (useNtruKey) {
if (CyaSSL_CTX_use_NTRUPrivateKey_file(ctx, ourKey)
!= SSL_SUCCESS)
err_sys("can't load ntru key file, "
"Please run from CyaSSL home dir");
}
#endif
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS)
if (!useNtruKey && !usePsk) {
if (SSL_CTX_use_PrivateKey_file(ctx, ourKey, SSL_FILETYPE_PEM)
!= SSL_SUCCESS)
err_sys("can't load server private key file, check file and run "
"from CyaSSL home dir");
}
#endif
if (usePsk) {
#ifndef NO_PSK
SSL_CTX_set_psk_server_callback(ctx, my_psk_server_cb);
SSL_CTX_use_psk_identity_hint(ctx, "cyassl server");
if (cipherList == NULL) {
const char *defaultCipherList;
#ifdef HAVE_NULL_CIPHER
defaultCipherList = "PSK-NULL-SHA256";
#else
defaultCipherList = "PSK-AES128-CBC-SHA256";
#endif
if (SSL_CTX_set_cipher_list(ctx, defaultCipherList) != SSL_SUCCESS)
err_sys("server can't set cipher list 2");
}
#endif
}
#if !defined(NO_FILESYSTEM) && !defined(NO_CERTS)
/* if not using PSK, verify peer with certs */
if (doCliCertCheck && usePsk == 0) {
SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER |
SSL_VERIFY_FAIL_IF_NO_PEER_CERT,0);
if (SSL_CTX_load_verify_locations(ctx, verifyCert, 0) != SSL_SUCCESS)
err_sys("can't load ca file, Please run from CyaSSL home dir");
}
#endif
#if defined(CYASSL_SNIFFER) && !defined(HAVE_NTRU) && !defined(HAVE_ECC)
/* don't use EDH, can't sniff tmp keys */
if (cipherList == NULL) {
if (SSL_CTX_set_cipher_list(ctx, "AES256-SHA256") != SSL_SUCCESS)
err_sys("server can't set cipher list 3");
}
#endif
#ifdef HAVE_SNI
if (sniHostName)
if (CyaSSL_CTX_UseSNI(ctx, CYASSL_SNI_HOST_NAME, sniHostName,
XSTRLEN(sniHostName)) != SSL_SUCCESS)
err_sys("UseSNI failed");
#endif
ssl = SSL_new(ctx);
if (ssl == NULL)
err_sys("unable to get SSL");
#ifdef HAVE_CRL
CyaSSL_EnableCRL(ssl, 0);
CyaSSL_LoadCRL(ssl, crlPemDir, SSL_FILETYPE_PEM, CYASSL_CRL_MONITOR |
CYASSL_CRL_START_MON);
CyaSSL_SetCRL_Cb(ssl, CRL_CallBack);
#endif
#ifdef HAVE_OCSP
if (useOcsp) {
if (ocspUrl != NULL) {
CyaSSL_CTX_SetOCSP_OverrideURL(ctx, ocspUrl);
CyaSSL_CTX_EnableOCSP(ctx, CYASSL_OCSP_NO_NONCE
| CYASSL_OCSP_URL_OVERRIDE);
}
else
CyaSSL_CTX_EnableOCSP(ctx, CYASSL_OCSP_NO_NONCE);
}
#endif
#ifdef HAVE_PK_CALLBACKS
if (pkCallbacks)
SetupPkCallbacks(ctx, ssl);
#endif
tcp_accept(&sockfd, &clientfd, (func_args*)args, port, useAnyAddr, doDTLS,
0);
if (!doDTLS)
CloseSocket(sockfd);
SSL_set_fd(ssl, clientfd);
if (usePsk == 0 || cipherList != NULL) {
#if !defined(NO_FILESYSTEM) && !defined(NO_DH)
CyaSSL_SetTmpDH_file(ssl, dhParam, SSL_FILETYPE_PEM);
#elif !defined(NO_DH)
SetDH(ssl); /* repick suites with DHE, higher priority than PSK */
#endif
}
#ifndef CYASSL_CALLBACKS
if (nonBlocking) {
CyaSSL_set_using_nonblock(ssl, 1);
tcp_set_nonblocking(&clientfd);
NonBlockingSSL_Accept(ssl);
} else if (SSL_accept(ssl) != SSL_SUCCESS) {
int err = SSL_get_error(ssl, 0);
char buffer[CYASSL_MAX_ERROR_SZ];
printf("error = %d, %s\n", err, ERR_error_string(err, buffer));
err_sys("SSL_accept failed");
}
#else
NonBlockingSSL_Accept(ssl);
#endif
showPeer(ssl);
idx = SSL_read(ssl, input, sizeof(input)-1);
if (idx > 0) {
input[idx] = 0;
printf("Client message: %s\n", input);
}
else if (idx < 0) {
int readErr = SSL_get_error(ssl, 0);
if (readErr != SSL_ERROR_WANT_READ)
err_sys("SSL_read failed");
}
if (SSL_write(ssl, msg, sizeof(msg)) != sizeof(msg))
err_sys("SSL_write failed");
#if defined(CYASSL_MDK_SHELL) && defined(HAVE_MDK_RTX)
os_dly_wait(500) ;
#endif
SSL_shutdown(ssl);
SSL_free(ssl);
SSL_CTX_free(ctx);
CloseSocket(clientfd);
((func_args*)args)->return_code = 0;
#ifdef USE_CYASSL_MEMORY
if (trackMemory)
ShowMemoryTracker();
#endif /* USE_CYASSL_MEMORY */
return 0;
}
/* so overall tests can pull in test function */
#ifndef NO_MAIN_DRIVER
int main(int argc, char** argv)
{
func_args args;
#ifdef HAVE_CAVIUM
int ret = OpenNitroxDevice(CAVIUM_DIRECT, CAVIUM_DEV_ID);
if (ret != 0)
err_sys("Cavium OpenNitroxDevice failed");
#endif /* HAVE_CAVIUM */
StartTCP();
args.argc = argc;
args.argv = argv;
CyaSSL_Init();
#if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL)
CyaSSL_Debugging_ON();
#endif
if (CurrentDir("server"))
ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
#ifdef HAVE_STACK_SIZE
StackSizeCheck(&args, server_test);
#else
server_test(&args);
#endif
CyaSSL_Cleanup();
#ifdef HAVE_CAVIUM
CspShutdown(CAVIUM_DEV_ID);
#endif
return args.return_code;
}
int myoptind = 0;
char* myoptarg = NULL;
#endif /* NO_MAIN_DRIVER */
#ifdef CYASSL_CALLBACKS
int srvHandShakeCB(HandShakeInfo* info)
{
(void)info;
return 0;
}
int srvTimeoutCB(TimeoutInfo* info)
{
(void)info;
return 0;
}
#endif

View File

@@ -23,22 +23,56 @@
#include <config.h> #include <config.h>
#endif #endif
#include <cyassl/ctaocrypt/visibility.h> #include <wolfssl/wolfcrypt/settings.h>
#include <cyassl/ctaocrypt/logging.h>
#include <wolfssl/wolfcrypt/visibility.h>
#include <wolfssl/wolfcrypt/logging.h>
#define __CORTEX_M3__
#include <wolfssl/wolfcrypt/types.h>
#include "wolfcrypt/src/misc.c"
#include "stm32f2xx_hal.h"
#include "cmsis_os.h" #include "cmsis_os.h"
#if !defined(NO_FILESYSTEM)
#include "rl_fs.h"
#endif
#include "rl_net.h" #include "rl_net.h"
#include <stdio.h> #include <stdio.h>
#include "cyassl_MDK_ARM.h"
#include <cyassl/ssl.h> #include <wolfssl/ssl.h>
/*-----------------------------------------------------------------------------
* Initialize Clock Configuration
*----------------------------------------------------------------------------*/
void SystemClock_Config(void) {
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
/* Enable HSE Oscillator and activate PLL with HSE as source */
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLM = 25;
RCC_OscInitStruct.PLL.PLLN = 240;
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
RCC_OscInitStruct.PLL.PLLQ = 5;
HAL_RCC_OscConfig(&RCC_OscInitStruct);
/* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2
clocks dividers */
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK |
RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_3);
}
/*----------------------------------------------------------------------------- /*-----------------------------------------------------------------------------
* Initialize a Flash Memory Card * Initialize a Flash Memory Card
*----------------------------------------------------------------------------*/ *----------------------------------------------------------------------------*/
#if !defined(NO_FILESYSTEM) #if !defined(NO_FILESYSTEM)
#include "rl_fs.h"
static void init_filesystem (void) { static void init_filesystem (void) {
int32_t retv; int32_t retv;
@@ -58,22 +92,14 @@ static void init_filesystem (void) {
} }
#endif #endif
/*----------------------------------------------------------------------------- typedef struct func_args {
* TCP/IP tasks int argc;
*----------------------------------------------------------------------------*/ char** argv;
void tcp_poll (void const *arg) } func_args;
{
CYASSL_MSG("TCP polling started.\n") ;
while (1) {
net_main ();
osDelay(1) ;
}
}
extern void shell_main(void * args) ;
extern void init_time(void) ;
osThreadDef (tcp_poll, osPriorityHigh, 1, 0) ; extern void shell_main(func_args * args) ;
/*----------------------------------------------------------------------------- /*-----------------------------------------------------------------------------
* mian entry * mian entry
*----------------------------------------------------------------------------*/ *----------------------------------------------------------------------------*/
@@ -83,18 +109,18 @@ char* myoptarg = NULL;
int main() int main()
{ {
void *arg = NULL ; void *arg = NULL ;
SystemClock_Config() ;
#if !defined(NO_FILESYSTEM)
init_filesystem ();
#endif
#if !defined(NO_FILESYSTEM) netInitialize() ;
init_filesystem (); osDelay(300) ;
#endif
#if defined(DEBUG_WOLFSSL)
net_initialize() ;
osThreadCreate (osThread (tcp_poll), NULL);
osDelay(10000) ; /* wait for DHCP */
#if defined(DEBUG_CYASSL)
printf("Turning ON Debug message\n") ; printf("Turning ON Debug message\n") ;
CyaSSL_Debugging_ON() ; wolfSSL_Debugging_ON() ;
#endif #endif
shell_main(arg) ; shell_main(arg) ;

View File

@@ -19,31 +19,30 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
/*** tiny Shell for CyaSSL apps ***/ /*** tiny Shell for wolfSSL apps ***/
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
#endif #endif
#include "cyassl/internal.h"
#undef RNG
#include <cyassl/ctaocrypt/logging.h>
#if defined(CYASSL_MDK_ARM) #include "wolfssl/internal.h"
#include <wolfssl/wolfcrypt/logging.h>
#if defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_TCP_NET)
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
#if defined(CYASSL_MDK5) #if defined(WOLFSSL_MDK5) || defined(WOLFSSL_KEIL_TCP_NET)
#include "cmsis_os.h" #include "cmsis_os.h"
#include "rl_fs.h" #include "rl_fs.h"
#else #else
#include <rtl.h> #include <rtl.h>
#endif #endif
#include "cyassl_MDK_ARM.h"
#endif #endif
#ifdef CYASSL_KEIL_NET #ifdef WOLFSSL_KEIL_TCP_NET
#include "cyassl/test.h" #include "wolfssl/test.h"
#else #else
typedef struct func_args { typedef struct func_args {
int argc; int argc;
@@ -52,6 +51,10 @@ typedef struct func_args {
} func_args; } func_args;
#endif #endif
#if defined(WOLFSSL_CMSIS_RTOS)
#define HAVE_KEIL_RTX
#endif
#ifdef NO_ECHOCLIENT #ifdef NO_ECHOCLIENT
#define echoclient_test command_not_found #define echoclient_test command_not_found
#endif #endif
@@ -71,7 +74,7 @@ typedef struct func_args {
#define ctaocrypt_test command_not_found #define ctaocrypt_test command_not_found
#endif #endif
#ifndef CYASSL_KEIL_NET #ifndef WOLFSSL_KEIL_TCP_NET
#define ipaddr_comm command_not_found #define ipaddr_comm command_not_found
#endif #endif
@@ -80,7 +83,7 @@ typedef struct func_args {
#endif #endif
#if !defined(DEBUG_CYASSL) #if !defined(DEBUG_WOLFSSL)
#define dbg_comm command_not_found #define dbg_comm command_not_found
#endif #endif
@@ -92,7 +95,7 @@ void command_not_found(void *argv) {
extern void echoclient_test(void *args) ; extern void echoclient_test(void *args) ;
extern void echoserver_test(void *args) ; extern void echoserver_test(void *args) ;
extern void benchmark_test(void *args) ; extern void benchmark_test(void *args) ;
extern void ctaocrypt_test(void *args) ; extern void wolfcrypt_test(void *args) ;
extern void client_test(void *args) ; extern void client_test(void *args) ;
extern void server_test(void *args) ; extern void server_test(void *args) ;
extern void kill_task(void *args) ; extern void kill_task(void *args) ;
@@ -107,7 +110,7 @@ extern void help_comm(void *arg) ;
#ifndef NO_MD5 #ifndef NO_MD5
extern void md5_test(void *arg) ; extern void md5_test(void *arg) ;
#endif #endif
#ifdef CYASSL_MD2 #ifdef WOLFSSL_MD2
extern void md2_test(void *arg) ; extern void md2_test(void *arg) ;
#endif #endif
#ifndef NO_MD4 #ifndef NO_MD4
@@ -119,15 +122,15 @@ extern void sha_test(void *arg) ;
#ifndef NO_SHA256 #ifndef NO_SHA256
extern void sha256_test(void *arg) ; extern void sha256_test(void *arg) ;
#endif #endif
#ifdef CYASSL_SHA384 #ifdef WOLFSSL_SHA384
extern void sha384_test(void *arg) ; extern void sha384_test(void *arg) ;
#endif #endif
#ifdef CYASSL_SHA512 #ifdef WOLFSSL_SHA512
extern void sha512_test(void *arg) ; extern void sha512_test(void *arg) ;
#endif #endif
#ifdef CYASSL_RIPEMD #ifdef WOLFSSL_RIPEMD
extern void ripemd_test(void *arg) ; extern void ripemd_test(void *arg) ;
#endif #endif
#ifndef NO_HMAC #ifndef NO_HMAC
@@ -140,7 +143,7 @@ extern void hmac_sha_test(void *arg) ;
extern void hmac_sha256_test(void *arg) ; extern void hmac_sha256_test(void *arg) ;
#endif #endif
#ifdef CYASSL_SHA384 #ifdef WOLFSSL_SHA384
extern void hmac_sha384_test(void *arg) ; extern void hmac_sha384_test(void *arg) ;
#endif #endif
#endif #endif
@@ -210,7 +213,7 @@ static struct {
"echoclient", echoclient_test, "echoclient", echoclient_test,
"echoserver", echoserver_test, "echoserver", echoserver_test,
"benchmark", benchmark_test, "benchmark", benchmark_test,
"test", ctaocrypt_test, "test", wolfcrypt_test,
"client", client_test, "client", client_test,
"server", server_test, "server", server_test,
"ipaddr", ipaddr_comm, /* TBD */ "ipaddr", ipaddr_comm, /* TBD */
@@ -223,7 +226,7 @@ static struct {
"ec", echoclient_test, "ec", echoclient_test,
"es", echoserver_test, "es", echoserver_test,
"bm", benchmark_test, "bm", benchmark_test,
"te", ctaocrypt_test, "te", wolfcrypt_test,
"cl", client_test, "cl", client_test,
"sv", server_test, "sv", server_test,
"ip", ipaddr_comm, "ip", ipaddr_comm,
@@ -236,7 +239,7 @@ static struct {
#ifndef NO_MD5 #ifndef NO_MD5
"md5", md5_test, "md5", md5_test,
#endif #endif
#ifdef CYASSL_MD2 #ifdef WOLFSSL_MD2
"md2", md2_test, "md2", md2_test,
#endif #endif
#ifndef NO_MD4 #ifndef NO_MD4
@@ -246,13 +249,13 @@ static struct {
#ifndef NO_SHA256 #ifndef NO_SHA256
"sha256", sha256_test, "sha256", sha256_test,
#endif #endif
#ifdef CYASSL_SHA384 #ifdef WOLFSSL_SHA384
"sha384", sha384_test, "sha384", sha384_test,
#endif #endif
#ifdef CYASSL_SHA512 #ifdef WOLFSSL_SHA512
"sha512", sha512_test, "sha512", sha512_test,
#endif #endif
#ifdef CYASSL_RIPEMD #ifdef WOLFSSL_RIPEMD
"ripemd", ripemd_test, "ripemd", ripemd_test,
#endif #endif
#ifndef NO_HMAC #ifndef NO_HMAC
@@ -263,7 +266,7 @@ static struct {
#ifndef NO_SHA256 #ifndef NO_SHA256
"hmac_sha256", hmac_sha256_test, "hmac_sha256", hmac_sha256_test,
#endif #endif
#ifdef CYASSL_SHA384 #ifdef WOLFSSL_SHA384
"hmac_sha384", hmac_sha384_test, "hmac_sha384", hmac_sha384_test,
#endif #endif
#endif #endif
@@ -324,6 +327,38 @@ enum jobtype { FORGROUND, BACKGROUND } ;
static int BackGround = 0 ; /* 1: background job is running */ static int BackGround = 0 ; /* 1: background job is running */
char * wolfssl_fgets ( char * str, int num, FILE * f )
{
int i ;
for(i = 0 ; i< num ; i++) {
while((str[i] = getchar()) == 0) {
#if defined (HAVE_KEIL_RTX) && !defined(WOLFSSL_CMSIS_RTOS)
os_tsk_pass ();
#else
osThreadYield ();
#endif
}
if(str[i] == '\n' || str[i] == '\012' || str[i] == '\015') {
putchar('\n') ;
str[i++] = '\n' ;
str[i] = '\0' ;
break ;
} else if(str[i] == '\010') { /* BS */
if(i) { /* erace one char */
putchar('\010') ; putchar(' ') ; putchar('\010') ;
i = (i>0 ? (i-2) : -1 ) ;
continue ;
}
} else if(str[i] == '\033' || str[i] == '\004' ) { /* ESC or ^D */
str[i] = '\0' ;
return(0) ;
}
putchar(str[i]) ;
}
return(str) ;
}
/******* Get Command Line *****************************/ /******* Get Command Line *****************************/
static int getline(char * line, int sz, func_args *args, int*bf_flg) static int getline(char * line, int sz, func_args *args, int*bf_flg)
{ {
@@ -337,7 +372,7 @@ static int getline(char * line, int sz, func_args *args, int*bf_flg)
putchar('>') ; putchar('>') ;
fflush(stdout) ; fflush(stdout) ;
ret = fgets(line, sz, stdin) ; ret = wolfssl_fgets(line, sz, stdin) ;
#define SHELL_ERROR_FGETS -102 #define SHELL_ERROR_FGETS -102
if(ret != line) return(SHELL_ERROR_FGETS) ; if(ret != line) return(SHELL_ERROR_FGETS) ;
@@ -367,11 +402,11 @@ static int getline(char * line, int sz, func_args *args, int*bf_flg)
/************* Embedded Shell Commands **********************************/ /************* Embedded Shell Commands **********************************/
#define IP_SIZE 16 #define IP_SIZE 16
#ifdef CYASSL_KEIL_NET #ifdef WOLFSSL_KEIL_TCP_NET
static void ipaddr_comm(void *args) static void ipaddr_comm(void *args)
{ {
if(((func_args *)args)->argc == 1) { if(((func_args *)args)->argc == 1) {
printf("IP addr: %s, port %d\n", yasslIP, yasslPort) ; printf("IP addr: %s, port %d\n", wolfSSLIP, wolfSSLPort) ;
} else { } else {
if(BackGround != 0) { if(BackGround != 0) {
printf("Cannot change IP addr while background server is running\n") ; printf("Cannot change IP addr while background server is running\n") ;
@@ -447,20 +482,20 @@ static void for_command(void *args)
} }
#if defined(DEBUG_CYASSL) #if defined(DEBUG_WOLFSSL)
static int CyasslDebug = 1 ; static int wolfsslDebug = 1 ;
static void dbg_comm(void *args) static void dbg_comm(void *args)
{ {
if(CyasslDebug == 1) { if(wolfsslDebug == 1) {
CyasslDebug = 0 ; wolfsslDebug = 0 ;
printf("Turning OFF Debug message\n") ; printf("Turning OFF Debug message\n") ;
CyaSSL_Debugging_OFF() ; wolfSSL_Debugging_OFF() ;
} else { } else {
CyasslDebug = 1 ; wolfasslDebug = 1 ;
printf("Turning ON Debug message\n") ; printf("Turning ON Debug message\n") ;
CyaSSL_Debugging_ON() ; wolfSSL_Debugging_ON() ;
} }
} }
#endif #endif
@@ -489,28 +524,28 @@ static void help_comm(void *args)
#define BG_JOB_STACK_SIZE 8000 #define BG_JOB_STACK_SIZE 16000
#if (!defined(NO_SIMPLE_SERVER) && !defined(NO_ECHOSERVER)) && \ #if (!defined(NO_SIMPLE_SERVER) && !defined(NO_ECHOSERVER)) && \
defined(HAVE_KEIL_RTX) defined(HAVE_KEIL_RTX)
#if !defined(CYASSL_CMSIS_RTOS) #if !defined(WOLFSSL_CMSIS_RTOS)
static char bg_job_stack[BG_JOB_STACK_SIZE] ; static char bg_job_stack[BG_JOB_STACK_SIZE] ;
#endif #endif
#endif #endif
#define COMMAND_STACK_SIZE 10000 #define COMMAND_STACK_SIZE 24000
#if defined(HAVE_KEIL_RTX) && !defined(CYASSL_CMSIS_RTOS) #if defined(HAVE_KEIL_RTX) && !defined(WOLFSSL_CMSIS_RTOS)
static char command_stack[COMMAND_STACK_SIZE] ; static char command_stack[COMMAND_STACK_SIZE] ;
#endif #endif
#ifdef HAVE_KEIL_RTX #if defined(HAVE_KEIL_RTX) || defined(WOLFSSL_CMSIS_RTOS)
static CyaSSL_Mutex command_mutex ; static wolfSSL_Mutex command_mutex ;
#endif #endif
void exit_command(void) { void exit_command(void) {
printf("Command Aborted\n") ; printf("Command Aborted\n") ;
#ifdef CYASSL_CMSIS_RTOS #ifdef WOLFSSL_CMSIS_RTOS
osThreadTerminate(osThreadGetId()) ; osThreadTerminate(osThreadGetId()) ;
#else #else
os_tsk_delete_self() ; os_tsk_delete_self() ;
@@ -525,19 +560,19 @@ static void command_invoke(void const *args)
int i,iteration ; int i,iteration ;
func = (void(*)(void const *))((func_args *)args)->argv[0] ; func = (void(*)(void const *))((func_args *)args)->argv[0] ;
#ifdef HAVE_KEIL_RTX #if defined(HAVE_KEIL_RTX)
LockMutex((CyaSSL_Mutex *)&command_mutex) ; LockMutex((wolfSSL_Mutex *)&command_mutex) ;
#endif #endif
iteration = for_iteration ; iteration = for_iteration ;
for(i=0; i< iteration; i++) { for(i=0; i< iteration; i++) {
if(iteration > 1) printf("--- Start for %d ---->\n", i) ; if(iteration > 1) printf("--- Start for %d ---->\n", i) ;
#if defined(HAVE_KEIL_RTX) && !defined(CYASSL_CMSIS_RTOS) #if defined(HAVE_KEIL_RTX) && !defined(WOLFSSL_CMSIS_RTOS)
stack_fill(command_stack, COMMAND_STACK_SIZE) ; stack_fill(command_stack, COMMAND_STACK_SIZE) ;
#endif #endif
func(args) ; /* invoke command */ func(args) ; /* invoke command */
#if defined(HAVE_KEIL_RTX)&& !defined(CYASSL_CMSIS_RTOS) #if defined(HAVE_KEIL_RTX)&& !defined(WOLFSSL_CMSIS_RTOS)
stack_check(command_stack, COMMAND_STACK_SIZE) ; stack_check(command_stack, COMMAND_STACK_SIZE) ;
#endif #endif
} }
@@ -546,8 +581,8 @@ static void command_invoke(void const *args)
for_iteration = 1 ; for_iteration = 1 ;
osDelay(20000) ; osDelay(20000) ;
#ifdef HAVE_KEIL_RTX #ifdef HAVE_KEIL_RTX
UnLockMutex((CyaSSL_Mutex *)&command_mutex) ; UnLockMutex((wolfSSL_Mutex *)&command_mutex) ;
#ifdef CYASSL_CMSIS_RTOS #ifdef WOLFSSL_CMSIS_RTOS
osThreadTerminate(osThreadGetId()) ; osThreadTerminate(osThreadGetId()) ;
#else #else
os_tsk_delete_self() ; os_tsk_delete_self() ;
@@ -555,26 +590,26 @@ static void command_invoke(void const *args)
#endif #endif
} }
#if defined(HAVE_KEIL_RTX) #if defined(HAVE_KEIL_RTX) || defined(WOLFSSL_CMSIS_RTOS)
/******* Invoke Background Job *******************************/ /******* Invoke Background Job *******************************/
static void bg_job_invoke(void const *args) static void bg_job_invoke(void const *args)
{ {
void (*func)(void const * ) ; void (*func)(void const * ) ;
BackGround = 1 ; BackGround = 1 ;
#if defined(HAVE_KEIL_RTX)&& !defined(CYASSL_CMSIS_RTOS) #if defined(HAVE_KEIL_RTX)&& !defined(WOLFSSL_CMSIS_RTOS)
stack_fill(bg_job_stack, BG_JOB_STACK_SIZE) ; stack_fill(bg_job_stack, BG_JOB_STACK_SIZE) ;
#endif #endif
func = (void(*)(void const *))((func_args *)args)->argv[0] ; func = (void(*)(void const *))((func_args *)args)->argv[0] ;
func(args) ; /* invoke command */ func(args) ; /* invoke command */
#if defined(HAVE_KEIL_RTX) && !defined(CYASSL_CMSIS_RTOS) #if defined(HAVE_KEIL_RTX) && !defined(WOLFSSL_CMSIS_RTOS)
stack_check(bg_job_stack, BG_JOB_STACK_SIZE) ; stack_check(bg_job_stack, BG_JOB_STACK_SIZE) ;
#endif #endif
osDelay(20000) ; osDelay(20000) ;
BackGround = 0 ; BackGround = 0 ;
#ifdef CYASSL_CMSIS_RTOS #ifdef WOLFSSL_CMSIS_RTOS
osThreadTerminate(osThreadGetId()) ; osThreadTerminate(osThreadGetId()) ;
#else #else
os_tsk_delete_self() ; ; os_tsk_delete_self() ; ;
@@ -585,7 +620,7 @@ static void bg_job_invoke(void const *args)
#define LINESIZE 100 #define LINESIZE 100
static char line[LINESIZE] ; static char line[LINESIZE] ;
#if defined(CYASSL_CMSIS_RTOS) #if defined(WOLFSSL_CMSIS_RTOS)
osThreadDef (command_invoke, osPriorityAboveNormal , 1, COMMAND_STACK_SIZE) ; osThreadDef (command_invoke, osPriorityAboveNormal , 1, COMMAND_STACK_SIZE) ;
osThreadDef (bg_job_invoke, osPriorityNormal , 1 , BG_JOB_STACK_SIZE) ; osThreadDef (bg_job_invoke, osPriorityNormal , 1 , BG_JOB_STACK_SIZE) ;
#endif #endif
@@ -594,11 +629,11 @@ void shell_main(void *arg) {
int i ; int i ;
func_args args ; func_args args ;
int bf_flg ; int bf_flg ;
osThreadId cmd ;
i = BackGround ; i = BackGround ;
/* Dummy for avoiding warning: BackGround is defined but not used. */ /* Dummy for avoiding warning: BackGround is defined but not used. */
#if defined(HAVE_KEIL_RTX) #if defined(HAVE_KEIL_RTX)
InitMutex(&command_mutex) ; InitMutex(&command_mutex) ;
#endif #endif
help_comm(NULL) ; help_comm(NULL) ;
@@ -610,20 +645,25 @@ void shell_main(void *arg) {
if(strcmp(commandTable[i].command, args.argv[0]) == 0) { if(strcmp(commandTable[i].command, args.argv[0]) == 0) {
args.argv[0] = (char *) commandTable[i].func ; args.argv[0] = (char *) commandTable[i].func ;
if(bf_flg == FORGROUND) { if(bf_flg == FORGROUND) {
#if defined(HAVE_KEIL_RTX) && !defined(CYASSL_CMSIS_RTOS) #if defined(HAVE_KEIL_RTX) && !defined(WOLFSSL_CMSIS_RTOS)
UnLockMutex((CyaSSL_Mutex *)&command_mutex) ; UnLockMutex((wolfSSL_Mutex *)&command_mutex) ;
os_tsk_create_user_ex( (void(*)(void *))&command_invoke, 7, os_tsk_create_user_ex( (void(*)(void *))&command_invoke, 7,
command_stack, COMMAND_STACK_SIZE, &args) ; command_stack, COMMAND_STACK_SIZE, &args) ;
os_tsk_pass ();
#else #else
#if defined(CYASSL_CMSIS_RTOS) #if defined(WOLFSSL_CMSIS_RTOS)
UnLockMutex((CyaSSL_Mutex *)&command_mutex) ; UnLockMutex((wolfSSL_Mutex *)&command_mutex) ;
osThreadCreate (osThread (command_invoke) , &args); cmd = osThreadCreate (osThread (command_invoke) , &args);
if(cmd == NULL) {
printf("Cannon create command thread\n") ;
}
osThreadYield ();
#else #else
command_invoke(&args) ; command_invoke(&args) ;
#endif #endif
#endif #endif
#ifdef HAVE_KEIL_RTX #ifdef HAVE_KEIL_RTX
LockMutex((CyaSSL_Mutex *)&command_mutex) ; LockMutex((wolfSSL_Mutex *)&command_mutex) ;
#endif #endif
} else { } else {
#if (!defined(NO_SIMPLE_SERVER) && \ #if (!defined(NO_SIMPLE_SERVER) && \
@@ -634,7 +674,7 @@ void shell_main(void *arg) {
} else { } else {
printf("\"%s\" is running with the background mode.\n", printf("\"%s\" is running with the background mode.\n",
commandTable[i].command) ; commandTable[i].command) ;
#if defined(HAVE_KEIL_RTX) && !defined(CYASSL_CMSIS_RTOS) #if defined(HAVE_KEIL_RTX) && !defined(WOLFSSL_CMSIS_RTOS)
os_tsk_create_user_ex( (void(*)(void *))&bg_job_invoke, os_tsk_create_user_ex( (void(*)(void *))&bg_job_invoke,
6, bg_job_stack, BG_JOB_STACK_SIZE, &args) ; 6, bg_job_stack, BG_JOB_STACK_SIZE, &args) ;
#else #else

View File

@@ -23,6 +23,7 @@
#include <config.h> #include <config.h>
#endif #endif
#include <wolfssl/wolfcrypt/settings.h>
#include <stdint.h> #include <stdint.h>
#define DWT ((DWT_Type *) (0xE0001000UL) ) #define DWT ((DWT_Type *) (0xE0001000UL) )
@@ -39,3 +40,4 @@ double current_time(int reset)
if(reset) DWT->CYCCNT = 0 ; if(reset) DWT->CYCCNT = 0 ;
return ((double)DWT->CYCCNT/SystemCoreClock) ; return ((double)DWT->CYCCNT/SystemCoreClock) ;
} }

View File

@@ -0,0 +1,387 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
<SchemaVersion>1.0</SchemaVersion>
<Header>### uVision Project, (C) Keil Software</Header>
<Extensions>
<cExt>*.c</cExt>
<aExt>*.s*; *.src; *.a*</aExt>
<oExt>*.obj</oExt>
<lExt>*.lib</lExt>
<tExt>*.txt; *.h; *.inc</tExt>
<pExt>*.plm</pExt>
<CppX>*.cpp</CppX>
<nMigrate>0</nMigrate>
</Extensions>
<DaveTm>
<dwLowDateTime>0</dwLowDateTime>
<dwHighDateTime>0</dwHighDateTime>
</DaveTm>
<Target>
<TargetName>STM32F207 Flash</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<TargetOption>
<CLKADS>12000000</CLKADS>
<OPTTT>
<gFlags>1</gFlags>
<BeepAtEnd>1</BeepAtEnd>
<RunSim>0</RunSim>
<RunTarget>1</RunTarget>
<RunAbUc>0</RunAbUc>
</OPTTT>
<OPTHX>
<HexSelection>1</HexSelection>
<FlashByte>65535</FlashByte>
<HexRangeLowAddress>0</HexRangeLowAddress>
<HexRangeHighAddress>0</HexRangeHighAddress>
<HexOffset>0</HexOffset>
</OPTHX>
<OPTLEX>
<PageWidth>79</PageWidth>
<PageLength>66</PageLength>
<TabStop>8</TabStop>
<ListingPath>.\Object\</ListingPath>
</OPTLEX>
<ListingPage>
<CreateCListing>1</CreateCListing>
<CreateAListing>1</CreateAListing>
<CreateLListing>1</CreateLListing>
<CreateIListing>0</CreateIListing>
<AsmCond>1</AsmCond>
<AsmSymb>1</AsmSymb>
<AsmXref>0</AsmXref>
<CCond>1</CCond>
<CCode>0</CCode>
<CListInc>0</CListInc>
<CSymb>0</CSymb>
<LinkerCodeListing>0</LinkerCodeListing>
</ListingPage>
<OPTXL>
<LMap>1</LMap>
<LComments>1</LComments>
<LGenerateSymbols>1</LGenerateSymbols>
<LLibSym>1</LLibSym>
<LLines>1</LLines>
<LLocSym>1</LLocSym>
<LPubSym>1</LPubSym>
<LXref>0</LXref>
<LExpSel>0</LExpSel>
</OPTXL>
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget>
</OPTFL>
<CpuCode>18</CpuCode>
<Books>
<Book>
<Number>0</Number>
<Title>Schematics (MCBSTM32F200)</Title>
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200-schematics.pdf</Path>
</Book>
<Book>
<Number>1</Number>
<Title>User Manual (MCBSTM32F200)</Title>
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200.chm</Path>
</Book>
<Book>
<Number>2</Number>
<Title>MCBSTM32F200 Evaluation Board Web Page (MCBSTM32F200)</Title>
<Path>http://www.keil.com/mcbstm32f200/</Path>
</Book>
</Books>
<DebugOpt>
<uSim>0</uSim>
<uTrg>1</uTrg>
<sLdApp>1</sLdApp>
<sGomain>1</sGomain>
<sRbreak>1</sRbreak>
<sRwatch>1</sRwatch>
<sRmem>1</sRmem>
<sRfunc>1</sRfunc>
<sRbox>1</sRbox>
<tLdApp>1</tLdApp>
<tGomain>1</tGomain>
<tRbreak>1</tRbreak>
<tRwatch>1</tRwatch>
<tRmem>1</tRmem>
<tRfunc>0</tRfunc>
<tRbox>1</tRbox>
<tRtrace>1</tRtrace>
<sRSysVw>1</sRSysVw>
<tRSysVw>1</tRSysVw>
<sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime>
<nTsel>1</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
<sDlgPa></sDlgPa>
<sIfile></sIfile>
<tDll></tDll>
<tDllPa></tDllPa>
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile>.\STM32_SWO.ini</tIfile>
<pMon>BIN\UL2CM3.DLL</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMRTXEVENTFLAGS</Key>
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGTARM</Key>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMDBGFLAGS</Key>
<Name></Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ULP2CM3</Key>
<Name>-UP1135060 -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP18 -TDX0 -TDD0 -TDS8000 -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGUARM</Key>
<Name>(105=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>UL2CM3</Key>
<Name>-UM1020ADE -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO19 -TC120000000 -TP21 -TDS801F -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM)</Name>
</SetRegEntry>
</TargetDriverDllRegistry>
<Breakpoint/>
<MemoryWindow1>
<Mm>
<WinNumber>1</WinNumber>
<SubType>8</SubType>
<ItemText>port</ItemText>
<AccSizeX>0</AccSizeX>
</Mm>
</MemoryWindow1>
<MemoryWindow2>
<Mm>
<WinNumber>2</WinNumber>
<SubType>8</SubType>
<ItemText>0x8004dc8</ItemText>
<AccSizeX>0</AccSizeX>
</Mm>
</MemoryWindow2>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>
<DebugFlag>
<trace>0</trace>
<periodic>0</periodic>
<aLwin>1</aLwin>
<aCover>0</aCover>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
<viewmode>1</viewmode>
<vrSel>0</vrSel>
<aSym>0</aSym>
<aTbox>0</aTbox>
<AscS1>0</AscS1>
<AscS2>0</AscS2>
<AscS3>0</AscS3>
<aSer3>0</aSer3>
<eProf>0</eProf>
<aLa>0</aLa>
<aPa1>0</aPa1>
<AscS4>0</AscS4>
<aSer4>1</aSer4>
<StkLoc>1</StkLoc>
<TrcWin>0</TrcWin>
<newCpu>0</newCpu>
<uProt>0</uProt>
</DebugFlag>
<LintExecutable></LintExecutable>
<LintConfigFile></LintConfigFile>
</TargetOption>
</Target>
<Group>
<GroupName>Source</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>1</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\main.c</PathWithFileName>
<FilenameWithoutPath>main.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>2</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\shell.c</PathWithFileName>
<FilenameWithoutPath>shell.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>3</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\time-CortexM3-4.c</PathWithFileName>
<FilenameWithoutPath>time-CortexM3-4.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>Configuration</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>4</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\RTE\wolfSSL\config-Crypt.h</PathWithFileName>
<FilenameWithoutPath>config-Crypt.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>5</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\RTE\wolfSSL\config-wolfSSL.h</PathWithFileName>
<FilenameWithoutPath>config-wolfSSL.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\RTE\wolfSSL\user_settings.h</PathWithFileName>
<FilenameWithoutPath>user_settings.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>Dcumentation</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>7</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Abstract.txt</PathWithFileName>
<FilenameWithoutPath>Abstract.txt</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
<Group>
<GroupName>::CMSIS Driver</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
<Group>
<GroupName>::Compiler</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
<Group>
<GroupName>::Device</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
<Group>
<GroupName>::File System</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
<Group>
<GroupName>::Network</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
<Group>
<GroupName>::wolfSSL</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
</ProjectOpt>

View File

@@ -0,0 +1,950 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
<SchemaVersion>2.1</SchemaVersion>
<Header>### uVision Project, (C) Keil Software</Header>
<Targets>
<Target>
<TargetName>STM32F207 Flash</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<TargetOption>
<TargetCommonOption>
<Device>STM32F207IGHx</Device>
<Vendor>STMicroelectronics</Vendor>
<PackID>Keil.STM32F2xx_DFP.2.2.0</PackID>
<PackURL>http://www.keil.com/pack</PackURL>
<Cpu>IROM(0x08000000,0x100000) IRAM(0x20000000,0x20000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
<FlashUtilSpec></FlashUtilSpec>
<StartupFile></StartupFile>
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207IGHx$CMSIS/Flash/STM32F2xx_1024.FLM))</FlashDriverDll>
<DeviceId>0</DeviceId>
<RegisterFile>$$Device:STM32F207IGHx$Drivers/CMSIS/Device/ST/STM32F2xx/Include/stm32f2xx.h</RegisterFile>
<MemoryEnv></MemoryEnv>
<Cmp></Cmp>
<Asm></Asm>
<Linker></Linker>
<OHString></OHString>
<InfinionOptionDll></InfinionOptionDll>
<SLE66CMisc></SLE66CMisc>
<SLE66AMisc></SLE66AMisc>
<SLE66LinkerMisc></SLE66LinkerMisc>
<SFDFile>$$Device:STM32F207IGHx$CMSIS\SVD\STM32F20x.svd</SFDFile>
<bCustSvd>0</bCustSvd>
<UseEnv>0</UseEnv>
<BinPath></BinPath>
<IncludePath></IncludePath>
<LibPath></LibPath>
<RegisterFilePath></RegisterFilePath>
<DBRegisterFilePath></DBRegisterFilePath>
<TargetStatus>
<Error>0</Error>
<ExitCodeStop>0</ExitCodeStop>
<ButtonStop>0</ButtonStop>
<NotGenerated>0</NotGenerated>
<InvalidFlash>1</InvalidFlash>
</TargetStatus>
<OutputDirectory>.\Object\</OutputDirectory>
<OutputName>wolfssl-Full</OutputName>
<CreateExecutable>1</CreateExecutable>
<CreateLib>0</CreateLib>
<CreateHexFile>0</CreateHexFile>
<DebugInformation>1</DebugInformation>
<BrowseInformation>1</BrowseInformation>
<ListingPath>.\Object\</ListingPath>
<HexFormatSelection>1</HexFormatSelection>
<Merge32K>0</Merge32K>
<CreateBatchFile>0</CreateBatchFile>
<BeforeCompile>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
<UserProg1Name></UserProg1Name>
<UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
<nStopU1X>0</nStopU1X>
<nStopU2X>0</nStopU2X>
</BeforeCompile>
<BeforeMake>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
<UserProg1Name></UserProg1Name>
<UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
<nStopB1X>0</nStopB1X>
<nStopB2X>0</nStopB2X>
</BeforeMake>
<AfterMake>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
<UserProg1Name></UserProg1Name>
<UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
</AfterMake>
<SelectedForBatchBuild>0</SelectedForBatchBuild>
<SVCSIdString></SVCSIdString>
</TargetCommonOption>
<CommonProperty>
<UseCPPCompiler>0</UseCPPCompiler>
<RVCTCodeConst>0</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>1</IncludeInBuild>
<AlwaysBuild>0</AlwaysBuild>
<GenerateAssemblyFile>0</GenerateAssemblyFile>
<AssembleAssemblyFile>0</AssembleAssemblyFile>
<PublicsOnly>0</PublicsOnly>
<StopOnExitCode>3</StopOnExitCode>
<CustomArgument></CustomArgument>
<IncludeLibraryModules></IncludeLibraryModules>
<ComprImg>1</ComprImg>
</CommonProperty>
<DllOption>
<SimDllName>SARMCM3.DLL</SimDllName>
<SimDllArguments> -REMAP -MPU</SimDllArguments>
<SimDlgDll>DCM.DLL</SimDlgDll>
<SimDlgDllArguments>-pCM3</SimDlgDllArguments>
<TargetDllName>SARMCM3.DLL</TargetDllName>
<TargetDllArguments> -MPU</TargetDllArguments>
<TargetDlgDll>TCM.DLL</TargetDlgDll>
<TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
</DllOption>
<DebugOption>
<OPTHX>
<HexSelection>1</HexSelection>
<HexRangeLowAddress>0</HexRangeLowAddress>
<HexRangeHighAddress>0</HexRangeHighAddress>
<HexOffset>0</HexOffset>
<Oh166RecLen>16</Oh166RecLen>
</OPTHX>
<Simulator>
<UseSimulator>0</UseSimulator>
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
<RunToMain>1</RunToMain>
<RestoreBreakpoints>1</RestoreBreakpoints>
<RestoreWatchpoints>1</RestoreWatchpoints>
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
<RestoreFunctions>1</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox>
<LimitSpeedToRealTime>0</LimitSpeedToRealTime>
<RestoreSysVw>1</RestoreSysVw>
</Simulator>
<Target>
<UseTarget>1</UseTarget>
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
<RunToMain>1</RunToMain>
<RestoreBreakpoints>1</RestoreBreakpoints>
<RestoreWatchpoints>1</RestoreWatchpoints>
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
<RestoreFunctions>0</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox>
<RestoreTracepoints>1</RestoreTracepoints>
<RestoreSysVw>1</RestoreSysVw>
</Target>
<RunDebugAfterBuild>0</RunDebugAfterBuild>
<TargetSelection>1</TargetSelection>
<SimDlls>
<CpuDll></CpuDll>
<CpuDllArguments></CpuDllArguments>
<PeripheralDll></PeripheralDll>
<PeripheralDllArguments></PeripheralDllArguments>
<InitializationFile></InitializationFile>
</SimDlls>
<TargetDlls>
<CpuDll></CpuDll>
<CpuDllArguments></CpuDllArguments>
<PeripheralDll></PeripheralDll>
<PeripheralDllArguments></PeripheralDllArguments>
<InitializationFile>.\STM32_SWO.ini</InitializationFile>
<Driver>BIN\UL2CM3.DLL</Driver>
</TargetDlls>
</DebugOption>
<Utilities>
<Flash1>
<UseTargetDll>1</UseTargetDll>
<UseExternalTool>0</UseExternalTool>
<RunIndependent>0</RunIndependent>
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
<Capability>1</Capability>
<DriverSelection>4100</DriverSelection>
</Flash1>
<bUseTDR>1</bUseTDR>
<Flash2>BIN\UL2CM3.DLL</Flash2>
<Flash3></Flash3>
<Flash4></Flash4>
<pFcarmOut></pFcarmOut>
<pFcarmGrp></pFcarmGrp>
<pFcArmRoot></pFcArmRoot>
<FcArmLst>0</FcArmLst>
</Utilities>
<TargetArmAds>
<ArmAdsMisc>
<GenerateListings>0</GenerateListings>
<asHll>1</asHll>
<asAsm>1</asAsm>
<asMacX>1</asMacX>
<asSyms>1</asSyms>
<asFals>1</asFals>
<asDbgD>1</asDbgD>
<asForm>1</asForm>
<ldLst>0</ldLst>
<ldmm>1</ldmm>
<ldXref>1</ldXref>
<BigEnd>0</BigEnd>
<AdsALst>1</AdsALst>
<AdsACrf>1</AdsACrf>
<AdsANop>0</AdsANop>
<AdsANot>0</AdsANot>
<AdsLLst>1</AdsLLst>
<AdsLmap>1</AdsLmap>
<AdsLcgr>1</AdsLcgr>
<AdsLsym>1</AdsLsym>
<AdsLszi>1</AdsLszi>
<AdsLtoi>1</AdsLtoi>
<AdsLsun>1</AdsLsun>
<AdsLven>1</AdsLven>
<AdsLsxf>1</AdsLsxf>
<RvctClst>0</RvctClst>
<GenPPlst>0</GenPPlst>
<AdsCpuType>"Cortex-M3"</AdsCpuType>
<RvctDeviceName></RvctDeviceName>
<mOS>1</mOS>
<uocRom>0</uocRom>
<uocRam>0</uocRam>
<hadIROM>1</hadIROM>
<hadIRAM>1</hadIRAM>
<hadXRAM>0</hadXRAM>
<uocXRam>0</uocXRam>
<RvdsVP>0</RvdsVP>
<hadIRAM2>0</hadIRAM2>
<hadIROM2>0</hadIROM2>
<StupSel>8</StupSel>
<useUlib>0</useUlib>
<EndSel>0</EndSel>
<uLtcg>0</uLtcg>
<RoSelD>3</RoSelD>
<RwSelD>3</RwSelD>
<CodeSel>0</CodeSel>
<OptFeed>0</OptFeed>
<NoZi1>0</NoZi1>
<NoZi2>0</NoZi2>
<NoZi3>0</NoZi3>
<NoZi4>0</NoZi4>
<NoZi5>0</NoZi5>
<Ro1Chk>0</Ro1Chk>
<Ro2Chk>0</Ro2Chk>
<Ro3Chk>0</Ro3Chk>
<Ir1Chk>1</Ir1Chk>
<Ir2Chk>0</Ir2Chk>
<Ra1Chk>0</Ra1Chk>
<Ra2Chk>0</Ra2Chk>
<Ra3Chk>0</Ra3Chk>
<Im1Chk>1</Im1Chk>
<Im2Chk>0</Im2Chk>
<OnChipMemories>
<Ocm1>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm1>
<Ocm2>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm2>
<Ocm3>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm3>
<Ocm4>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm4>
<Ocm5>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm5>
<Ocm6>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm6>
<IRAM>
<Type>0</Type>
<StartAddress>0x20000000</StartAddress>
<Size>0x20000</Size>
</IRAM>
<IROM>
<Type>1</Type>
<StartAddress>0x8000000</StartAddress>
<Size>0x100000</Size>
</IROM>
<XRAM>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</XRAM>
<OCR_RVCT1>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT1>
<OCR_RVCT2>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT2>
<OCR_RVCT3>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT3>
<OCR_RVCT4>
<Type>1</Type>
<StartAddress>0x8000000</StartAddress>
<Size>0x100000</Size>
</OCR_RVCT4>
<OCR_RVCT5>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT5>
<OCR_RVCT6>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT6>
<OCR_RVCT7>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT7>
<OCR_RVCT8>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT8>
<OCR_RVCT9>
<Type>0</Type>
<StartAddress>0x20000000</StartAddress>
<Size>0x20000</Size>
</OCR_RVCT9>
<OCR_RVCT10>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT10>
</OnChipMemories>
<RvctStartVector></RvctStartVector>
</ArmAdsMisc>
<Cads>
<interw>1</interw>
<Optim>4</Optim>
<oTime>0</oTime>
<SplitLS>0</SplitLS>
<OneElfS>0</OneElfS>
<Strict>0</Strict>
<EnumInt>0</EnumInt>
<PlainCh>0</PlainCh>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<wLevel>2</wLevel>
<uThumb>0</uThumb>
<uSurpInc>0</uSurpInc>
<uC99>1</uC99>
<useXO>0</useXO>
<VariousControls>
<MiscControls>--diag_suppress=1293</MiscControls>
<Define>HSE_VALUE=25000000 HAVE_CONFIG_H MDK_CONF_full WOLFSSL_USER_SETTINGS</Define>
<Undefine></Undefine>
<IncludePath></IncludePath>
</VariousControls>
</Cads>
<Aads>
<interw>1</interw>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<thumb>0</thumb>
<SplitLS>0</SplitLS>
<SwStkChk>0</SwStkChk>
<NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
<Undefine></Undefine>
<IncludePath></IncludePath>
</VariousControls>
</Aads>
<LDads>
<umfTarg>1</umfTarg>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<noStLib>0</noStLib>
<RepFail>1</RepFail>
<useFile>0</useFile>
<TextAddressRange>0x08000000</TextAddressRange>
<DataAddressRange>0x20000000</DataAddressRange>
<pXoBase></pXoBase>
<ScatterFile></ScatterFile>
<IncludeLibs></IncludeLibs>
<IncludeLibsPath></IncludeLibsPath>
<Misc></Misc>
<LinkerInputFile></LinkerInputFile>
<DisabledWarnings></DisabledWarnings>
</LDads>
</TargetArmAds>
</TargetOption>
<Groups>
<Group>
<GroupName>Source</GroupName>
<Files>
<File>
<FileName>main.c</FileName>
<FileType>1</FileType>
<FilePath>.\main.c</FilePath>
</File>
<File>
<FileName>shell.c</FileName>
<FileType>1</FileType>
<FilePath>.\shell.c</FilePath>
</File>
<File>
<FileName>time-CortexM3-4.c</FileName>
<FileType>1</FileType>
<FilePath>.\time-CortexM3-4.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>Configuration</GroupName>
<Files>
<File>
<FileName>config-Crypt.h</FileName>
<FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath>
</File>
<File>
<FileName>config-wolfSSL.h</FileName>
<FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\config-wolfSSL.h</FilePath>
</File>
<File>
<FileName>user_settings.h</FileName>
<FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\user_settings.h</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>Dcumentation</GroupName>
<Files>
<File>
<FileName>Abstract.txt</FileName>
<FileType>5</FileType>
<FilePath>.\Abstract.txt</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
</Group>
<Group>
<GroupName>::CMSIS Driver</GroupName>
</Group>
<Group>
<GroupName>::Compiler</GroupName>
</Group>
<Group>
<GroupName>::Device</GroupName>
</Group>
<Group>
<GroupName>::File System</GroupName>
</Group>
<Group>
<GroupName>::Network</GroupName>
</Group>
<Group>
<GroupName>::wolfSSL</GroupName>
</Group>
</Groups>
</Target>
</Targets>
<RTE>
<apis>
<api Capiversion="2.01" Cclass="CMSIS Driver" Cgroup="Ethernet MAC" exclusive="0">
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</api>
<api Capiversion="2.00" Cclass="CMSIS Driver" Cgroup="Ethernet PHY" exclusive="0">
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</api>
<api Capiversion="2.02" Cclass="CMSIS Driver" Cgroup="MCI" exclusive="0">
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</api>
<api Cclass="CMSIS" Cgroup="RTOS" exclusive="0">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</api>
<api Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</api>
</apis>
<components>
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="4.1.0" condition="CMSIS Core">
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.78.0" condition="Cortex-M Device Startup">
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="CORE" Cvariant="Release IPv4/IPv6" Cvendor="Keil" Cversion="7.0.0" condition="CMSIS Core with RTOS">
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="7.0.0" condition="Network Driver ETH" maxInstances="1">
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="7.0.0" condition="Network UDP">
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="7.0.0" condition="Network UDP/TCP">
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="7.0.0" condition="Network Interface">
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="7.0.0" condition="Network Interface">
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="6.5.0" condition="CMSIS Core with RTOS and File System I/O">
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.5.0" condition="File System and SD/MMC Driver" maxInstances="2">
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Capiversion="2.01" Cclass="CMSIS Driver" Cgroup="Ethernet MAC" Cvendor="Keil" Cversion="2.01" condition="STM32F2 CMSIS_Driver ETH_MAC">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Capiversion="2.00" Cclass="CMSIS Driver" Cgroup="Ethernet PHY" Csub="ST802RT1" Cvendor="Keil" Cversion="6.00" condition="CMSIS Core">
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Capiversion="2.02" Cclass="CMSIS Driver" Cgroup="MCI" Cvendor="Keil" Cversion="2.02" condition="STM32F2 CMSIS_Driver MCI">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cclass="Compiler" Cgroup="I/O" Csub="File" Cvariant="File System" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with File System">
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cclass="Compiler" Cgroup="I/O" Csub="STDERR" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cclass="Compiler" Cgroup="I/O" Csub="STDIN" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cclass="Compiler" Cgroup="I/O" Csub="STDOUT" Cvariant="ITM" Cvendor="Keil" Cversion="1.0.0" condition="ARMCC Cortex-M with ITM">
<package name="ARM_Compiler" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL Common">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL GPIO">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL DMA">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Benchmark" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfCrypt-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfCrypt-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Test" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfCrypt-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfSSL-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="SimpleClient" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfSSL-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="SimpleServer" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfSSL-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="echoClient" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfSSL-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="echoServer" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfSSL-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</component>
</components>
<files>
<file attr="config" category="source" name="CMSIS\RTOS\RTX\Templates\RTX_Conf_CM.c" version="4.70.1">
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.78.0" condition="Cortex-M Device Startup"/>
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="source" condition="K70F12" name="Device\Source\ARM\startup_MK70F12.s">
<instance index="0" removed="1">RTE\Device\MK70FN1M0xxx12\startup_MK70F12.s</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="Kinetis K70 CMSIS Device"/>
<package name="Kinetis_K70_DFP" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.1"/>
<targetInfos/>
</file>
<file attr="config" category="source" condition="K70F12" name="Device\Source\system_MK70F12.c">
<instance index="0" removed="1">RTE\Device\MK70FN1M0xxx12\system_MK70F12.c</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="Kinetis K70 CMSIS Device"/>
<package name="Kinetis_K70_DFP" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.1"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="CMSIS\Driver\Config\RTE_Device.h" version="2.01">
<instance index="0">RTE\Device\STM32F207IGHx\RTE_Device.h</instance>
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="source" condition="STM32F207xx_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f207xx.s" version="2.0.1">
<instance index="0">RTE\Device\STM32F207IGHx\startup_stm32f207xx.s</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f2xx_hal_conf.h">
<instance index="0">RTE\Device\STM32F207IGHx\stm32f2xx_hal_conf.h</instance>
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\system_stm32f2xx.c" version="2.0.1">
<instance index="0">RTE\Device\STM32F207IGHx\system_stm32f2xx.c</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="header" name="RTE_Driver\Config\RTE_Device.h">
<instance index="0" removed="1">RTE\Device\STM32F207IG\RTE_Device.h</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/>
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/>
<targetInfos/>
</file>
<file attr="config" category="source" condition="STM32F207xx_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f207xx.s" version="2.0.1">
<instance index="0" removed="1">RTE\Device\STM32F207IG\startup_stm32f207xx.s</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos/>
</file>
<file attr="config" category="source" name="Device\Source\ARM\startup_stm32f2xx.s">
<instance index="0" removed="1">RTE\Device\STM32F207IG\startup_stm32f2xx.s</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/>
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f2xx_hal_conf.h">
<instance index="0" removed="1">RTE\Device\STM32F207IG\stm32f2xx_hal_conf.h</instance>
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos/>
</file>
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\system_stm32f2xx.c" version="2.0.1">
<instance index="0" removed="1">RTE\Device\STM32F207IG\system_stm32f2xx.c</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos/>
</file>
<file attr="config" category="source" condition="TM4C129x" name="Device\Source\ARM\startup_TM4C129.s">
<instance index="0" removed="1">RTE\Device\TM4C129ENCPDT\startup_TM4C129.s</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="TM4C CMSIS Device"/>
<package name="TM4C_DFP" schemaVersion="1.2" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
<targetInfos/>
</file>
<file attr="config" category="source" condition="TM4C129x" name="Device\Source\system_tm4c129.c">
<instance index="0" removed="1">RTE\Device\TM4C129ENCPDT\system_tm4c129.c</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="TM4C CMSIS Device"/>
<package name="TM4C_DFP" schemaVersion="1.2" url="http://www.keil.com/pack/" vendor="Keil" version="1.0.0"/>
<targetInfos/>
</file>
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="6.2">
<instance index="0">RTE\File_System\FS_Config.c</instance>
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="SFN" Cvendor="Keil" Cversion="6.4.0" condition="CMSIS Core with RTOS and File System I/O"/>
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="6.4.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="6.2">
<instance index="0">RTE\File_System\FS_Config_MC_0.h</instance>
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="6.4.0" condition="File System and SD/MMC Driver" maxInstances="2"/>
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="6.4.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Network_DS\Config\Net_Config.c" version="7.0">
<instance index="0">RTE\Network\Net_Config.c</instance>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="CORE" Cvariant="Release IPv4/IPv6" Cvendor="Keil" Cversion="7.0.0" condition="CMSIS Core with RTOS"/>
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Network_DS\Config\Net_Config_BSD.h" version="7.0">
<instance index="0">RTE\Network\Net_Config_BSD.h</instance>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="7.0.0" condition="Network UDP/TCP"/>
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Network_DS\Config\Net_Config_DNS_Client.h" version="7.0">
<instance index="0">RTE\Network\Net_Config_DNS_Client.h</instance>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="7.0.0" condition="Network UDP"/>
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Network_DS\Config\Net_Config_ETH.h" version="7.0">
<instance index="0">RTE\Network\Net_Config_ETH_0.h</instance>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="7.0.0" condition="Network Driver ETH" maxInstances="1"/>
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Network_DS\Config\Net_Config_TCP.h" version="7.0">
<instance index="0">RTE\Network\Net_Config_TCP.h</instance>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="7.0.0" condition="Network Interface"/>
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Network_DS\Config\Net_Config_UDP.h" version="7.0">
<instance index="0">RTE\Network\Net_Config_UDP.h</instance>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="7.0.0" condition="Network Interface"/>
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Network\Config\Net_Debug.c" version="5.00">
<instance index="0" removed="1">RTE\Network\Net_Debug.c</instance>
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" Cvariant="Debug" Cvendor="Keil" Cversion="6.4.0" condition="CMSIS Core with RTOS"/>
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="6.4.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-Crypt.h">
<instance index="0" removed="1">RTE\Other\config-Crypt.h</instance>
<component Cclass="Other" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.7.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="2.7.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-CyaSSL.h">
<instance index="0" removed="1">RTE\Other\config-CyaSSL.h</instance>
<component Cclass="Other" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.7.0" condition="CyaSSL-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="2.7.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-RTX-TCP-FS.h">
<instance index="0" removed="1">RTE\Other\config-RTX-TCP-FS.h</instance>
<component Cclass="Other" Cgroup="CyaSSL" Csub="RTX,TCP,FS" Cvendor="wolfSSL" Cversion="2.7.0" condition="CyaSSL-RTX,TCP,FS"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="2.7.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config.h">
<instance index="0" removed="1">RTE\Other\config.h</instance>
<component Cclass="Other" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.7.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="2.7.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\config-Crypt.h">
<instance index="0">RTE\wolfSSL\config-Crypt.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.6.3" condition="wolfCrypt-Core"/>
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-CyaSSL.h">
<instance index="0" removed="1">RTE\wolfSSL\config-CyaSSL.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.0.0" condition="CyaSSL-Core"/>
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-Licnese.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.0.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\config-wolfSSL.h">
<instance index="0">RTE\wolfSSL\config-wolfSSL.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.6.3" condition="wolfSSL-Core"/>
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config.h">
<instance index="0" removed="1">RTE\wolfSSL\config.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.0.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="wolfssl\wolfssl\wolfcrypt\settings.h">
<instance index="0" removed="1">RTE\wolfSSL\settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.4." condition="wolfCrypt-Core"/>
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="wolfSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.4.6"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h">
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.6.3" condition="wolfCrypt-Core"/>
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo name="STM32F207 Flash"/>
</targetInfos>
</file>
</files>
</RTE>
</Project>

View File

@@ -0,0 +1,314 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<ProjectOpt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_optx.xsd">
<SchemaVersion>1.0</SchemaVersion>
<Header>### uVision Project, (C) Keil Software</Header>
<Extensions>
<cExt>*.c</cExt>
<aExt>*.s*; *.src; *.a*</aExt>
<oExt>*.obj</oExt>
<lExt>*.lib</lExt>
<tExt>*.txt; *.h; *.inc</tExt>
<pExt>*.plm</pExt>
<CppX>*.cpp</CppX>
<nMigrate>0</nMigrate>
</Extensions>
<DaveTm>
<dwLowDateTime>0</dwLowDateTime>
<dwHighDateTime>0</dwHighDateTime>
</DaveTm>
<Target>
<TargetName>wolfSSL-Lib</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<TargetOption>
<CLKADS>120000000</CLKADS>
<OPTTT>
<gFlags>1</gFlags>
<BeepAtEnd>1</BeepAtEnd>
<RunSim>0</RunSim>
<RunTarget>1</RunTarget>
<RunAbUc>0</RunAbUc>
</OPTTT>
<OPTHX>
<HexSelection>1</HexSelection>
<FlashByte>65535</FlashByte>
<HexRangeLowAddress>0</HexRangeLowAddress>
<HexRangeHighAddress>0</HexRangeHighAddress>
<HexOffset>0</HexOffset>
</OPTHX>
<OPTLEX>
<PageWidth>79</PageWidth>
<PageLength>66</PageLength>
<TabStop>8</TabStop>
<ListingPath>.\Object\</ListingPath>
</OPTLEX>
<ListingPage>
<CreateCListing>1</CreateCListing>
<CreateAListing>1</CreateAListing>
<CreateLListing>1</CreateLListing>
<CreateIListing>0</CreateIListing>
<AsmCond>1</AsmCond>
<AsmSymb>1</AsmSymb>
<AsmXref>0</AsmXref>
<CCond>1</CCond>
<CCode>0</CCode>
<CListInc>0</CListInc>
<CSymb>0</CSymb>
<LinkerCodeListing>0</LinkerCodeListing>
</ListingPage>
<OPTXL>
<LMap>1</LMap>
<LComments>1</LComments>
<LGenerateSymbols>1</LGenerateSymbols>
<LLibSym>1</LLibSym>
<LLines>1</LLines>
<LLocSym>1</LLocSym>
<LPubSym>1</LPubSym>
<LXref>0</LXref>
<LExpSel>0</LExpSel>
</OPTXL>
<OPTFL>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget>
</OPTFL>
<CpuCode>18</CpuCode>
<Books>
<Book>
<Number>0</Number>
<Title>Schematics (MCBSTM32F200)</Title>
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200-schematics.pdf</Path>
</Book>
<Book>
<Number>1</Number>
<Title>User Manual (MCBSTM32F200)</Title>
<Path>C:\Keil_v5\ARM\PACK\Keil\STM32F2xx_DFP\2.2.0\MDK/Boards/Keil/MCBSTM32F200/Documentation/mcbstm32f200.chm</Path>
</Book>
<Book>
<Number>2</Number>
<Title>MCBSTM32F200 Evaluation Board Web Page (MCBSTM32F200)</Title>
<Path>http://www.keil.com/mcbstm32f200/</Path>
</Book>
</Books>
<DebugOpt>
<uSim>0</uSim>
<uTrg>1</uTrg>
<sLdApp>1</sLdApp>
<sGomain>1</sGomain>
<sRbreak>1</sRbreak>
<sRwatch>1</sRwatch>
<sRmem>1</sRmem>
<sRfunc>1</sRfunc>
<sRbox>1</sRbox>
<tLdApp>1</tLdApp>
<tGomain>1</tGomain>
<tRbreak>1</tRbreak>
<tRwatch>1</tRwatch>
<tRmem>1</tRmem>
<tRfunc>0</tRfunc>
<tRbox>1</tRbox>
<tRtrace>1</tRtrace>
<sRSysVw>1</sRSysVw>
<tRSysVw>1</tRSysVw>
<sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime>
<nTsel>7</nTsel>
<sDll></sDll>
<sDllPa></sDllPa>
<sDlgDll></sDlgDll>
<sDlgPa></sDlgPa>
<sIfile></sIfile>
<tDll></tDll>
<tDllPa></tDllPa>
<tDlgDll></tDlgDll>
<tDlgPa></tDlgPa>
<tIfile></tIfile>
<pMon>BIN\ULP2CM3.DLL</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGUARM</Key>
<Name></Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGTARM</Key>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMDBGFLAGS</Key>
<Name></Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ULP2CM3</Key>
<Name>-UP1135060 -O206 -S8 -C0 -P00 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO3 -TC10000000 -TP18 -TDX0 -TDD0 -TDS8000 -TDT0 -TDC1F -TIE1 -TIP1 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024.flm -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$Flash\STM32F2xx_1024.flm)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>UL2CM3</Key>
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$Flash\STM32F2xx_1024.flm))</Name>
</SetRegEntry>
</TargetDriverDllRegistry>
<Breakpoint/>
<MemoryWindow1>
<Mm>
<WinNumber>1</WinNumber>
<SubType>8</SubType>
<ItemText>0x20000408</ItemText>
<AccSizeX>0</AccSizeX>
</Mm>
</MemoryWindow1>
<MemoryWindow2>
<Mm>
<WinNumber>2</WinNumber>
<SubType>8</SubType>
<ItemText>0x8004dc8</ItemText>
<AccSizeX>0</AccSizeX>
</Mm>
</MemoryWindow2>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>
<DebugFlag>
<trace>0</trace>
<periodic>0</periodic>
<aLwin>1</aLwin>
<aCover>0</aCover>
<aSer1>0</aSer1>
<aSer2>0</aSer2>
<aPa>0</aPa>
<viewmode>1</viewmode>
<vrSel>0</vrSel>
<aSym>0</aSym>
<aTbox>0</aTbox>
<AscS1>0</AscS1>
<AscS2>0</AscS2>
<AscS3>0</AscS3>
<aSer3>0</aSer3>
<eProf>0</eProf>
<aLa>0</aLa>
<aPa1>0</aPa1>
<AscS4>0</AscS4>
<aSer4>1</aSer4>
<StkLoc>0</StkLoc>
<TrcWin>0</TrcWin>
<newCpu>0</newCpu>
<uProt>0</uProt>
</DebugFlag>
<LintExecutable></LintExecutable>
<LintConfigFile></LintConfigFile>
</TargetOption>
</Target>
<Group>
<GroupName>Configuration</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>1</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\RTE\wolfSSL\config-Crypt.h</PathWithFileName>
<FilenameWithoutPath>config-Crypt.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>2</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\RTE\wolfSSL\config-wolfSSL.h</PathWithFileName>
<FilenameWithoutPath>config-wolfSSL.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>1</GroupNumber>
<FileNumber>3</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\RTE\wolfSSL\user_settings.h</PathWithFileName>
<FilenameWithoutPath>user_settings.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
<GroupName>Documentation</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
</Group>
<Group>
<GroupName>wolfSSL-lib</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
<Group>
<GroupName>::CMSIS Driver</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
<Group>
<GroupName>::Device</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
<Group>
<GroupName>::Network</GroupName>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
<Group>
<GroupName>::wolfSSL</GroupName>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
</Group>
</ProjectOpt>

View File

@@ -0,0 +1,782 @@
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
<SchemaVersion>2.1</SchemaVersion>
<Header>### uVision Project, (C) Keil Software</Header>
<Targets>
<Target>
<TargetName>wolfSSL-Lib</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<TargetOption>
<TargetCommonOption>
<Device>STM32F207IG</Device>
<Vendor>STMicroelectronics</Vendor>
<PackID>Keil.STM32F2xx_DFP.2.2.0</PackID>
<PackURL>http://www.keil.com/pack</PackURL>
<Cpu>IRAM(0x20000000,0x20000) IROM(0x08000000,0x100000) CPUTYPE("Cortex-M3") CLOCK(120000000) ELITTLE</Cpu>
<FlashUtilSpec></FlashUtilSpec>
<StartupFile></StartupFile>
<FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F2xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32F207IG$Flash\STM32F2xx_1024.flm))</FlashDriverDll>
<DeviceId>0</DeviceId>
<RegisterFile>$$Device:STM32F207IG$Device\Include\stm32f2xx.h</RegisterFile>
<MemoryEnv></MemoryEnv>
<Cmp></Cmp>
<Asm></Asm>
<Linker></Linker>
<OHString></OHString>
<InfinionOptionDll></InfinionOptionDll>
<SLE66CMisc></SLE66CMisc>
<SLE66AMisc></SLE66AMisc>
<SLE66LinkerMisc></SLE66LinkerMisc>
<SFDFile>$$Device:STM32F207IG$SVD\STM32F20x.svd</SFDFile>
<bCustSvd>0</bCustSvd>
<UseEnv>0</UseEnv>
<BinPath></BinPath>
<IncludePath></IncludePath>
<LibPath></LibPath>
<RegisterFilePath></RegisterFilePath>
<DBRegisterFilePath></DBRegisterFilePath>
<TargetStatus>
<Error>0</Error>
<ExitCodeStop>0</ExitCodeStop>
<ButtonStop>0</ButtonStop>
<NotGenerated>0</NotGenerated>
<InvalidFlash>1</InvalidFlash>
</TargetStatus>
<OutputDirectory>.\Object\</OutputDirectory>
<OutputName>wolfSSL</OutputName>
<CreateExecutable>0</CreateExecutable>
<CreateLib>1</CreateLib>
<CreateHexFile>0</CreateHexFile>
<DebugInformation>0</DebugInformation>
<BrowseInformation>0</BrowseInformation>
<ListingPath>.\Object\</ListingPath>
<HexFormatSelection>1</HexFormatSelection>
<Merge32K>0</Merge32K>
<CreateBatchFile>0</CreateBatchFile>
<BeforeCompile>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
<UserProg1Name></UserProg1Name>
<UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
<nStopU1X>0</nStopU1X>
<nStopU2X>0</nStopU2X>
</BeforeCompile>
<BeforeMake>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
<UserProg1Name></UserProg1Name>
<UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
<nStopB1X>0</nStopB1X>
<nStopB2X>0</nStopB2X>
</BeforeMake>
<AfterMake>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
<UserProg1Name></UserProg1Name>
<UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
</AfterMake>
<SelectedForBatchBuild>0</SelectedForBatchBuild>
<SVCSIdString></SVCSIdString>
</TargetCommonOption>
<CommonProperty>
<UseCPPCompiler>0</UseCPPCompiler>
<RVCTCodeConst>0</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>1</IncludeInBuild>
<AlwaysBuild>0</AlwaysBuild>
<GenerateAssemblyFile>0</GenerateAssemblyFile>
<AssembleAssemblyFile>0</AssembleAssemblyFile>
<PublicsOnly>0</PublicsOnly>
<StopOnExitCode>3</StopOnExitCode>
<CustomArgument></CustomArgument>
<IncludeLibraryModules></IncludeLibraryModules>
<ComprImg>1</ComprImg>
</CommonProperty>
<DllOption>
<SimDllName>SARMCM3.DLL</SimDllName>
<SimDllArguments>-REMAP -MPU</SimDllArguments>
<SimDlgDll>DCM.DLL</SimDlgDll>
<SimDlgDllArguments>-pCM3</SimDlgDllArguments>
<TargetDllName>SARMCM3.DLL</TargetDllName>
<TargetDllArguments>-REMAP -MPU</TargetDllArguments>
<TargetDlgDll>TCM.DLL</TargetDlgDll>
<TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
</DllOption>
<DebugOption>
<OPTHX>
<HexSelection>1</HexSelection>
<HexRangeLowAddress>0</HexRangeLowAddress>
<HexRangeHighAddress>0</HexRangeHighAddress>
<HexOffset>0</HexOffset>
<Oh166RecLen>16</Oh166RecLen>
</OPTHX>
<Simulator>
<UseSimulator>0</UseSimulator>
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
<RunToMain>1</RunToMain>
<RestoreBreakpoints>1</RestoreBreakpoints>
<RestoreWatchpoints>1</RestoreWatchpoints>
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
<RestoreFunctions>1</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox>
<LimitSpeedToRealTime>0</LimitSpeedToRealTime>
<RestoreSysVw>1</RestoreSysVw>
</Simulator>
<Target>
<UseTarget>1</UseTarget>
<LoadApplicationAtStartup>1</LoadApplicationAtStartup>
<RunToMain>1</RunToMain>
<RestoreBreakpoints>1</RestoreBreakpoints>
<RestoreWatchpoints>1</RestoreWatchpoints>
<RestoreMemoryDisplay>1</RestoreMemoryDisplay>
<RestoreFunctions>0</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox>
<RestoreTracepoints>1</RestoreTracepoints>
<RestoreSysVw>1</RestoreSysVw>
</Target>
<RunDebugAfterBuild>0</RunDebugAfterBuild>
<TargetSelection>7</TargetSelection>
<SimDlls>
<CpuDll></CpuDll>
<CpuDllArguments></CpuDllArguments>
<PeripheralDll></PeripheralDll>
<PeripheralDllArguments></PeripheralDllArguments>
<InitializationFile></InitializationFile>
</SimDlls>
<TargetDlls>
<CpuDll></CpuDll>
<CpuDllArguments></CpuDllArguments>
<PeripheralDll></PeripheralDll>
<PeripheralDllArguments></PeripheralDllArguments>
<InitializationFile></InitializationFile>
<Driver>BIN\ULP2CM3.DLL</Driver>
</TargetDlls>
</DebugOption>
<Utilities>
<Flash1>
<UseTargetDll>1</UseTargetDll>
<UseExternalTool>0</UseExternalTool>
<RunIndependent>0</RunIndependent>
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
<Capability>1</Capability>
<DriverSelection>4100</DriverSelection>
</Flash1>
<bUseTDR>1</bUseTDR>
<Flash2>BIN\ULP2CM3.DLL</Flash2>
<Flash3>"" ()</Flash3>
<Flash4></Flash4>
<pFcarmOut></pFcarmOut>
<pFcarmGrp>wolfSSL-lib</pFcarmGrp>
<pFcArmRoot></pFcArmRoot>
<FcArmLst>0</FcArmLst>
</Utilities>
<TargetArmAds>
<ArmAdsMisc>
<GenerateListings>0</GenerateListings>
<asHll>1</asHll>
<asAsm>1</asAsm>
<asMacX>1</asMacX>
<asSyms>1</asSyms>
<asFals>1</asFals>
<asDbgD>1</asDbgD>
<asForm>1</asForm>
<ldLst>0</ldLst>
<ldmm>1</ldmm>
<ldXref>1</ldXref>
<BigEnd>0</BigEnd>
<AdsALst>1</AdsALst>
<AdsACrf>1</AdsACrf>
<AdsANop>0</AdsANop>
<AdsANot>0</AdsANot>
<AdsLLst>1</AdsLLst>
<AdsLmap>1</AdsLmap>
<AdsLcgr>1</AdsLcgr>
<AdsLsym>1</AdsLsym>
<AdsLszi>1</AdsLszi>
<AdsLtoi>1</AdsLtoi>
<AdsLsun>1</AdsLsun>
<AdsLven>1</AdsLven>
<AdsLsxf>1</AdsLsxf>
<RvctClst>0</RvctClst>
<GenPPlst>0</GenPPlst>
<AdsCpuType>"Cortex-M3"</AdsCpuType>
<RvctDeviceName></RvctDeviceName>
<mOS>1</mOS>
<uocRom>0</uocRom>
<uocRam>0</uocRam>
<hadIROM>1</hadIROM>
<hadIRAM>1</hadIRAM>
<hadXRAM>0</hadXRAM>
<uocXRam>0</uocXRam>
<RvdsVP>0</RvdsVP>
<hadIRAM2>0</hadIRAM2>
<hadIROM2>0</hadIROM2>
<StupSel>8</StupSel>
<useUlib>0</useUlib>
<EndSel>0</EndSel>
<uLtcg>0</uLtcg>
<RoSelD>3</RoSelD>
<RwSelD>3</RwSelD>
<CodeSel>0</CodeSel>
<OptFeed>0</OptFeed>
<NoZi1>0</NoZi1>
<NoZi2>0</NoZi2>
<NoZi3>0</NoZi3>
<NoZi4>0</NoZi4>
<NoZi5>0</NoZi5>
<Ro1Chk>0</Ro1Chk>
<Ro2Chk>0</Ro2Chk>
<Ro3Chk>0</Ro3Chk>
<Ir1Chk>1</Ir1Chk>
<Ir2Chk>0</Ir2Chk>
<Ra1Chk>0</Ra1Chk>
<Ra2Chk>0</Ra2Chk>
<Ra3Chk>0</Ra3Chk>
<Im1Chk>1</Im1Chk>
<Im2Chk>0</Im2Chk>
<OnChipMemories>
<Ocm1>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm1>
<Ocm2>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm2>
<Ocm3>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm3>
<Ocm4>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm4>
<Ocm5>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm5>
<Ocm6>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</Ocm6>
<IRAM>
<Type>0</Type>
<StartAddress>0x20000000</StartAddress>
<Size>0x20000</Size>
</IRAM>
<IROM>
<Type>1</Type>
<StartAddress>0x8000000</StartAddress>
<Size>0x100000</Size>
</IROM>
<XRAM>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</XRAM>
<OCR_RVCT1>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT1>
<OCR_RVCT2>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT2>
<OCR_RVCT3>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT3>
<OCR_RVCT4>
<Type>1</Type>
<StartAddress>0x8000000</StartAddress>
<Size>0x100000</Size>
</OCR_RVCT4>
<OCR_RVCT5>
<Type>1</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT5>
<OCR_RVCT6>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT6>
<OCR_RVCT7>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT7>
<OCR_RVCT8>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT8>
<OCR_RVCT9>
<Type>0</Type>
<StartAddress>0x20000000</StartAddress>
<Size>0x20000</Size>
</OCR_RVCT9>
<OCR_RVCT10>
<Type>0</Type>
<StartAddress>0x0</StartAddress>
<Size>0x0</Size>
</OCR_RVCT10>
</OnChipMemories>
<RvctStartVector></RvctStartVector>
</ArmAdsMisc>
<Cads>
<interw>1</interw>
<Optim>4</Optim>
<oTime>0</oTime>
<SplitLS>0</SplitLS>
<OneElfS>0</OneElfS>
<Strict>0</Strict>
<EnumInt>0</EnumInt>
<PlainCh>0</PlainCh>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<wLevel>0</wLevel>
<uThumb>0</uThumb>
<uSurpInc>0</uSurpInc>
<uC99>0</uC99>
<useXO>0</useXO>
<VariousControls>
<MiscControls>--diag_suppress=1293</MiscControls>
<Define>HAVE_CONFIG_H MDK_CONF_WOLFLIB WOLFSSL_USER_SETTINGS</Define>
<Undefine></Undefine>
<IncludePath></IncludePath>
</VariousControls>
</Cads>
<Aads>
<interw>1</interw>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<thumb>0</thumb>
<SplitLS>0</SplitLS>
<SwStkChk>0</SwStkChk>
<NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
<Undefine></Undefine>
<IncludePath></IncludePath>
</VariousControls>
</Aads>
<LDads>
<umfTarg>1</umfTarg>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<noStLib>0</noStLib>
<RepFail>1</RepFail>
<useFile>0</useFile>
<TextAddressRange>0x08000000</TextAddressRange>
<DataAddressRange>0x20000000</DataAddressRange>
<pXoBase></pXoBase>
<ScatterFile></ScatterFile>
<IncludeLibs></IncludeLibs>
<IncludeLibsPath></IncludeLibsPath>
<Misc></Misc>
<LinkerInputFile></LinkerInputFile>
<DisabledWarnings></DisabledWarnings>
</LDads>
</TargetArmAds>
</TargetOption>
<Groups>
<Group>
<GroupName>Configuration</GroupName>
<Files>
<File>
<FileName>config-Crypt.h</FileName>
<FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath>
</File>
<File>
<FileName>config-wolfSSL.h</FileName>
<FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\config-wolfSSL.h</FilePath>
</File>
<File>
<FileName>user_settings.h</FileName>
<FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\user_settings.h</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>Documentation</GroupName>
</Group>
<Group>
<GroupName>wolfSSL-lib</GroupName>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
</Group>
<Group>
<GroupName>::CMSIS Driver</GroupName>
</Group>
<Group>
<GroupName>::Device</GroupName>
</Group>
<Group>
<GroupName>::Network</GroupName>
</Group>
<Group>
<GroupName>::wolfSSL</GroupName>
</Group>
</Groups>
</Target>
</Targets>
<RTE>
<apis>
<api Capiversion="2.01" Cclass="CMSIS Driver" Cgroup="Ethernet MAC" exclusive="0">
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</api>
<api Capiversion="2.00" Cclass="CMSIS Driver" Cgroup="Ethernet PHY" exclusive="0">
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</api>
<api Capiversion="1.0" Cclass="CMSIS" Cgroup="RTOS" exclusive="0">
<package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</api>
<api Cclass="Device" Cgroup="STM32Cube Framework" exclusive="1">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</api>
</apis>
<components>
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="4.1.0" condition="CMSIS Core">
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.78.0" condition="Cortex-M Device Startup">
<package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="4.3.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="CORE" Cvariant="Release IPv4/IPv6" Cvendor="Keil" Cversion="7.0.0" condition="CMSIS Core with RTOS">
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="7.0.0" condition="Network Driver ETH" maxInstances="1">
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="7.0.0" condition="Network UDP">
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="7.0.0" condition="Network UDP/TCP">
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="7.0.0" condition="Network Interface">
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="7.0.0" condition="Network Interface">
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Capiversion="2.01" Cclass="CMSIS Driver" Cgroup="Ethernet MAC" Cvendor="Keil" Cversion="2.01" condition="STM32F2 CMSIS_Driver ETH_MAC">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Capiversion="2.00" Cclass="CMSIS Driver" Cgroup="Ethernet PHY" Csub="ST802RT1" Cvendor="Keil" Cversion="6.00" condition="CMSIS Core">
<package name="MDK-Middleware" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="7.0.0-beta"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL Common">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="ETH" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2x7 HAL RCC">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL GPIO">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="SRAM" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 HAL DMA">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL">
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfCrypt-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo includeInLib="1" name="wolfSSL-Lib" versionMatchMode=""/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfSSL-Core">
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo includeInLib="1" name="wolfSSL-Lib" versionMatchMode=""/>
</targetInfos>
</component>
</components>
<files>
<file attr="config" category="source" name="CMSIS_RTX\Templates\RTX_Conf_CM.c" version="4.70.0">
<instance index="0">RTE\CMSIS\RTX_Conf_CM.c</instance>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"/>
<package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</file>
<file attr="config" category="header" name="RTE_Driver\Config\RTE_Device.h">
<instance index="0" removed="1">RTE\Device\STM32F207IG\RTE_Device.h</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/>
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/>
<targetInfos/>
</file>
<file attr="config" category="source" condition="STM32F207xx_ARMCC" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\arm\startup_stm32f207xx.s" version="2.0.1">
<instance index="0">RTE\Device\STM32F207IG\startup_stm32f207xx.s</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Device\Source\ARM\startup_stm32f2xx.s">
<instance index="0" removed="1">RTE\Device\STM32F207IG\startup_stm32f2xx.s</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F2xx CMSIS Device"/>
<package name="STM32F2xx_DFP" schemaVersion="1.2" url="http://www.keil.com/pack" vendor="Keil" version="1.0.7"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="MDK\Templates\Inc\stm32f2xx_hal_conf.h">
<instance index="0">RTE\Device\STM32F207IG\stm32f2xx_hal_conf.h</instance>
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.0.1" condition="STM32F2 Framework Classic"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F2xx\Source\Templates\system_stm32f2xx.c" version="2.0.1">
<instance index="0">RTE\Device\STM32F207IG\system_stm32f2xx.c</instance>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.0.1" condition="STM32F2 CMSIS HAL"/>
<package name="STM32F2xx_DFP" schemaVersion="1.3" url="http://www.keil.com/pack" vendor="Keil" version="2.2.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</file>
<file attr="config" category="source" name="FileSystem\Config\FS_Config.c" version="5.0.0">
<instance index="0" removed="1">RTE\File_System\FS_Config.c</instance>
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="SFN" Cvendor="Keil" Cversion="5.0.5" condition="CMSIS Core with RTOS"/>
<package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.6"/>
<targetInfos/>
</file>
<file attr="config" category="source" name="FileSystem\Config\FS_Config_MC.h" version="5.0.0">
<instance index="0" removed="1">RTE\File_System\FS_Config_MC_0.h</instance>
<component Cbundle="MDK-Pro" Cclass="File System" Cgroup="Drive" Csub="Memory Card" Cvendor="Keil" Cversion="5.0.5" condition="File System and MCI Driver" maxInstances="2"/>
<package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.6"/>
<targetInfos/>
</file>
<file attr="config" category="source" name="Network_DS\Config\Net_Config.c" version="7.0">
<instance index="0">RTE\Network\Net_Config.c</instance>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="CORE" Cvariant="Release IPv4/IPv6" Cvendor="Keil" Cversion="7.0.0" condition="CMSIS Core with RTOS"/>
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Network_DS\Config\Net_Config_BSD.h" version="7.0">
<instance index="0">RTE\Network\Net_Config_BSD.h</instance>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="BSD" Cvendor="Keil" Cversion="7.0.0" condition="Network UDP/TCP"/>
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Network_DS\Config\Net_Config_DNS_Client.h" version="7.0">
<instance index="0">RTE\Network\Net_Config_DNS_Client.h</instance>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Service" Csub="DNS Client" Cvendor="Keil" Cversion="7.0.0" condition="Network UDP"/>
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Network_DS\Config\Net_Config_ETH.h" version="7.0">
<instance index="0">RTE\Network\Net_Config_ETH_0.h</instance>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Interface" Csub="ETH" Cvendor="Keil" Cversion="7.0.0" condition="Network Driver ETH" maxInstances="1"/>
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Network_DS\Config\Net_Config_TCP.h" version="7.0">
<instance index="0">RTE\Network\Net_Config_TCP.h</instance>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="TCP" Cvendor="Keil" Cversion="7.0.0" condition="Network Interface"/>
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Network_DS\Config\Net_Config_UDP.h" version="7.0">
<instance index="0">RTE\Network\Net_Config_UDP.h</instance>
<component Cbundle="MDK-Pro Dual Stack" Cclass="Network" Cgroup="Socket" Csub="UDP" Cvendor="Keil" Cversion="7.0.0" condition="Network Interface"/>
<package name="MDK-Network_DS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="Keil" version="0.10.0"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</file>
<file attr="config" category="source" name="Network\Config\Net_Debug.c">
<instance index="0" removed="1">RTE\Network\Net_Debug.c</instance>
<component Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" Cvariant="Debug" Cvendor="Keil" Cversion="5.0.2" condition="CMSIS Core with RTOS"/>
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-Crypt.h">
<instance index="0" removed="1">RTE\Other\config-Crypt.h</instance>
<component Cclass="Other" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="3.0.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-FS.h">
<instance index="0" removed="1">RTE\Other\config-FS.h</instance>
<component Cclass="Other" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="3.0.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-RTX-TCP-FS.h">
<instance index="0" removed="1">RTE\Other\config-RTX-TCP-FS.h</instance>
<component Cclass="Other" Cgroup="CyaSSL" Csub="RTX,TCP,FS" Cvendor="wolfSSL" Cversion="3.0.0" condition="CyaSSL-RTX,TCP,FS"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="3.0.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config.h">
<instance index="0" removed="1">RTE\Other\config.h</instance>
<component Cclass="Other" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/keil/pack/" vendor="wolfSSL" version="3.0.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\config-Crypt.h">
<instance index="0">RTE\wolfSSL\config-Crypt.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.6.6" condition="wolfCrypt-Core"/>
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.6"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</file>
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\config-wolfSSL.h">
<instance index="0">RTE\wolfSSL\config-wolfSSL.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfSSL" Csub="Core" Cvendor="wolfSSL" Cversion="3.6.3" condition="wolfSSL-Core"/>
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.3"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config.h">
<instance index="0" removed="1">RTE\wolfSSL\config.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.0.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="wolfssl\cyassl\ctaocrypt\settings.h">
<instance index="0" removed="1">RTE\wolfSSL\settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.0.0" condition="wolfCrypt-Core"/>
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="wolfssl\IDE\MDK5-ARM\Conf\user_settings.h">
<instance index="0">RTE\wolfSSL\user_settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="3.6.3" condition="wolfCrypt-Core"/>
<package license="wolfssl\IDE\MDK5-ARM\Docs\wolfSSL-License.txt" name="CyaSSL" schemaVersion="1.0" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="3.6.3"/>
<targetInfos>
<targetInfo name="wolfSSL-Lib"/>
</targetInfos>
</file>
</files>
</RTE>
</Project>

View File

@@ -1,28 +0,0 @@
/* certs_test.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
/* Define initial data for cert buffers */
#include <cyassl/certs_test.h>

View File

@@ -1,247 +0,0 @@
/* cyassl_KEIL_RL.c
*
* Copyright (C) 2006-2015 wolfSSL Inc.
*
* This file is part of wolfSSL. (formerly known as CyaSSL)
*
* wolfSSL 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.
*
* wolfSSL 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
*/
/***************************************************************************************/
/** This file is for defining functions for specific to KEIL-RL. **/
/***************************************************************************************/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <stdio.h>
#if defined (CYASSL_MDK5)
#include "cmsis_os.h"
#if defined(CYASSL_KEIL_TCP_NET)
#include "rl_net.h"
#endif
#else
#include <rtl.h>
#endif
#include "cyassl_MDK_ARM.h"
#include <cyassl/ctaocrypt/visibility.h>
#include <cyassl/ctaocrypt/logging.h>
#if defined (CYASSL_CMSIS_RTOS)
#define os_dly_wait(t) osDelay(10*t)
#endif
/** KEIL-RL TCPnet ****/
/** TCPnet BSD socket does not have following functions. **/
#if defined(CYASSL_KEIL_TCP_NET)
char *inet_ntoa(struct in_addr in)
{
#define NAMESIZE 16
static char name[NAMESIZE] ;
sprintf(name, "%d.%d.%d.%d", (in.s_addr>>24)&0xff, (in.s_addr>>16)&0xff, (in.s_addr>>8)&0xff, in.s_addr&0xff) ;
return name ;
}
unsigned long inet_addr(const char *cp)
{
unsigned int a[4] ; unsigned long ret ;
sscanf(cp, "%d.%d.%d.%d", &a[0], &a[1], &a[2], &a[3]) ;
ret = ((a[3]<<24) + (a[2]<<16) + (a[1]<<8) + a[0]) ;
return(ret) ;
}
/*** tcp_connect is actually associated with following syassl_tcp_connect. ***/
int Cyassl_connect(int sd, const struct sockaddr* sa, int sz)
{
int ret = 0 ;
#if defined(CYASSL_KEIL_TCP_NET)
SOCKADDR_IN addr ;
addr = *(SOCKADDR_IN *)sa ;
do {
#undef connect /* Go to KEIL TCPnet connect */
ret = connect(sd, (SOCKADDR *)&addr, sizeof(addr)) ;
os_dly_wait(50);
} while(ret == SCK_EWOULDBLOCK) ;
#ifdef DEBUG_CYASSL
{
char msg[50] ;
sprintf(msg, "BSD Connect return code: %d\n", ret) ;
CYASSL_MSG(msg) ;
}
#endif
#endif /* CYASSL_KEIL_TCP_NET */
return(ret ) ;
}
int Cyassl_accept(int sd, struct sockaddr *addr, int *addrlen)
{
int ret = 0 ;
#if defined(CYASSL_KEIL_TCP_NET)
while(1) {
#undef accept /* Go to KEIL TCPnet accept */
ret = accept(sd, addr, addrlen) ;
if(ret != SCK_EWOULDBLOCK) break ;
os_dly_wait(1);
}
#ifdef DEBUG_CYASSL
{
char msg[50] ;
sprintf(msg, "BSD Accept return code: %d\n", ret) ;
CYASSL_MSG(msg) ;
}
#endif
#endif /* CYASSL_KEIL_TCP_NET */
return(ret ) ;
}
int Cyassl_recv(int sd, void *buf, size_t len, int flags)
{
int ret = 0;
#if defined(CYASSL_KEIL_TCP_NET)
while(1) {
#undef recv /* Go to KEIL TCPnet recv */
ret = recv(sd, buf, len, flags) ;
if((ret != SCK_EWOULDBLOCK) &&( ret != SCK_ETIMEOUT)) break ;
os_dly_wait(1);
}
#ifdef DEBUG_CYASSL
{
char msg[50] ;
sprintf(msg, "BSD Recv return code: %d\n", ret) ;
CYASSL_MSG(msg) ;
}
#endif
#endif /* CYASSL_KEIL_TCP_NET */
return(ret ) ;
}
int Cyassl_send(int sd, const void *buf, size_t len, int flags)
{
int ret = 0 ;
#if defined(CYASSL_KEIL_TCP_NET)
while(1) {
#undef send /* Go to KEIL TCPnet send */
ret = send(sd, buf, len, flags) ;
if(ret != SCK_EWOULDBLOCK) break ;
os_dly_wait(1);
}
#ifdef DEBUG_CYASSL
{
char msg[50] ;
sprintf(msg, "BSD Send return code: %d\n", ret) ;
CYASSL_MSG(msg) ;
}
#endif
#endif /* CYASSL_KEIL_TCP_NET */
return(ret) ;
}
#endif /* CYASSL_KEIL_TCP_NET */
#if defined(CYASSL_KEIL_TCP_NET)
void Cyassl_sleep(int t)
{
#if defined(HAVE_KEIL_RTX)
os_dly_wait(t/1000+1) ;
#endif
}
int Cyassl_tcp_select(int sd, int timeout)
{
return 0 ;
}
#endif
extern int strlen(const char *s) ;
FILE * CyaSSL_fopen(const char *name, const char *openmode)
{
int i ; FILE * ret ;
#define PATHSIZE 100
char path[PATHSIZE] ; char *p ;
if(strlen(name) > PATHSIZE)return(NULL) ;
for(i = 0; i<= strlen(name); i++) {
if(name[i] == '/')path[i] = '\\' ;
else path[i] = name[i] ;
}
if(path[0] == '.' && path[1] == '\\') p = path + 2 ;
else p = path ;
ret = fopen (p, openmode) ;
return(ret) ;
}
#if defined (CYASSL_MDK5)
#define getkey getchar
#define sendchar putchar
#else
extern int getkey(void) ;
extern int sendchar(int c) ;
#endif
char * Cyassl_fgets ( char * str, int num, FILE * f )
{
int i ;
for(i = 0 ; i< num ; i++) {
while((str[i] = getkey()) == 0) {
#if defined (HAVE_KEIL_RTX) && !defined(CYASSL_CMSIS_RTOS)
os_tsk_pass ();
#else
osThreadYield ();
#endif
}
if(str[i] == '\n' || str[i] == '\012' || str[i] == '\015') {
sendchar('\n') ;
str[i++] = '\n' ;
str[i] = '\0' ;
break ;
} else if(str[i] == '\010') { /* BS */
if(i) { /* erace one char */
sendchar('\010') ; sendchar(' ') ; sendchar('\010') ;
i = (i>0 ? (i-2) : -1 ) ;
continue ;
}
} else if(str[i] == '\033' || str[i] == '\004' ) { /* ESC or ^D */
str[i] = '\0' ;
return(0) ;
}
sendchar(str[i]) ;
}
return(str) ;
}

View File

@@ -1,14 +1,35 @@
# wolfSSL and wolfCrypt iOS Xcode Projects # wolfSSL and wolfCrypt Xcode Projects for OS X and iOS
This directory contains two xcodeproj: This directory contains the following files:
1. `wolfssl.xcodeproj` -- builds wolfSSL and wolfCrypt 1. `wolfssl.xcworkspace` -- workspace with library and testsuite client
2. `wolfssl-FIPS.xcodeproj` -- builds wolfSSL and wolfCrypt-FIPS if available 2. `wolfssl_testsuite.xcodeproj` -- project to run the testsuite.
3. `wolfssl.xcodeproj` -- project to build OS/x and iOS libraries for wolfSSL and/or wolfCrypt
4. `wolfssl-FIPS.xcodeproj` -- project to build wolfSSL and wolfCrypt-FIPS if available
5. `user_settings.h` -- custom library settings, which are shared across projects
Both projects will build the library `libwolfssl.a` and produce a directory The library will output as `libwolfssl_osx.a` or 'libwolfssl_ios.a` depending on
named `include` with the wolfSSL and wolfCrypt headers, and the CyaSSL and the target. It will also copy the wolfSSL/wolfCrypt (and the CyaSSL/CtaoCrypt
CtaoCrypt compatibility headers. Specific build options may be added to the compatibility) headers into an `include` directory located in
`IPHONE` section of the file `wolfssl/wolfcrypt/settings.h`. `Build/Products/Debug` or `Build/Products/Release`.
For the library and testsuite to link properly the build location needs to be
configured as realitive to workspace.
1. File -> Workspace Settings (or Xcode -> Preferences -> Locations -> Locations)
2. Derived Data -> Advanced
3. Custom -> Relative to Workspace
4. Products -> Build/Products
These Xcode projects define the `WOLFSSL_USER_SETTINGS` preprocessor
to enable the `user_settings.h` file for setting macros across
multiple projects.
If needed the Xcode preprocessors can be modifed with these steps:
1. Click on the Project in "Project Navigator".
2. Click on the "Build Settings" tab.
3. Scroll down to the "Apple LLVM 6.0 - Preprocessing" section.
4. Open the disclosure for "Preprocessor Macros" and use the "+" and
"-" buttons to modify. Remember to do this for both Debug and Release.
## wolfSSL ## wolfSSL
@@ -35,7 +56,7 @@ You can make an archive for a device, as well. That is a release build.
# Installing libwolfssl.a # Installing libwolfssl.a
Simply drag the file libwolfssl.a and the directory `include` and drop it into Simply drag the file libwolfssl_XXX_.a and the directory `include` and drop it into
your project file list pane where it makes sense for you. Allow it to copy the your project file list pane where it makes sense for you. Allow it to copy the
files over to the project directory. This should automatically add the library files over to the project directory. This should automatically add the library
to the list of libraries to link against. to the list of libraries to link against.
@@ -52,10 +73,7 @@ Add the path to the include directory to the list "Header Search Paths".
## When using FIPS ## When using FIPS
When using the FIPS version, on the target window, in the "Build Settings" tab, When using the FIPS version the following preprocessors need to be defined:
scroll down to the "Apple LLVM 6.0 - Preprocessing" section. Open the disclosure
for "Preprocessor Macros" and add the following under both `Release` and
`Debug`:
* `IPHONE` * `IPHONE`
* `HAVE_FIPS` * `HAVE_FIPS`

View File

@@ -5,3 +5,6 @@
EXTRA_DIST+= IDE/iOS/README.md EXTRA_DIST+= IDE/iOS/README.md
EXTRA_DIST+= IDE/iOS/wolfssl-FIPS.xcodeproj/project.pbxproj EXTRA_DIST+= IDE/iOS/wolfssl-FIPS.xcodeproj/project.pbxproj
EXTRA_DIST+= IDE/iOS/wolfssl.xcodeproj/project.pbxproj EXTRA_DIST+= IDE/iOS/wolfssl.xcodeproj/project.pbxproj
EXTRA_DIST+= IDE/iOS/wolfssl.xcworkspace
EXTRA_DIST+= IDE/iOS/wolfssl_testsuite.xcodeproj
EXTRA_DIST+= IDE/iOS/user_settings.h

16
IDE/iOS/user_settings.h Normal file
View File

@@ -0,0 +1,16 @@
/* Configuration */
#define IPHONE /* Needed for Xcode */
#define HAVE_HASHDRBG
#define HAVE_AESGCM
#define WOLFSSL_SHA512
#define WOLFSSL_SHA384
#ifdef HAVE_FIPS
#define NO_MD4
#define NO_HC128
#define NO_RABBIT
#define NO_DSA
#define NO_PWDBASED
#else
#define USE_FAST_MATH
#endif

View File

@@ -169,6 +169,168 @@
522DBE131B792A190031F454 /* wc_encrypt.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 522DBE121B7929E70031F454 /* wc_encrypt.h */; }; 522DBE131B792A190031F454 /* wc_encrypt.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 522DBE121B7929E70031F454 /* wc_encrypt.h */; };
525BE5BA1B38853E0054BBCD /* hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 525BE5B91B38853E0054BBCD /* hash.c */; }; 525BE5BA1B38853E0054BBCD /* hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 525BE5B91B38853E0054BBCD /* hash.c */; };
525BE5BC1B3885750054BBCD /* hash.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 525BE5BB1B3885580054BBCD /* hash.h */; }; 525BE5BC1B3885750054BBCD /* hash.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 525BE5BB1B3885580054BBCD /* hash.h */; };
A4A54DF71BC5C3E0002866CD /* wolfcrypt_first.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216481B1A8AC2990062516A /* wolfcrypt_first.c */; };
A4A54DF81BC5C3E0002866CD /* hmac.c in Sources */ = {isa = PBXBuildFile; fileRef = 521648141A8AC2990062516A /* hmac.c */; };
A4A54DF91BC5C3E0002866CD /* random.c in Sources */ = {isa = PBXBuildFile; fileRef = 521648161A8AC2990062516A /* random.c */; };
A4A54DFA1BC5C3E0002866CD /* sha256.c in Sources */ = {isa = PBXBuildFile; fileRef = 521648191A8AC2990062516A /* sha256.c */; };
A4A54DFB1BC5C3E0002866CD /* rsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 521648171A8AC2990062516A /* rsa.c */; };
A4A54DFC1BC5C3E0002866CD /* aes.c in Sources */ = {isa = PBXBuildFile; fileRef = 521648101A8AC2990062516A /* aes.c */; };
A4A54DFD1BC5C3E0002866CD /* des3.c in Sources */ = {isa = PBXBuildFile; fileRef = 521648111A8AC2990062516A /* des3.c */; };
A4A54DFE1BC5C3E0002866CD /* hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 525BE5B91B38853E0054BBCD /* hash.c */; };
A4A54DFF1BC5C3E0002866CD /* sha.c in Sources */ = {isa = PBXBuildFile; fileRef = 521648181A8AC2990062516A /* sha.c */; };
A4A54E001BC5C3E0002866CD /* sha512.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216481A1A8AC2990062516A /* sha512.c */; };
A4A54E011BC5C3E0002866CD /* fips.c in Sources */ = {isa = PBXBuildFile; fileRef = 521648131A8AC2990062516A /* fips.c */; };
A4A54E021BC5C3E0002866CD /* fips_test.c in Sources */ = {isa = PBXBuildFile; fileRef = 521648121A8AC2990062516A /* fips_test.c */; };
A4A54E031BC5C3E0002866CD /* wolfcrypt_last.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216481C1A8AC2990062516A /* wolfcrypt_last.c */; };
A4A54E041BC5C3E0002866CD /* dsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216461A1A8992CC0062516A /* dsa.c */; };
A4A54E051BC5C3E0002866CD /* logging.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646201A8992CC0062516A /* logging.c */; };
A4A54E061BC5C3E0002866CD /* sha.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216462D1A8992CC0062516A /* sha.c */; };
A4A54E071BC5C3E0002866CD /* poly1305.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646271A8992CC0062516A /* poly1305.c */; };
A4A54E081BC5C3E0002866CD /* dh.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646191A8992CC0062516A /* dh.c */; };
A4A54E091BC5C3E0002866CD /* camellia.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646151A8992CC0062516A /* camellia.c */; };
A4A54E0A1BC5C3E0002866CD /* wc_port.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646311A8992CC0062516A /* wc_port.c */; };
A4A54E0B1BC5C3E0002866CD /* pwdbased.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646281A8992CC0062516A /* pwdbased.c */; };
A4A54E0C1BC5C3E0002866CD /* misc.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646251A8992CC0062516A /* misc.c */; };
A4A54E0D1BC5C3E0002866CD /* hc128.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216461D1A8992CC0062516A /* hc128.c */; };
A4A54E0E1BC5C3E0002866CD /* asn.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646131A8992CC0062516A /* asn.c */; };
A4A54E0F1BC5C3E0002866CD /* sha512.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216462F1A8992CC0062516A /* sha512.c */; };
A4A54E101BC5C3E0002866CD /* rabbit.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646291A8992CC0062516A /* rabbit.c */; };
A4A54E111BC5C3E0002866CD /* md5.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646231A8992CC0062516A /* md5.c */; };
A4A54E121BC5C3E0002866CD /* ssl.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646071A89928E0062516A /* ssl.c */; };
A4A54E131BC5C3E0002866CD /* rsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216462C1A8992CC0062516A /* rsa.c */; };
A4A54E141BC5C3E0002866CD /* random.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216462A1A8992CC0062516A /* random.c */; };
A4A54E151BC5C3E0002866CD /* tls.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646081A89928E0062516A /* tls.c */; };
A4A54E161BC5C3E0002866CD /* ocsp.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646051A89928E0062516A /* ocsp.c */; };
A4A54E171BC5C3E0002866CD /* md4.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646221A8992CC0062516A /* md4.c */; };
A4A54E181BC5C3E0002866CD /* aes.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646111A8992CC0062516A /* aes.c */; };
A4A54E191BC5C3E0002866CD /* des3.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646181A8992CC0062516A /* des3.c */; };
A4A54E1A1BC5C3E0002866CD /* blake2b.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646141A8992CC0062516A /* blake2b.c */; };
A4A54E1B1BC5C3E0002866CD /* ripemd.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216462B1A8992CC0062516A /* ripemd.c */; };
A4A54E1C1BC5C3E0002866CD /* memory.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646241A8992CC0062516A /* memory.c */; };
A4A54E1D1BC5C3E0002866CD /* wc_encrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = 522DBE101B7929C80031F454 /* wc_encrypt.c */; };
A4A54E1E1BC5C3E0002866CD /* ecc.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216461B1A8992CC0062516A /* ecc.c */; };
A4A54E1F1BC5C3E0002866CD /* sha256.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216462E1A8992CC0062516A /* sha256.c */; };
A4A54E201BC5C3E0002866CD /* chacha.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646161A8992CC0062516A /* chacha.c */; };
A4A54E211BC5C3E0002866CD /* pkcs7.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646261A8992CC0062516A /* pkcs7.c */; };
A4A54E221BC5C3E0002866CD /* sniffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646061A89928E0062516A /* sniffer.c */; };
A4A54E231BC5C3E0002866CD /* md2.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646211A8992CC0062516A /* md2.c */; };
A4A54E241BC5C3E0002866CD /* coding.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646171A8992CC0062516A /* coding.c */; };
A4A54E251BC5C3E0002866CD /* error.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216461C1A8992CC0062516A /* error.c */; };
A4A54E261BC5C3E0002866CD /* hmac.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216461E1A8992CC0062516A /* hmac.c */; };
A4A54E271BC5C3E0002866CD /* arc4.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646121A8992CC0062516A /* arc4.c */; };
A4A54E281BC5C3E0002866CD /* integer.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216461F1A8992CC0062516A /* integer.c */; };
A4A54E291BC5C3E0002866CD /* internal.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646021A89928E0062516A /* internal.c */; };
A4A54E2A1BC5C3E0002866CD /* io.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646031A89928E0062516A /* io.c */; };
A4A54E2B1BC5C3E0002866CD /* tfm.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646301A8992CC0062516A /* tfm.c */; };
A4A54E2C1BC5C3E0002866CD /* crl.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646011A89928E0062516A /* crl.c */; };
A4A54E2D1BC5C3E0002866CD /* keys.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646041A89928E0062516A /* keys.c */; };
A4A54E301BC5C3E0002866CD /* callbacks.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646531A8993290062516A /* callbacks.h */; };
A4A54E311BC5C3E0002866CD /* certs_test.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646541A8993290062516A /* certs_test.h */; };
A4A54E321BC5C3E0002866CD /* crl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646551A8993290062516A /* crl.h */; };
A4A54E331BC5C3E0002866CD /* error-ssl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646561A8993290062516A /* error-ssl.h */; };
A4A54E341BC5C3E0002866CD /* internal.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646571A8993290062516A /* internal.h */; };
A4A54E351BC5C3E0002866CD /* ocsp.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646581A8993290062516A /* ocsp.h */; };
A4A54E361BC5C3E0002866CD /* ssl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216465B1A8993290062516A /* ssl.h */; };
A4A54E371BC5C3E0002866CD /* test.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216465C1A8993290062516A /* test.h */; };
A4A54E381BC5C3E0002866CD /* version.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216465D1A8993290062516A /* version.h */; };
A4A54E3A1BC5C3E0002866CD /* wc_encrypt.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 522DBE121B7929E70031F454 /* wc_encrypt.h */; };
A4A54E3B1BC5C3E0002866CD /* hash.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 525BE5BB1B3885580054BBCD /* hash.h */; };
A4A54E3C1BC5C3E0002866CD /* aes.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216465E1A8993770062516A /* aes.h */; };
A4A54E3D1BC5C3E0002866CD /* arc4.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216465F1A8993770062516A /* arc4.h */; };
A4A54E3E1BC5C3E0002866CD /* asn_public.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646601A8993770062516A /* asn_public.h */; };
A4A54E3F1BC5C3E0002866CD /* asn.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646611A8993770062516A /* asn.h */; };
A4A54E401BC5C3E0002866CD /* blake2-impl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646621A8993770062516A /* blake2-impl.h */; };
A4A54E411BC5C3E0002866CD /* blake2-int.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646631A8993770062516A /* blake2-int.h */; };
A4A54E421BC5C3E0002866CD /* blake2.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646641A8993770062516A /* blake2.h */; };
A4A54E431BC5C3E0002866CD /* camellia.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646651A8993770062516A /* camellia.h */; };
A4A54E441BC5C3E0002866CD /* chacha.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646661A8993770062516A /* chacha.h */; };
A4A54E451BC5C3E0002866CD /* coding.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646671A8993770062516A /* coding.h */; };
A4A54E461BC5C3E0002866CD /* compress.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646681A8993770062516A /* compress.h */; };
A4A54E471BC5C3E0002866CD /* des3.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646691A8993770062516A /* des3.h */; };
A4A54E481BC5C3E0002866CD /* dh.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216466A1A8993770062516A /* dh.h */; };
A4A54E491BC5C3E0002866CD /* dsa.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216466B1A8993770062516A /* dsa.h */; };
A4A54E4A1BC5C3E0002866CD /* ecc.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216466C1A8993770062516A /* ecc.h */; };
A4A54E4B1BC5C3E0002866CD /* error-crypt.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216466D1A8993770062516A /* error-crypt.h */; };
A4A54E4C1BC5C3E0002866CD /* fips_test.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216466E1A8993770062516A /* fips_test.h */; };
A4A54E4D1BC5C3E0002866CD /* hc128.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216466F1A8993770062516A /* hc128.h */; };
A4A54E4E1BC5C3E0002866CD /* hmac.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646701A8993770062516A /* hmac.h */; };
A4A54E4F1BC5C3E0002866CD /* integer.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646721A8993770062516A /* integer.h */; };
A4A54E501BC5C3E0002866CD /* logging.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646731A8993770062516A /* logging.h */; };
A4A54E511BC5C3E0002866CD /* md2.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646741A8993770062516A /* md2.h */; };
A4A54E521BC5C3E0002866CD /* md4.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646751A8993770062516A /* md4.h */; };
A4A54E531BC5C3E0002866CD /* md5.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646761A8993770062516A /* md5.h */; };
A4A54E541BC5C3E0002866CD /* memory.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646771A8993770062516A /* memory.h */; };
A4A54E551BC5C3E0002866CD /* misc.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646781A8993770062516A /* misc.h */; };
A4A54E561BC5C3E0002866CD /* mpi_class.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646791A8993770062516A /* mpi_class.h */; };
A4A54E571BC5C3E0002866CD /* mpi_superclass.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216467A1A8993770062516A /* mpi_superclass.h */; };
A4A54E581BC5C3E0002866CD /* pkcs7.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216467B1A8993770062516A /* pkcs7.h */; };
A4A54E591BC5C3E0002866CD /* poly1305.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216467C1A8993770062516A /* poly1305.h */; };
A4A54E5A1BC5C3E0002866CD /* pwdbased.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216467D1A8993770062516A /* pwdbased.h */; };
A4A54E5B1BC5C3E0002866CD /* rabbit.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216467E1A8993770062516A /* rabbit.h */; };
A4A54E5C1BC5C3E0002866CD /* random.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216467F1A8993770062516A /* random.h */; };
A4A54E5D1BC5C3E0002866CD /* ripemd.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646801A8993770062516A /* ripemd.h */; };
A4A54E5E1BC5C3E0002866CD /* rsa.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646811A8993770062516A /* rsa.h */; };
A4A54E5F1BC5C3E0002866CD /* settings.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646821A8993770062516A /* settings.h */; };
A4A54E601BC5C3E0002866CD /* sha.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646831A8993770062516A /* sha.h */; };
A4A54E611BC5C3E0002866CD /* sha256.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646841A8993770062516A /* sha256.h */; };
A4A54E621BC5C3E0002866CD /* sha512.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646851A8993770062516A /* sha512.h */; };
A4A54E631BC5C3E0002866CD /* tfm.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646861A8993770062516A /* tfm.h */; };
A4A54E641BC5C3E0002866CD /* types.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646871A8993770062516A /* types.h */; };
A4A54E651BC5C3E0002866CD /* visibility.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646881A8993770062516A /* visibility.h */; };
A4A54E661BC5C3E0002866CD /* wc_port.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646891A8993770062516A /* wc_port.h */; };
A4A54E681BC5C3E0002866CD /* callbacks.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216468A1A8993BB0062516A /* callbacks.h */; };
A4A54E691BC5C3E0002866CD /* certs_test.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216468B1A8993BB0062516A /* certs_test.h */; };
A4A54E6A1BC5C3E0002866CD /* crl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216468C1A8993BB0062516A /* crl.h */; };
A4A54E6B1BC5C3E0002866CD /* error-ssl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216468D1A8993BB0062516A /* error-ssl.h */; };
A4A54E6C1BC5C3E0002866CD /* internal.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216468E1A8993BB0062516A /* internal.h */; };
A4A54E6D1BC5C3E0002866CD /* ocsp.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216468F1A8993BB0062516A /* ocsp.h */; };
A4A54E6E1BC5C3E0002866CD /* ssl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646921A8993BB0062516A /* ssl.h */; };
A4A54E6F1BC5C3E0002866CD /* test.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646931A8993BB0062516A /* test.h */; };
A4A54E701BC5C3E0002866CD /* version.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646941A8993BB0062516A /* version.h */; };
A4A54E721BC5C3E0002866CD /* aes.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646951A8993F50062516A /* aes.h */; };
A4A54E731BC5C3E0002866CD /* arc4.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646961A8993F50062516A /* arc4.h */; };
A4A54E741BC5C3E0002866CD /* asn_public.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646971A8993F50062516A /* asn_public.h */; };
A4A54E751BC5C3E0002866CD /* asn.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646981A8993F50062516A /* asn.h */; };
A4A54E761BC5C3E0002866CD /* blake2-impl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646991A8993F50062516A /* blake2-impl.h */; };
A4A54E771BC5C3E0002866CD /* blake2-int.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216469A1A8993F50062516A /* blake2-int.h */; };
A4A54E781BC5C3E0002866CD /* blake2.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216469B1A8993F50062516A /* blake2.h */; };
A4A54E791BC5C3E0002866CD /* camellia.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216469C1A8993F50062516A /* camellia.h */; };
A4A54E7A1BC5C3E0002866CD /* chacha.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216469D1A8993F50062516A /* chacha.h */; };
A4A54E7B1BC5C3E0002866CD /* coding.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216469E1A8993F50062516A /* coding.h */; };
A4A54E7C1BC5C3E0002866CD /* compress.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216469F1A8993F50062516A /* compress.h */; };
A4A54E7D1BC5C3E0002866CD /* des3.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A01A8993F50062516A /* des3.h */; };
A4A54E7E1BC5C3E0002866CD /* dh.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A11A8993F50062516A /* dh.h */; };
A4A54E7F1BC5C3E0002866CD /* dsa.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A21A8993F50062516A /* dsa.h */; };
A4A54E801BC5C3E0002866CD /* ecc.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A31A8993F50062516A /* ecc.h */; };
A4A54E811BC5C3E0002866CD /* error-crypt.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A41A8993F50062516A /* error-crypt.h */; };
A4A54E821BC5C3E0002866CD /* fips_test.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A51A8993F50062516A /* fips_test.h */; };
A4A54E831BC5C3E0002866CD /* hc128.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A61A8993F50062516A /* hc128.h */; };
A4A54E841BC5C3E0002866CD /* hmac.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A71A8993F50062516A /* hmac.h */; };
A4A54E851BC5C3E0002866CD /* integer.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A81A8993F50062516A /* integer.h */; };
A4A54E861BC5C3E0002866CD /* logging.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A91A8993F50062516A /* logging.h */; };
A4A54E871BC5C3E0002866CD /* md2.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646AA1A8993F50062516A /* md2.h */; };
A4A54E881BC5C3E0002866CD /* md4.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646AB1A8993F50062516A /* md4.h */; };
A4A54E891BC5C3E0002866CD /* md5.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646AC1A8993F50062516A /* md5.h */; };
A4A54E8A1BC5C3E0002866CD /* memory.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646AD1A8993F50062516A /* memory.h */; };
A4A54E8B1BC5C3E0002866CD /* misc.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646AE1A8993F50062516A /* misc.h */; };
A4A54E8C1BC5C3E0002866CD /* mpi_class.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646AF1A8993F50062516A /* mpi_class.h */; };
A4A54E8D1BC5C3E0002866CD /* mpi_superclass.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B01A8993F50062516A /* mpi_superclass.h */; };
A4A54E8E1BC5C3E0002866CD /* pkcs7.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B11A8993F50062516A /* pkcs7.h */; };
A4A54E8F1BC5C3E0002866CD /* poly1305.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B21A8993F50062516A /* poly1305.h */; };
A4A54E901BC5C3E0002866CD /* pwdbased.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B31A8993F50062516A /* pwdbased.h */; };
A4A54E911BC5C3E0002866CD /* rabbit.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B41A8993F50062516A /* rabbit.h */; };
A4A54E921BC5C3E0002866CD /* random.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B51A8993F50062516A /* random.h */; };
A4A54E931BC5C3E0002866CD /* ripemd.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B61A8993F50062516A /* ripemd.h */; };
A4A54E941BC5C3E0002866CD /* rsa.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B71A8993F50062516A /* rsa.h */; };
A4A54E951BC5C3E0002866CD /* settings_comp.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B81A8993F50062516A /* settings_comp.h */; };
A4A54E961BC5C3E0002866CD /* settings.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B91A8993F50062516A /* settings.h */; };
A4A54E971BC5C3E0002866CD /* sha.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646BA1A8993F50062516A /* sha.h */; };
A4A54E981BC5C3E0002866CD /* sha256.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646BB1A8993F50062516A /* sha256.h */; };
A4A54E991BC5C3E0002866CD /* sha512.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646BC1A8993F50062516A /* sha512.h */; };
A4A54E9A1BC5C3E0002866CD /* tfm.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646BD1A8993F50062516A /* tfm.h */; };
A4A54E9B1BC5C3E0002866CD /* types.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646BE1A8993F50062516A /* types.h */; };
A4A54E9C1BC5C3E0002866CD /* visibility.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646BF1A8993F50062516A /* visibility.h */; };
A4A54E9D1BC5C3E0002866CD /* wc_port.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646C01A8993F50062516A /* wc_port.h */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */ /* Begin PBXCopyFilesBuildPhase section */
@@ -315,6 +477,149 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
A4A54E2F1BC5C3E0002866CD /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = include/wolfssl;
dstSubfolderSpec = 7;
files = (
A4A54E301BC5C3E0002866CD /* callbacks.h in CopyFiles */,
A4A54E311BC5C3E0002866CD /* certs_test.h in CopyFiles */,
A4A54E321BC5C3E0002866CD /* crl.h in CopyFiles */,
A4A54E331BC5C3E0002866CD /* error-ssl.h in CopyFiles */,
A4A54E341BC5C3E0002866CD /* internal.h in CopyFiles */,
A4A54E351BC5C3E0002866CD /* ocsp.h in CopyFiles */,
A4A54E361BC5C3E0002866CD /* ssl.h in CopyFiles */,
A4A54E371BC5C3E0002866CD /* test.h in CopyFiles */,
A4A54E381BC5C3E0002866CD /* version.h in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
A4A54E391BC5C3E0002866CD /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = include/wolfssl/wolfcrypt;
dstSubfolderSpec = 7;
files = (
A4A54E3A1BC5C3E0002866CD /* wc_encrypt.h in CopyFiles */,
A4A54E3B1BC5C3E0002866CD /* hash.h in CopyFiles */,
A4A54E3C1BC5C3E0002866CD /* aes.h in CopyFiles */,
A4A54E3D1BC5C3E0002866CD /* arc4.h in CopyFiles */,
A4A54E3E1BC5C3E0002866CD /* asn_public.h in CopyFiles */,
A4A54E3F1BC5C3E0002866CD /* asn.h in CopyFiles */,
A4A54E401BC5C3E0002866CD /* blake2-impl.h in CopyFiles */,
A4A54E411BC5C3E0002866CD /* blake2-int.h in CopyFiles */,
A4A54E421BC5C3E0002866CD /* blake2.h in CopyFiles */,
A4A54E431BC5C3E0002866CD /* camellia.h in CopyFiles */,
A4A54E441BC5C3E0002866CD /* chacha.h in CopyFiles */,
A4A54E451BC5C3E0002866CD /* coding.h in CopyFiles */,
A4A54E461BC5C3E0002866CD /* compress.h in CopyFiles */,
A4A54E471BC5C3E0002866CD /* des3.h in CopyFiles */,
A4A54E481BC5C3E0002866CD /* dh.h in CopyFiles */,
A4A54E491BC5C3E0002866CD /* dsa.h in CopyFiles */,
A4A54E4A1BC5C3E0002866CD /* ecc.h in CopyFiles */,
A4A54E4B1BC5C3E0002866CD /* error-crypt.h in CopyFiles */,
A4A54E4C1BC5C3E0002866CD /* fips_test.h in CopyFiles */,
A4A54E4D1BC5C3E0002866CD /* hc128.h in CopyFiles */,
A4A54E4E1BC5C3E0002866CD /* hmac.h in CopyFiles */,
A4A54E4F1BC5C3E0002866CD /* integer.h in CopyFiles */,
A4A54E501BC5C3E0002866CD /* logging.h in CopyFiles */,
A4A54E511BC5C3E0002866CD /* md2.h in CopyFiles */,
A4A54E521BC5C3E0002866CD /* md4.h in CopyFiles */,
A4A54E531BC5C3E0002866CD /* md5.h in CopyFiles */,
A4A54E541BC5C3E0002866CD /* memory.h in CopyFiles */,
A4A54E551BC5C3E0002866CD /* misc.h in CopyFiles */,
A4A54E561BC5C3E0002866CD /* mpi_class.h in CopyFiles */,
A4A54E571BC5C3E0002866CD /* mpi_superclass.h in CopyFiles */,
A4A54E581BC5C3E0002866CD /* pkcs7.h in CopyFiles */,
A4A54E591BC5C3E0002866CD /* poly1305.h in CopyFiles */,
A4A54E5A1BC5C3E0002866CD /* pwdbased.h in CopyFiles */,
A4A54E5B1BC5C3E0002866CD /* rabbit.h in CopyFiles */,
A4A54E5C1BC5C3E0002866CD /* random.h in CopyFiles */,
A4A54E5D1BC5C3E0002866CD /* ripemd.h in CopyFiles */,
A4A54E5E1BC5C3E0002866CD /* rsa.h in CopyFiles */,
A4A54E5F1BC5C3E0002866CD /* settings.h in CopyFiles */,
A4A54E601BC5C3E0002866CD /* sha.h in CopyFiles */,
A4A54E611BC5C3E0002866CD /* sha256.h in CopyFiles */,
A4A54E621BC5C3E0002866CD /* sha512.h in CopyFiles */,
A4A54E631BC5C3E0002866CD /* tfm.h in CopyFiles */,
A4A54E641BC5C3E0002866CD /* types.h in CopyFiles */,
A4A54E651BC5C3E0002866CD /* visibility.h in CopyFiles */,
A4A54E661BC5C3E0002866CD /* wc_port.h in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
A4A54E671BC5C3E0002866CD /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = include/cyassl;
dstSubfolderSpec = 7;
files = (
A4A54E681BC5C3E0002866CD /* callbacks.h in CopyFiles */,
A4A54E691BC5C3E0002866CD /* certs_test.h in CopyFiles */,
A4A54E6A1BC5C3E0002866CD /* crl.h in CopyFiles */,
A4A54E6B1BC5C3E0002866CD /* error-ssl.h in CopyFiles */,
A4A54E6C1BC5C3E0002866CD /* internal.h in CopyFiles */,
A4A54E6D1BC5C3E0002866CD /* ocsp.h in CopyFiles */,
A4A54E6E1BC5C3E0002866CD /* ssl.h in CopyFiles */,
A4A54E6F1BC5C3E0002866CD /* test.h in CopyFiles */,
A4A54E701BC5C3E0002866CD /* version.h in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
A4A54E711BC5C3E0002866CD /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = include/cyassl/ctaocrypt;
dstSubfolderSpec = 7;
files = (
A4A54E721BC5C3E0002866CD /* aes.h in CopyFiles */,
A4A54E731BC5C3E0002866CD /* arc4.h in CopyFiles */,
A4A54E741BC5C3E0002866CD /* asn_public.h in CopyFiles */,
A4A54E751BC5C3E0002866CD /* asn.h in CopyFiles */,
A4A54E761BC5C3E0002866CD /* blake2-impl.h in CopyFiles */,
A4A54E771BC5C3E0002866CD /* blake2-int.h in CopyFiles */,
A4A54E781BC5C3E0002866CD /* blake2.h in CopyFiles */,
A4A54E791BC5C3E0002866CD /* camellia.h in CopyFiles */,
A4A54E7A1BC5C3E0002866CD /* chacha.h in CopyFiles */,
A4A54E7B1BC5C3E0002866CD /* coding.h in CopyFiles */,
A4A54E7C1BC5C3E0002866CD /* compress.h in CopyFiles */,
A4A54E7D1BC5C3E0002866CD /* des3.h in CopyFiles */,
A4A54E7E1BC5C3E0002866CD /* dh.h in CopyFiles */,
A4A54E7F1BC5C3E0002866CD /* dsa.h in CopyFiles */,
A4A54E801BC5C3E0002866CD /* ecc.h in CopyFiles */,
A4A54E811BC5C3E0002866CD /* error-crypt.h in CopyFiles */,
A4A54E821BC5C3E0002866CD /* fips_test.h in CopyFiles */,
A4A54E831BC5C3E0002866CD /* hc128.h in CopyFiles */,
A4A54E841BC5C3E0002866CD /* hmac.h in CopyFiles */,
A4A54E851BC5C3E0002866CD /* integer.h in CopyFiles */,
A4A54E861BC5C3E0002866CD /* logging.h in CopyFiles */,
A4A54E871BC5C3E0002866CD /* md2.h in CopyFiles */,
A4A54E881BC5C3E0002866CD /* md4.h in CopyFiles */,
A4A54E891BC5C3E0002866CD /* md5.h in CopyFiles */,
A4A54E8A1BC5C3E0002866CD /* memory.h in CopyFiles */,
A4A54E8B1BC5C3E0002866CD /* misc.h in CopyFiles */,
A4A54E8C1BC5C3E0002866CD /* mpi_class.h in CopyFiles */,
A4A54E8D1BC5C3E0002866CD /* mpi_superclass.h in CopyFiles */,
A4A54E8E1BC5C3E0002866CD /* pkcs7.h in CopyFiles */,
A4A54E8F1BC5C3E0002866CD /* poly1305.h in CopyFiles */,
A4A54E901BC5C3E0002866CD /* pwdbased.h in CopyFiles */,
A4A54E911BC5C3E0002866CD /* rabbit.h in CopyFiles */,
A4A54E921BC5C3E0002866CD /* random.h in CopyFiles */,
A4A54E931BC5C3E0002866CD /* ripemd.h in CopyFiles */,
A4A54E941BC5C3E0002866CD /* rsa.h in CopyFiles */,
A4A54E951BC5C3E0002866CD /* settings_comp.h in CopyFiles */,
A4A54E961BC5C3E0002866CD /* settings.h in CopyFiles */,
A4A54E971BC5C3E0002866CD /* sha.h in CopyFiles */,
A4A54E981BC5C3E0002866CD /* sha256.h in CopyFiles */,
A4A54E991BC5C3E0002866CD /* sha512.h in CopyFiles */,
A4A54E9A1BC5C3E0002866CD /* tfm.h in CopyFiles */,
A4A54E9B1BC5C3E0002866CD /* types.h in CopyFiles */,
A4A54E9C1BC5C3E0002866CD /* visibility.h in CopyFiles */,
A4A54E9D1BC5C3E0002866CD /* wc_port.h in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */ /* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
@@ -480,7 +785,9 @@
522DBE121B7929E70031F454 /* wc_encrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = wc_encrypt.h; path = ../../wolfssl/wolfcrypt/wc_encrypt.h; sourceTree = "<group>"; }; 522DBE121B7929E70031F454 /* wc_encrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = wc_encrypt.h; path = ../../wolfssl/wolfcrypt/wc_encrypt.h; sourceTree = "<group>"; };
525BE5B91B38853E0054BBCD /* hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = hash.c; path = ../../wolfcrypt/src/hash.c; sourceTree = "<group>"; }; 525BE5B91B38853E0054BBCD /* hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = hash.c; path = ../../wolfcrypt/src/hash.c; sourceTree = "<group>"; };
525BE5BB1B3885580054BBCD /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hash.h; path = ../../wolfssl/wolfcrypt/hash.h; sourceTree = "<group>"; }; 525BE5BB1B3885580054BBCD /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hash.h; path = ../../wolfssl/wolfcrypt/hash.h; sourceTree = "<group>"; };
52B1344D16F3C9E800C07B32 /* libwolfssl.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwolfssl.a; sourceTree = BUILT_PRODUCTS_DIR; }; 52B1344D16F3C9E800C07B32 /* libwolfssl_fips_ios.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwolfssl_fips_ios.a; sourceTree = BUILT_PRODUCTS_DIR; };
A4A54DF41BC5C380002866CD /* user_settings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = user_settings.h; sourceTree = "<group>"; };
A4A54EA11BC5C3E0002866CD /* libwolfssl_fips_osx.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwolfssl_fips_osx.a; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@@ -491,6 +798,13 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
A4A54E2E1BC5C3E0002866CD /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
@@ -643,6 +957,7 @@
521645FB1A8991990062516A /* Source */ = { 521645FB1A8991990062516A /* Source */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A4A54DF41BC5C380002866CD /* user_settings.h */,
521646001A89924A0062516A /* wolfSSL */, 521646001A89924A0062516A /* wolfSSL */,
521645FF1A8992470062516A /* wolfCrypt */, 521645FF1A8992470062516A /* wolfCrypt */,
5216480F1A8ABDA50062516A /* CtaoCrypt */, 5216480F1A8ABDA50062516A /* CtaoCrypt */,
@@ -738,7 +1053,8 @@
52B1344E16F3C9E800C07B32 /* Products */ = { 52B1344E16F3C9E800C07B32 /* Products */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
52B1344D16F3C9E800C07B32 /* libwolfssl.a */, 52B1344D16F3C9E800C07B32 /* libwolfssl_fips_ios.a */,
A4A54EA11BC5C3E0002866CD /* libwolfssl_fips_osx.a */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -746,9 +1062,9 @@
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
52B1344C16F3C9E800C07B32 /* wolfssl */ = { 52B1344C16F3C9E800C07B32 /* wolfssl_fips_ios */ = {
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 52B1347216F3C9E800C07B32 /* Build configuration list for PBXNativeTarget "wolfssl" */; buildConfigurationList = 52B1347216F3C9E800C07B32 /* Build configuration list for PBXNativeTarget "wolfssl_fips_ios" */;
buildPhases = ( buildPhases = (
52B1344916F3C9E800C07B32 /* Sources */, 52B1344916F3C9E800C07B32 /* Sources */,
52B1344A16F3C9E800C07B32 /* Frameworks */, 52B1344A16F3C9E800C07B32 /* Frameworks */,
@@ -761,9 +1077,29 @@
); );
dependencies = ( dependencies = (
); );
name = wolfssl; name = wolfssl_fips_ios;
productName = "wolfssl-ios"; productName = "wolfssl-ios";
productReference = 52B1344D16F3C9E800C07B32 /* libwolfssl.a */; productReference = 52B1344D16F3C9E800C07B32 /* libwolfssl_fips_ios.a */;
productType = "com.apple.product-type.library.static";
};
A4A54DF51BC5C3E0002866CD /* wolfssl_fips_osx */ = {
isa = PBXNativeTarget;
buildConfigurationList = A4A54E9E1BC5C3E0002866CD /* Build configuration list for PBXNativeTarget "wolfssl_fips_osx" */;
buildPhases = (
A4A54DF61BC5C3E0002866CD /* Sources */,
A4A54E2E1BC5C3E0002866CD /* Frameworks */,
A4A54E2F1BC5C3E0002866CD /* CopyFiles */,
A4A54E391BC5C3E0002866CD /* CopyFiles */,
A4A54E671BC5C3E0002866CD /* CopyFiles */,
A4A54E711BC5C3E0002866CD /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = wolfssl_fips_osx;
productName = "wolfssl-ios";
productReference = A4A54EA11BC5C3E0002866CD /* libwolfssl_fips_osx.a */;
productType = "com.apple.product-type.library.static"; productType = "com.apple.product-type.library.static";
}; };
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
@@ -787,7 +1123,8 @@
projectDirPath = ""; projectDirPath = "";
projectRoot = ""; projectRoot = "";
targets = ( targets = (
52B1344C16F3C9E800C07B32 /* wolfssl */, 52B1344C16F3C9E800C07B32 /* wolfssl_fips_ios */,
A4A54DF51BC5C3E0002866CD /* wolfssl_fips_osx */,
); );
}; };
/* End PBXProject section */ /* End PBXProject section */
@@ -855,6 +1192,68 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
A4A54DF61BC5C3E0002866CD /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
A4A54DF71BC5C3E0002866CD /* wolfcrypt_first.c in Sources */,
A4A54DF81BC5C3E0002866CD /* hmac.c in Sources */,
A4A54DF91BC5C3E0002866CD /* random.c in Sources */,
A4A54DFA1BC5C3E0002866CD /* sha256.c in Sources */,
A4A54DFB1BC5C3E0002866CD /* rsa.c in Sources */,
A4A54DFC1BC5C3E0002866CD /* aes.c in Sources */,
A4A54DFD1BC5C3E0002866CD /* des3.c in Sources */,
A4A54DFE1BC5C3E0002866CD /* hash.c in Sources */,
A4A54DFF1BC5C3E0002866CD /* sha.c in Sources */,
A4A54E001BC5C3E0002866CD /* sha512.c in Sources */,
A4A54E011BC5C3E0002866CD /* fips.c in Sources */,
A4A54E021BC5C3E0002866CD /* fips_test.c in Sources */,
A4A54E031BC5C3E0002866CD /* wolfcrypt_last.c in Sources */,
A4A54E041BC5C3E0002866CD /* dsa.c in Sources */,
A4A54E051BC5C3E0002866CD /* logging.c in Sources */,
A4A54E061BC5C3E0002866CD /* sha.c in Sources */,
A4A54E071BC5C3E0002866CD /* poly1305.c in Sources */,
A4A54E081BC5C3E0002866CD /* dh.c in Sources */,
A4A54E091BC5C3E0002866CD /* camellia.c in Sources */,
A4A54E0A1BC5C3E0002866CD /* wc_port.c in Sources */,
A4A54E0B1BC5C3E0002866CD /* pwdbased.c in Sources */,
A4A54E0C1BC5C3E0002866CD /* misc.c in Sources */,
A4A54E0D1BC5C3E0002866CD /* hc128.c in Sources */,
A4A54E0E1BC5C3E0002866CD /* asn.c in Sources */,
A4A54E0F1BC5C3E0002866CD /* sha512.c in Sources */,
A4A54E101BC5C3E0002866CD /* rabbit.c in Sources */,
A4A54E111BC5C3E0002866CD /* md5.c in Sources */,
A4A54E121BC5C3E0002866CD /* ssl.c in Sources */,
A4A54E131BC5C3E0002866CD /* rsa.c in Sources */,
A4A54E141BC5C3E0002866CD /* random.c in Sources */,
A4A54E151BC5C3E0002866CD /* tls.c in Sources */,
A4A54E161BC5C3E0002866CD /* ocsp.c in Sources */,
A4A54E171BC5C3E0002866CD /* md4.c in Sources */,
A4A54E181BC5C3E0002866CD /* aes.c in Sources */,
A4A54E191BC5C3E0002866CD /* des3.c in Sources */,
A4A54E1A1BC5C3E0002866CD /* blake2b.c in Sources */,
A4A54E1B1BC5C3E0002866CD /* ripemd.c in Sources */,
A4A54E1C1BC5C3E0002866CD /* memory.c in Sources */,
A4A54E1D1BC5C3E0002866CD /* wc_encrypt.c in Sources */,
A4A54E1E1BC5C3E0002866CD /* ecc.c in Sources */,
A4A54E1F1BC5C3E0002866CD /* sha256.c in Sources */,
A4A54E201BC5C3E0002866CD /* chacha.c in Sources */,
A4A54E211BC5C3E0002866CD /* pkcs7.c in Sources */,
A4A54E221BC5C3E0002866CD /* sniffer.c in Sources */,
A4A54E231BC5C3E0002866CD /* md2.c in Sources */,
A4A54E241BC5C3E0002866CD /* coding.c in Sources */,
A4A54E251BC5C3E0002866CD /* error.c in Sources */,
A4A54E261BC5C3E0002866CD /* hmac.c in Sources */,
A4A54E271BC5C3E0002866CD /* arc4.c in Sources */,
A4A54E281BC5C3E0002866CD /* integer.c in Sources */,
A4A54E291BC5C3E0002866CD /* internal.c in Sources */,
A4A54E2A1BC5C3E0002866CD /* io.c in Sources */,
A4A54E2B1BC5C3E0002866CD /* tfm.c in Sources */,
A4A54E2C1BC5C3E0002866CD /* crl.c in Sources */,
A4A54E2D1BC5C3E0002866CD /* keys.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */ /* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
@@ -921,17 +1320,8 @@
GCC_PREFIX_HEADER = ""; GCC_PREFIX_HEADER = "";
GCC_PREPROCESSOR_DEFINITIONS = ( GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1", "DEBUG=1",
IPHONE,
HAVE_FIPS, HAVE_FIPS,
HAVE_HASHDRBG, WOLFSSL_USER_SETTINGS,
HAVE_AESGCM,
WOLFSSL_SHA512,
WOLFSSL_SHA384,
NO_MD4,
NO_HC128,
NO_RABBIT,
NO_DSA,
NO_PWDBASED,
); );
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
$SRCROOT, $SRCROOT,
@@ -940,7 +1330,7 @@
IPHONEOS_DEPLOYMENT_TARGET = 8.1; IPHONEOS_DEPLOYMENT_TARGET = 8.1;
OTHER_CFLAGS = ""; OTHER_CFLAGS = "";
OTHER_LDFLAGS = ""; OTHER_LDFLAGS = "";
PRODUCT_NAME = wolfssl; PRODUCT_NAME = wolfssl_fips_ios;
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl"; USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl";
@@ -956,17 +1346,8 @@
GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = ""; GCC_PREFIX_HEADER = "";
GCC_PREPROCESSOR_DEFINITIONS = ( GCC_PREPROCESSOR_DEFINITIONS = (
IPHONE,
HAVE_FIPS, HAVE_FIPS,
HAVE_HASHDRBG, WOLFSSL_USER_SETTINGS,
HAVE_AESGCM,
WOLFSSL_SHA512,
WOLFSSL_SHA384,
NO_MD4,
NO_HC128,
NO_RABBIT,
NO_DSA,
NO_PWDBASED,
); );
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
$SRCROOT, $SRCROOT,
@@ -975,7 +1356,62 @@
IPHONEOS_DEPLOYMENT_TARGET = 8.1; IPHONEOS_DEPLOYMENT_TARGET = 8.1;
OTHER_CFLAGS = ""; OTHER_CFLAGS = "";
OTHER_LDFLAGS = ""; OTHER_LDFLAGS = "";
PRODUCT_NAME = wolfssl; PRODUCT_NAME = wolfssl_fips_ios;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl";
};
name = Release;
};
A4A54E9F1BC5C3E0002866CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
CLANG_LINK_OBJC_RUNTIME = NO;
DSTROOT = /tmp/wolfssl_ios.dst;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
HAVE_FIPS,
WOLFSSL_USER_SETTINGS,
);
HEADER_SEARCH_PATHS = (
$SRCROOT,
$PROJECT_DIR/../..,
);
IPHONEOS_DEPLOYMENT_TARGET = 8.1;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl";
};
name = Debug;
};
A4A54EA01BC5C3E0002866CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
CLANG_LINK_OBJC_RUNTIME = NO;
DSTROOT = /tmp/wolfssl_ios.dst;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
GCC_PREPROCESSOR_DEFINITIONS = (
HAVE_FIPS,
WOLFSSL_USER_SETTINGS,
);
HEADER_SEARCH_PATHS = (
$SRCROOT,
$PROJECT_DIR/../..,
);
IPHONEOS_DEPLOYMENT_TARGET = 8.1;
OTHER_CFLAGS = "";
OTHER_LDFLAGS = "";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl"; USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl";
@@ -994,7 +1430,7 @@
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
52B1347216F3C9E800C07B32 /* Build configuration list for PBXNativeTarget "wolfssl" */ = { 52B1347216F3C9E800C07B32 /* Build configuration list for PBXNativeTarget "wolfssl_fips_ios" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
52B1347316F3C9E800C07B32 /* Debug */, 52B1347316F3C9E800C07B32 /* Debug */,
@@ -1003,6 +1439,15 @@
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
A4A54E9E1BC5C3E0002866CD /* Build configuration list for PBXNativeTarget "wolfssl_fips_osx" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A4A54E9F1BC5C3E0002866CD /* Debug */,
A4A54EA01BC5C3E0002866CD /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */ /* End XCConfigurationList section */
}; };
rootObject = 52B1344516F3C9E800C07B32 /* Project object */; rootObject = 52B1344516F3C9E800C07B32 /* Project object */;

View File

@@ -157,6 +157,156 @@
522DBE0F1B7927A50031F454 /* wc_encrypt.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 522DBE0E1B7927290031F454 /* wc_encrypt.h */; }; 522DBE0F1B7927A50031F454 /* wc_encrypt.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 522DBE0E1B7927290031F454 /* wc_encrypt.h */; };
525BE5341B3869110054BBCD /* hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 525BE5331B3869110054BBCD /* hash.c */; }; 525BE5341B3869110054BBCD /* hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 525BE5331B3869110054BBCD /* hash.c */; };
525BE5361B3869780054BBCD /* hash.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 525BE5351B3869430054BBCD /* hash.h */; }; 525BE5361B3869780054BBCD /* hash.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 525BE5351B3869430054BBCD /* hash.h */; };
A4F318501BC58B1700FDF2BB /* dsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216461A1A8992CC0062516A /* dsa.c */; };
A4F318511BC58B1700FDF2BB /* logging.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646201A8992CC0062516A /* logging.c */; };
A4F318521BC58B1700FDF2BB /* sha.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216462D1A8992CC0062516A /* sha.c */; };
A4F318531BC58B1700FDF2BB /* poly1305.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646271A8992CC0062516A /* poly1305.c */; };
A4F318541BC58B1700FDF2BB /* dh.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646191A8992CC0062516A /* dh.c */; };
A4F318551BC58B1700FDF2BB /* camellia.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646151A8992CC0062516A /* camellia.c */; };
A4F318561BC58B1700FDF2BB /* wc_port.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646311A8992CC0062516A /* wc_port.c */; };
A4F318571BC58B1700FDF2BB /* pwdbased.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646281A8992CC0062516A /* pwdbased.c */; };
A4F318581BC58B1700FDF2BB /* misc.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646251A8992CC0062516A /* misc.c */; };
A4F318591BC58B1700FDF2BB /* hc128.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216461D1A8992CC0062516A /* hc128.c */; };
A4F3185A1BC58B1700FDF2BB /* asn.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646131A8992CC0062516A /* asn.c */; };
A4F3185B1BC58B1700FDF2BB /* sha512.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216462F1A8992CC0062516A /* sha512.c */; };
A4F3185C1BC58B1700FDF2BB /* rabbit.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646291A8992CC0062516A /* rabbit.c */; };
A4F3185D1BC58B1700FDF2BB /* hash.c in Sources */ = {isa = PBXBuildFile; fileRef = 525BE5331B3869110054BBCD /* hash.c */; };
A4F3185E1BC58B1700FDF2BB /* md5.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646231A8992CC0062516A /* md5.c */; };
A4F3185F1BC58B1700FDF2BB /* ssl.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646071A89928E0062516A /* ssl.c */; };
A4F318601BC58B1700FDF2BB /* rsa.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216462C1A8992CC0062516A /* rsa.c */; };
A4F318611BC58B1700FDF2BB /* random.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216462A1A8992CC0062516A /* random.c */; };
A4F318621BC58B1700FDF2BB /* wc_encrypt.c in Sources */ = {isa = PBXBuildFile; fileRef = 522DBE0C1B7926FB0031F454 /* wc_encrypt.c */; };
A4F318631BC58B1700FDF2BB /* tls.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646081A89928E0062516A /* tls.c */; };
A4F318641BC58B1700FDF2BB /* ocsp.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646051A89928E0062516A /* ocsp.c */; };
A4F318651BC58B1700FDF2BB /* md4.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646221A8992CC0062516A /* md4.c */; };
A4F318661BC58B1700FDF2BB /* aes.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646111A8992CC0062516A /* aes.c */; };
A4F318671BC58B1700FDF2BB /* des3.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646181A8992CC0062516A /* des3.c */; };
A4F318681BC58B1700FDF2BB /* blake2b.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646141A8992CC0062516A /* blake2b.c */; };
A4F318691BC58B1700FDF2BB /* ripemd.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216462B1A8992CC0062516A /* ripemd.c */; };
A4F3186A1BC58B1700FDF2BB /* memory.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646241A8992CC0062516A /* memory.c */; };
A4F3186B1BC58B1700FDF2BB /* ecc.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216461B1A8992CC0062516A /* ecc.c */; };
A4F3186C1BC58B1700FDF2BB /* sha256.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216462E1A8992CC0062516A /* sha256.c */; };
A4F3186D1BC58B1700FDF2BB /* chacha.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646161A8992CC0062516A /* chacha.c */; };
A4F3186E1BC58B1700FDF2BB /* pkcs7.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646261A8992CC0062516A /* pkcs7.c */; };
A4F3186F1BC58B1700FDF2BB /* sniffer.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646061A89928E0062516A /* sniffer.c */; };
A4F318701BC58B1700FDF2BB /* md2.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646211A8992CC0062516A /* md2.c */; };
A4F318711BC58B1700FDF2BB /* coding.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646171A8992CC0062516A /* coding.c */; };
A4F318721BC58B1700FDF2BB /* error.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216461C1A8992CC0062516A /* error.c */; };
A4F318731BC58B1700FDF2BB /* hmac.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216461E1A8992CC0062516A /* hmac.c */; };
A4F318741BC58B1700FDF2BB /* arc4.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646121A8992CC0062516A /* arc4.c */; };
A4F318751BC58B1700FDF2BB /* integer.c in Sources */ = {isa = PBXBuildFile; fileRef = 5216461F1A8992CC0062516A /* integer.c */; };
A4F318761BC58B1700FDF2BB /* internal.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646021A89928E0062516A /* internal.c */; };
A4F318771BC58B1700FDF2BB /* io.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646031A89928E0062516A /* io.c */; };
A4F318781BC58B1700FDF2BB /* tfm.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646301A8992CC0062516A /* tfm.c */; };
A4F318791BC58B1700FDF2BB /* crl.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646011A89928E0062516A /* crl.c */; };
A4F3187A1BC58B1700FDF2BB /* keys.c in Sources */ = {isa = PBXBuildFile; fileRef = 521646041A89928E0062516A /* keys.c */; };
A4F3187D1BC58B1700FDF2BB /* callbacks.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646531A8993290062516A /* callbacks.h */; };
A4F3187E1BC58B1700FDF2BB /* certs_test.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646541A8993290062516A /* certs_test.h */; };
A4F3187F1BC58B1700FDF2BB /* crl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646551A8993290062516A /* crl.h */; };
A4F318801BC58B1700FDF2BB /* error-ssl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646561A8993290062516A /* error-ssl.h */; };
A4F318811BC58B1700FDF2BB /* internal.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646571A8993290062516A /* internal.h */; };
A4F318821BC58B1700FDF2BB /* ocsp.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646581A8993290062516A /* ocsp.h */; };
A4F318831BC58B1700FDF2BB /* ssl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216465B1A8993290062516A /* ssl.h */; };
A4F318841BC58B1700FDF2BB /* test.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216465C1A8993290062516A /* test.h */; };
A4F318851BC58B1700FDF2BB /* version.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216465D1A8993290062516A /* version.h */; };
A4F318871BC58B1700FDF2BB /* wc_encrypt.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 522DBE0E1B7927290031F454 /* wc_encrypt.h */; };
A4F318881BC58B1700FDF2BB /* hash.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 525BE5351B3869430054BBCD /* hash.h */; };
A4F318891BC58B1700FDF2BB /* aes.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216465E1A8993770062516A /* aes.h */; };
A4F3188A1BC58B1700FDF2BB /* arc4.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216465F1A8993770062516A /* arc4.h */; };
A4F3188B1BC58B1700FDF2BB /* asn_public.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646601A8993770062516A /* asn_public.h */; };
A4F3188C1BC58B1700FDF2BB /* asn.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646611A8993770062516A /* asn.h */; };
A4F3188D1BC58B1700FDF2BB /* blake2-impl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646621A8993770062516A /* blake2-impl.h */; };
A4F3188E1BC58B1700FDF2BB /* blake2-int.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646631A8993770062516A /* blake2-int.h */; };
A4F3188F1BC58B1700FDF2BB /* blake2.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646641A8993770062516A /* blake2.h */; };
A4F318901BC58B1700FDF2BB /* camellia.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646651A8993770062516A /* camellia.h */; };
A4F318911BC58B1700FDF2BB /* chacha.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646661A8993770062516A /* chacha.h */; };
A4F318921BC58B1700FDF2BB /* coding.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646671A8993770062516A /* coding.h */; };
A4F318931BC58B1700FDF2BB /* compress.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646681A8993770062516A /* compress.h */; };
A4F318941BC58B1700FDF2BB /* des3.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646691A8993770062516A /* des3.h */; };
A4F318951BC58B1700FDF2BB /* dh.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216466A1A8993770062516A /* dh.h */; };
A4F318961BC58B1700FDF2BB /* dsa.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216466B1A8993770062516A /* dsa.h */; };
A4F318971BC58B1700FDF2BB /* ecc.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216466C1A8993770062516A /* ecc.h */; };
A4F318981BC58B1700FDF2BB /* error-crypt.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216466D1A8993770062516A /* error-crypt.h */; };
A4F318991BC58B1700FDF2BB /* fips_test.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216466E1A8993770062516A /* fips_test.h */; };
A4F3189A1BC58B1700FDF2BB /* hc128.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216466F1A8993770062516A /* hc128.h */; };
A4F3189B1BC58B1700FDF2BB /* hmac.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646701A8993770062516A /* hmac.h */; };
A4F3189C1BC58B1700FDF2BB /* integer.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646721A8993770062516A /* integer.h */; };
A4F3189D1BC58B1700FDF2BB /* logging.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646731A8993770062516A /* logging.h */; };
A4F3189E1BC58B1700FDF2BB /* md2.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646741A8993770062516A /* md2.h */; };
A4F3189F1BC58B1700FDF2BB /* md4.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646751A8993770062516A /* md4.h */; };
A4F318A01BC58B1700FDF2BB /* md5.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646761A8993770062516A /* md5.h */; };
A4F318A11BC58B1700FDF2BB /* memory.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646771A8993770062516A /* memory.h */; };
A4F318A21BC58B1700FDF2BB /* misc.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646781A8993770062516A /* misc.h */; };
A4F318A31BC58B1700FDF2BB /* mpi_class.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646791A8993770062516A /* mpi_class.h */; };
A4F318A41BC58B1700FDF2BB /* mpi_superclass.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216467A1A8993770062516A /* mpi_superclass.h */; };
A4F318A51BC58B1700FDF2BB /* pkcs7.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216467B1A8993770062516A /* pkcs7.h */; };
A4F318A61BC58B1700FDF2BB /* poly1305.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216467C1A8993770062516A /* poly1305.h */; };
A4F318A71BC58B1700FDF2BB /* pwdbased.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216467D1A8993770062516A /* pwdbased.h */; };
A4F318A81BC58B1700FDF2BB /* rabbit.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216467E1A8993770062516A /* rabbit.h */; };
A4F318A91BC58B1700FDF2BB /* random.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216467F1A8993770062516A /* random.h */; };
A4F318AA1BC58B1700FDF2BB /* ripemd.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646801A8993770062516A /* ripemd.h */; };
A4F318AB1BC58B1700FDF2BB /* rsa.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646811A8993770062516A /* rsa.h */; };
A4F318AC1BC58B1700FDF2BB /* settings.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646821A8993770062516A /* settings.h */; };
A4F318AD1BC58B1700FDF2BB /* sha.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646831A8993770062516A /* sha.h */; };
A4F318AE1BC58B1700FDF2BB /* sha256.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646841A8993770062516A /* sha256.h */; };
A4F318AF1BC58B1700FDF2BB /* sha512.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646851A8993770062516A /* sha512.h */; };
A4F318B01BC58B1700FDF2BB /* tfm.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646861A8993770062516A /* tfm.h */; };
A4F318B11BC58B1700FDF2BB /* types.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646871A8993770062516A /* types.h */; };
A4F318B21BC58B1700FDF2BB /* visibility.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646881A8993770062516A /* visibility.h */; };
A4F318B31BC58B1700FDF2BB /* wc_port.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646891A8993770062516A /* wc_port.h */; };
A4F318B51BC58B1700FDF2BB /* callbacks.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216468A1A8993BB0062516A /* callbacks.h */; };
A4F318B61BC58B1700FDF2BB /* certs_test.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216468B1A8993BB0062516A /* certs_test.h */; };
A4F318B71BC58B1700FDF2BB /* crl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216468C1A8993BB0062516A /* crl.h */; };
A4F318B81BC58B1700FDF2BB /* error-ssl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216468D1A8993BB0062516A /* error-ssl.h */; };
A4F318B91BC58B1700FDF2BB /* internal.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216468E1A8993BB0062516A /* internal.h */; };
A4F318BA1BC58B1700FDF2BB /* ocsp.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216468F1A8993BB0062516A /* ocsp.h */; };
A4F318BB1BC58B1700FDF2BB /* ssl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646921A8993BB0062516A /* ssl.h */; };
A4F318BC1BC58B1700FDF2BB /* test.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646931A8993BB0062516A /* test.h */; };
A4F318BD1BC58B1700FDF2BB /* version.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646941A8993BB0062516A /* version.h */; };
A4F318BF1BC58B1700FDF2BB /* aes.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646951A8993F50062516A /* aes.h */; };
A4F318C01BC58B1700FDF2BB /* arc4.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646961A8993F50062516A /* arc4.h */; };
A4F318C11BC58B1700FDF2BB /* asn_public.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646971A8993F50062516A /* asn_public.h */; };
A4F318C21BC58B1700FDF2BB /* asn.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646981A8993F50062516A /* asn.h */; };
A4F318C31BC58B1700FDF2BB /* blake2-impl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646991A8993F50062516A /* blake2-impl.h */; };
A4F318C41BC58B1700FDF2BB /* blake2-int.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216469A1A8993F50062516A /* blake2-int.h */; };
A4F318C51BC58B1700FDF2BB /* blake2.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216469B1A8993F50062516A /* blake2.h */; };
A4F318C61BC58B1700FDF2BB /* camellia.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216469C1A8993F50062516A /* camellia.h */; };
A4F318C71BC58B1700FDF2BB /* chacha.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216469D1A8993F50062516A /* chacha.h */; };
A4F318C81BC58B1700FDF2BB /* coding.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216469E1A8993F50062516A /* coding.h */; };
A4F318C91BC58B1700FDF2BB /* compress.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5216469F1A8993F50062516A /* compress.h */; };
A4F318CA1BC58B1700FDF2BB /* des3.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A01A8993F50062516A /* des3.h */; };
A4F318CB1BC58B1700FDF2BB /* dh.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A11A8993F50062516A /* dh.h */; };
A4F318CC1BC58B1700FDF2BB /* dsa.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A21A8993F50062516A /* dsa.h */; };
A4F318CD1BC58B1700FDF2BB /* ecc.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A31A8993F50062516A /* ecc.h */; };
A4F318CE1BC58B1700FDF2BB /* error-crypt.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A41A8993F50062516A /* error-crypt.h */; };
A4F318CF1BC58B1700FDF2BB /* fips_test.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A51A8993F50062516A /* fips_test.h */; };
A4F318D01BC58B1700FDF2BB /* hc128.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A61A8993F50062516A /* hc128.h */; };
A4F318D11BC58B1700FDF2BB /* hmac.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A71A8993F50062516A /* hmac.h */; };
A4F318D21BC58B1700FDF2BB /* integer.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A81A8993F50062516A /* integer.h */; };
A4F318D31BC58B1700FDF2BB /* logging.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646A91A8993F50062516A /* logging.h */; };
A4F318D41BC58B1700FDF2BB /* md2.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646AA1A8993F50062516A /* md2.h */; };
A4F318D51BC58B1700FDF2BB /* md4.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646AB1A8993F50062516A /* md4.h */; };
A4F318D61BC58B1700FDF2BB /* md5.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646AC1A8993F50062516A /* md5.h */; };
A4F318D71BC58B1700FDF2BB /* memory.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646AD1A8993F50062516A /* memory.h */; };
A4F318D81BC58B1700FDF2BB /* misc.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646AE1A8993F50062516A /* misc.h */; };
A4F318D91BC58B1700FDF2BB /* mpi_class.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646AF1A8993F50062516A /* mpi_class.h */; };
A4F318DA1BC58B1700FDF2BB /* mpi_superclass.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B01A8993F50062516A /* mpi_superclass.h */; };
A4F318DB1BC58B1700FDF2BB /* pkcs7.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B11A8993F50062516A /* pkcs7.h */; };
A4F318DC1BC58B1700FDF2BB /* poly1305.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B21A8993F50062516A /* poly1305.h */; };
A4F318DD1BC58B1700FDF2BB /* pwdbased.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B31A8993F50062516A /* pwdbased.h */; };
A4F318DE1BC58B1700FDF2BB /* rabbit.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B41A8993F50062516A /* rabbit.h */; };
A4F318DF1BC58B1700FDF2BB /* random.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B51A8993F50062516A /* random.h */; };
A4F318E01BC58B1700FDF2BB /* ripemd.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B61A8993F50062516A /* ripemd.h */; };
A4F318E11BC58B1700FDF2BB /* rsa.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B71A8993F50062516A /* rsa.h */; };
A4F318E21BC58B1700FDF2BB /* settings_comp.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B81A8993F50062516A /* settings_comp.h */; };
A4F318E31BC58B1700FDF2BB /* settings.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646B91A8993F50062516A /* settings.h */; };
A4F318E41BC58B1700FDF2BB /* sha.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646BA1A8993F50062516A /* sha.h */; };
A4F318E51BC58B1700FDF2BB /* sha256.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646BB1A8993F50062516A /* sha256.h */; };
A4F318E61BC58B1700FDF2BB /* sha512.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646BC1A8993F50062516A /* sha512.h */; };
A4F318E71BC58B1700FDF2BB /* tfm.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646BD1A8993F50062516A /* tfm.h */; };
A4F318E81BC58B1700FDF2BB /* types.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646BE1A8993F50062516A /* types.h */; };
A4F318E91BC58B1700FDF2BB /* visibility.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646BF1A8993F50062516A /* visibility.h */; };
A4F318EA1BC58B1700FDF2BB /* wc_port.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 521646C01A8993F50062516A /* wc_port.h */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */ /* Begin PBXCopyFilesBuildPhase section */
@@ -303,6 +453,149 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
A4F3187C1BC58B1700FDF2BB /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = include/wolfssl;
dstSubfolderSpec = 7;
files = (
A4F3187D1BC58B1700FDF2BB /* callbacks.h in CopyFiles */,
A4F3187E1BC58B1700FDF2BB /* certs_test.h in CopyFiles */,
A4F3187F1BC58B1700FDF2BB /* crl.h in CopyFiles */,
A4F318801BC58B1700FDF2BB /* error-ssl.h in CopyFiles */,
A4F318811BC58B1700FDF2BB /* internal.h in CopyFiles */,
A4F318821BC58B1700FDF2BB /* ocsp.h in CopyFiles */,
A4F318831BC58B1700FDF2BB /* ssl.h in CopyFiles */,
A4F318841BC58B1700FDF2BB /* test.h in CopyFiles */,
A4F318851BC58B1700FDF2BB /* version.h in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
A4F318861BC58B1700FDF2BB /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = include/wolfssl/wolfcrypt;
dstSubfolderSpec = 7;
files = (
A4F318871BC58B1700FDF2BB /* wc_encrypt.h in CopyFiles */,
A4F318881BC58B1700FDF2BB /* hash.h in CopyFiles */,
A4F318891BC58B1700FDF2BB /* aes.h in CopyFiles */,
A4F3188A1BC58B1700FDF2BB /* arc4.h in CopyFiles */,
A4F3188B1BC58B1700FDF2BB /* asn_public.h in CopyFiles */,
A4F3188C1BC58B1700FDF2BB /* asn.h in CopyFiles */,
A4F3188D1BC58B1700FDF2BB /* blake2-impl.h in CopyFiles */,
A4F3188E1BC58B1700FDF2BB /* blake2-int.h in CopyFiles */,
A4F3188F1BC58B1700FDF2BB /* blake2.h in CopyFiles */,
A4F318901BC58B1700FDF2BB /* camellia.h in CopyFiles */,
A4F318911BC58B1700FDF2BB /* chacha.h in CopyFiles */,
A4F318921BC58B1700FDF2BB /* coding.h in CopyFiles */,
A4F318931BC58B1700FDF2BB /* compress.h in CopyFiles */,
A4F318941BC58B1700FDF2BB /* des3.h in CopyFiles */,
A4F318951BC58B1700FDF2BB /* dh.h in CopyFiles */,
A4F318961BC58B1700FDF2BB /* dsa.h in CopyFiles */,
A4F318971BC58B1700FDF2BB /* ecc.h in CopyFiles */,
A4F318981BC58B1700FDF2BB /* error-crypt.h in CopyFiles */,
A4F318991BC58B1700FDF2BB /* fips_test.h in CopyFiles */,
A4F3189A1BC58B1700FDF2BB /* hc128.h in CopyFiles */,
A4F3189B1BC58B1700FDF2BB /* hmac.h in CopyFiles */,
A4F3189C1BC58B1700FDF2BB /* integer.h in CopyFiles */,
A4F3189D1BC58B1700FDF2BB /* logging.h in CopyFiles */,
A4F3189E1BC58B1700FDF2BB /* md2.h in CopyFiles */,
A4F3189F1BC58B1700FDF2BB /* md4.h in CopyFiles */,
A4F318A01BC58B1700FDF2BB /* md5.h in CopyFiles */,
A4F318A11BC58B1700FDF2BB /* memory.h in CopyFiles */,
A4F318A21BC58B1700FDF2BB /* misc.h in CopyFiles */,
A4F318A31BC58B1700FDF2BB /* mpi_class.h in CopyFiles */,
A4F318A41BC58B1700FDF2BB /* mpi_superclass.h in CopyFiles */,
A4F318A51BC58B1700FDF2BB /* pkcs7.h in CopyFiles */,
A4F318A61BC58B1700FDF2BB /* poly1305.h in CopyFiles */,
A4F318A71BC58B1700FDF2BB /* pwdbased.h in CopyFiles */,
A4F318A81BC58B1700FDF2BB /* rabbit.h in CopyFiles */,
A4F318A91BC58B1700FDF2BB /* random.h in CopyFiles */,
A4F318AA1BC58B1700FDF2BB /* ripemd.h in CopyFiles */,
A4F318AB1BC58B1700FDF2BB /* rsa.h in CopyFiles */,
A4F318AC1BC58B1700FDF2BB /* settings.h in CopyFiles */,
A4F318AD1BC58B1700FDF2BB /* sha.h in CopyFiles */,
A4F318AE1BC58B1700FDF2BB /* sha256.h in CopyFiles */,
A4F318AF1BC58B1700FDF2BB /* sha512.h in CopyFiles */,
A4F318B01BC58B1700FDF2BB /* tfm.h in CopyFiles */,
A4F318B11BC58B1700FDF2BB /* types.h in CopyFiles */,
A4F318B21BC58B1700FDF2BB /* visibility.h in CopyFiles */,
A4F318B31BC58B1700FDF2BB /* wc_port.h in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
A4F318B41BC58B1700FDF2BB /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = include/cyassl;
dstSubfolderSpec = 7;
files = (
A4F318B51BC58B1700FDF2BB /* callbacks.h in CopyFiles */,
A4F318B61BC58B1700FDF2BB /* certs_test.h in CopyFiles */,
A4F318B71BC58B1700FDF2BB /* crl.h in CopyFiles */,
A4F318B81BC58B1700FDF2BB /* error-ssl.h in CopyFiles */,
A4F318B91BC58B1700FDF2BB /* internal.h in CopyFiles */,
A4F318BA1BC58B1700FDF2BB /* ocsp.h in CopyFiles */,
A4F318BB1BC58B1700FDF2BB /* ssl.h in CopyFiles */,
A4F318BC1BC58B1700FDF2BB /* test.h in CopyFiles */,
A4F318BD1BC58B1700FDF2BB /* version.h in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
A4F318BE1BC58B1700FDF2BB /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = include/cyassl/ctaocrypt;
dstSubfolderSpec = 7;
files = (
A4F318BF1BC58B1700FDF2BB /* aes.h in CopyFiles */,
A4F318C01BC58B1700FDF2BB /* arc4.h in CopyFiles */,
A4F318C11BC58B1700FDF2BB /* asn_public.h in CopyFiles */,
A4F318C21BC58B1700FDF2BB /* asn.h in CopyFiles */,
A4F318C31BC58B1700FDF2BB /* blake2-impl.h in CopyFiles */,
A4F318C41BC58B1700FDF2BB /* blake2-int.h in CopyFiles */,
A4F318C51BC58B1700FDF2BB /* blake2.h in CopyFiles */,
A4F318C61BC58B1700FDF2BB /* camellia.h in CopyFiles */,
A4F318C71BC58B1700FDF2BB /* chacha.h in CopyFiles */,
A4F318C81BC58B1700FDF2BB /* coding.h in CopyFiles */,
A4F318C91BC58B1700FDF2BB /* compress.h in CopyFiles */,
A4F318CA1BC58B1700FDF2BB /* des3.h in CopyFiles */,
A4F318CB1BC58B1700FDF2BB /* dh.h in CopyFiles */,
A4F318CC1BC58B1700FDF2BB /* dsa.h in CopyFiles */,
A4F318CD1BC58B1700FDF2BB /* ecc.h in CopyFiles */,
A4F318CE1BC58B1700FDF2BB /* error-crypt.h in CopyFiles */,
A4F318CF1BC58B1700FDF2BB /* fips_test.h in CopyFiles */,
A4F318D01BC58B1700FDF2BB /* hc128.h in CopyFiles */,
A4F318D11BC58B1700FDF2BB /* hmac.h in CopyFiles */,
A4F318D21BC58B1700FDF2BB /* integer.h in CopyFiles */,
A4F318D31BC58B1700FDF2BB /* logging.h in CopyFiles */,
A4F318D41BC58B1700FDF2BB /* md2.h in CopyFiles */,
A4F318D51BC58B1700FDF2BB /* md4.h in CopyFiles */,
A4F318D61BC58B1700FDF2BB /* md5.h in CopyFiles */,
A4F318D71BC58B1700FDF2BB /* memory.h in CopyFiles */,
A4F318D81BC58B1700FDF2BB /* misc.h in CopyFiles */,
A4F318D91BC58B1700FDF2BB /* mpi_class.h in CopyFiles */,
A4F318DA1BC58B1700FDF2BB /* mpi_superclass.h in CopyFiles */,
A4F318DB1BC58B1700FDF2BB /* pkcs7.h in CopyFiles */,
A4F318DC1BC58B1700FDF2BB /* poly1305.h in CopyFiles */,
A4F318DD1BC58B1700FDF2BB /* pwdbased.h in CopyFiles */,
A4F318DE1BC58B1700FDF2BB /* rabbit.h in CopyFiles */,
A4F318DF1BC58B1700FDF2BB /* random.h in CopyFiles */,
A4F318E01BC58B1700FDF2BB /* ripemd.h in CopyFiles */,
A4F318E11BC58B1700FDF2BB /* rsa.h in CopyFiles */,
A4F318E21BC58B1700FDF2BB /* settings_comp.h in CopyFiles */,
A4F318E31BC58B1700FDF2BB /* settings.h in CopyFiles */,
A4F318E41BC58B1700FDF2BB /* sha.h in CopyFiles */,
A4F318E51BC58B1700FDF2BB /* sha256.h in CopyFiles */,
A4F318E61BC58B1700FDF2BB /* sha512.h in CopyFiles */,
A4F318E71BC58B1700FDF2BB /* tfm.h in CopyFiles */,
A4F318E81BC58B1700FDF2BB /* types.h in CopyFiles */,
A4F318E91BC58B1700FDF2BB /* visibility.h in CopyFiles */,
A4F318EA1BC58B1700FDF2BB /* wc_port.h in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */ /* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
@@ -456,7 +749,9 @@
522DBE0E1B7927290031F454 /* wc_encrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = wc_encrypt.h; path = ../../wolfssl/wolfcrypt/wc_encrypt.h; sourceTree = "<group>"; }; 522DBE0E1B7927290031F454 /* wc_encrypt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = wc_encrypt.h; path = ../../wolfssl/wolfcrypt/wc_encrypt.h; sourceTree = "<group>"; };
525BE5331B3869110054BBCD /* hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = hash.c; path = ../../wolfcrypt/src/hash.c; sourceTree = "<group>"; }; 525BE5331B3869110054BBCD /* hash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = hash.c; path = ../../wolfcrypt/src/hash.c; sourceTree = "<group>"; };
525BE5351B3869430054BBCD /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hash.h; path = ../../wolfssl/wolfcrypt/hash.h; sourceTree = "<group>"; }; 525BE5351B3869430054BBCD /* hash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hash.h; path = ../../wolfssl/wolfcrypt/hash.h; sourceTree = "<group>"; };
52B1344D16F3C9E800C07B32 /* libwolfssl.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwolfssl.a; sourceTree = BUILT_PRODUCTS_DIR; }; 52B1344D16F3C9E800C07B32 /* libwolfssl_ios.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwolfssl_ios.a; sourceTree = BUILT_PRODUCTS_DIR; };
A45EA7091BC5995E00A8614A /* user_settings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = user_settings.h; sourceTree = "<group>"; };
A4F318EE1BC58B1700FDF2BB /* libwolfssl_osx.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libwolfssl_osx.a; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@@ -467,6 +762,13 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
A4F3187B1BC58B1700FDF2BB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
@@ -619,6 +921,7 @@
521645FB1A8991990062516A /* Source */ = { 521645FB1A8991990062516A /* Source */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A45EA7091BC5995E00A8614A /* user_settings.h */,
521646001A89924A0062516A /* wolfSSL */, 521646001A89924A0062516A /* wolfSSL */,
521645FF1A8992470062516A /* wolfCrypt */, 521645FF1A8992470062516A /* wolfCrypt */,
); );
@@ -694,7 +997,8 @@
52B1344E16F3C9E800C07B32 /* Products */ = { 52B1344E16F3C9E800C07B32 /* Products */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
52B1344D16F3C9E800C07B32 /* libwolfssl.a */, 52B1344D16F3C9E800C07B32 /* libwolfssl_ios.a */,
A4F318EE1BC58B1700FDF2BB /* libwolfssl_osx.a */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@@ -702,9 +1006,9 @@
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
52B1344C16F3C9E800C07B32 /* wolfssl */ = { 52B1344C16F3C9E800C07B32 /* wolfssl_ios */ = {
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 52B1347216F3C9E800C07B32 /* Build configuration list for PBXNativeTarget "wolfssl" */; buildConfigurationList = 52B1347216F3C9E800C07B32 /* Build configuration list for PBXNativeTarget "wolfssl_ios" */;
buildPhases = ( buildPhases = (
52B1344916F3C9E800C07B32 /* Sources */, 52B1344916F3C9E800C07B32 /* Sources */,
52B1344A16F3C9E800C07B32 /* Frameworks */, 52B1344A16F3C9E800C07B32 /* Frameworks */,
@@ -717,9 +1021,29 @@
); );
dependencies = ( dependencies = (
); );
name = wolfssl; name = wolfssl_ios;
productName = "wolfssl-ios"; productName = "wolfssl-ios";
productReference = 52B1344D16F3C9E800C07B32 /* libwolfssl.a */; productReference = 52B1344D16F3C9E800C07B32 /* libwolfssl_ios.a */;
productType = "com.apple.product-type.library.static";
};
A4F3184E1BC58B1700FDF2BB /* wolfssl_osx */ = {
isa = PBXNativeTarget;
buildConfigurationList = A4F318EB1BC58B1700FDF2BB /* Build configuration list for PBXNativeTarget "wolfssl_osx" */;
buildPhases = (
A4F3184F1BC58B1700FDF2BB /* Sources */,
A4F3187B1BC58B1700FDF2BB /* Frameworks */,
A4F3187C1BC58B1700FDF2BB /* CopyFiles */,
A4F318861BC58B1700FDF2BB /* CopyFiles */,
A4F318B41BC58B1700FDF2BB /* CopyFiles */,
A4F318BE1BC58B1700FDF2BB /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = wolfssl_osx;
productName = "wolfssl-osx";
productReference = A4F318EE1BC58B1700FDF2BB /* libwolfssl_osx.a */;
productType = "com.apple.product-type.library.static"; productType = "com.apple.product-type.library.static";
}; };
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
@@ -743,7 +1067,8 @@
projectDirPath = ""; projectDirPath = "";
projectRoot = ""; projectRoot = "";
targets = ( targets = (
52B1344C16F3C9E800C07B32 /* wolfssl */, 52B1344C16F3C9E800C07B32 /* wolfssl_ios */,
A4F3184E1BC58B1700FDF2BB /* wolfssl_osx */,
); );
}; };
/* End PBXProject section */ /* End PBXProject section */
@@ -799,6 +1124,56 @@
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
A4F3184F1BC58B1700FDF2BB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
A4F318501BC58B1700FDF2BB /* dsa.c in Sources */,
A4F318511BC58B1700FDF2BB /* logging.c in Sources */,
A4F318521BC58B1700FDF2BB /* sha.c in Sources */,
A4F318531BC58B1700FDF2BB /* poly1305.c in Sources */,
A4F318541BC58B1700FDF2BB /* dh.c in Sources */,
A4F318551BC58B1700FDF2BB /* camellia.c in Sources */,
A4F318561BC58B1700FDF2BB /* wc_port.c in Sources */,
A4F318571BC58B1700FDF2BB /* pwdbased.c in Sources */,
A4F318581BC58B1700FDF2BB /* misc.c in Sources */,
A4F318591BC58B1700FDF2BB /* hc128.c in Sources */,
A4F3185A1BC58B1700FDF2BB /* asn.c in Sources */,
A4F3185B1BC58B1700FDF2BB /* sha512.c in Sources */,
A4F3185C1BC58B1700FDF2BB /* rabbit.c in Sources */,
A4F3185D1BC58B1700FDF2BB /* hash.c in Sources */,
A4F3185E1BC58B1700FDF2BB /* md5.c in Sources */,
A4F3185F1BC58B1700FDF2BB /* ssl.c in Sources */,
A4F318601BC58B1700FDF2BB /* rsa.c in Sources */,
A4F318611BC58B1700FDF2BB /* random.c in Sources */,
A4F318621BC58B1700FDF2BB /* wc_encrypt.c in Sources */,
A4F318631BC58B1700FDF2BB /* tls.c in Sources */,
A4F318641BC58B1700FDF2BB /* ocsp.c in Sources */,
A4F318651BC58B1700FDF2BB /* md4.c in Sources */,
A4F318661BC58B1700FDF2BB /* aes.c in Sources */,
A4F318671BC58B1700FDF2BB /* des3.c in Sources */,
A4F318681BC58B1700FDF2BB /* blake2b.c in Sources */,
A4F318691BC58B1700FDF2BB /* ripemd.c in Sources */,
A4F3186A1BC58B1700FDF2BB /* memory.c in Sources */,
A4F3186B1BC58B1700FDF2BB /* ecc.c in Sources */,
A4F3186C1BC58B1700FDF2BB /* sha256.c in Sources */,
A4F3186D1BC58B1700FDF2BB /* chacha.c in Sources */,
A4F3186E1BC58B1700FDF2BB /* pkcs7.c in Sources */,
A4F3186F1BC58B1700FDF2BB /* sniffer.c in Sources */,
A4F318701BC58B1700FDF2BB /* md2.c in Sources */,
A4F318711BC58B1700FDF2BB /* coding.c in Sources */,
A4F318721BC58B1700FDF2BB /* error.c in Sources */,
A4F318731BC58B1700FDF2BB /* hmac.c in Sources */,
A4F318741BC58B1700FDF2BB /* arc4.c in Sources */,
A4F318751BC58B1700FDF2BB /* integer.c in Sources */,
A4F318761BC58B1700FDF2BB /* internal.c in Sources */,
A4F318771BC58B1700FDF2BB /* io.c in Sources */,
A4F318781BC58B1700FDF2BB /* tfm.c in Sources */,
A4F318791BC58B1700FDF2BB /* crl.c in Sources */,
A4F3187A1BC58B1700FDF2BB /* keys.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */ /* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
@@ -813,6 +1188,7 @@
CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CONFIGURATION_BUILD_DIR = "$(SYMROOT)";
COPY_PHASE_STRIP = NO; COPY_PHASE_STRIP = NO;
GCC_C_LANGUAGE_STANDARD = gnu99; GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO; GCC_DYNAMIC_NO_PIC = NO;
@@ -825,8 +1201,8 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 6.1;
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
SDKROOT = iphoneos; SDKROOT = iphoneos;
USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl include"; USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl include";
}; };
@@ -843,12 +1219,13 @@
CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CONFIGURATION_BUILD_DIR = "$(SYMROOT)";
COPY_PHASE_STRIP = YES; COPY_PHASE_STRIP = YES;
GCC_C_LANGUAGE_STANDARD = gnu99; GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 6.1; PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
SDKROOT = iphoneos; SDKROOT = iphoneos;
USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl include"; USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl include";
VALIDATE_PRODUCT = NO; VALIDATE_PRODUCT = NO;
@@ -864,22 +1241,19 @@
GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = ""; GCC_PREFIX_HEADER = "";
GCC_PREPROCESSOR_DEFINITIONS = ( GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)", "$(inherited)",
IPHONE, WOLFSSL_USER_SETTINGS,
HAVE_HASHDRBG,
USE_FAST_MATH,
HAVE_HASHDRBG,
HAVE_AESGCM,
WOLFSSL_SHA512,
WOLFSSL_SHA384,
); );
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
$SRCROOT, $SRCROOT,
$PROJECT_DIR/../.., $PROJECT_DIR/../..,
); );
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/DerivedData/wolfssl/Build/Products/Debug",
);
OTHER_LDFLAGS = ""; OTHER_LDFLAGS = "";
PRODUCT_NAME = wolfssl; PRODUCT_NAME = wolfssl_ios;
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl"; USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl";
@@ -894,21 +1268,66 @@
DSTROOT = /tmp/wolfssl_ios.dst; DSTROOT = /tmp/wolfssl_ios.dst;
GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = ""; GCC_PREFIX_HEADER = "";
GCC_PREPROCESSOR_DEFINITIONS = WOLFSSL_USER_SETTINGS;
HEADER_SEARCH_PATHS = (
$SRCROOT,
$PROJECT_DIR/../..,
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/DerivedData/wolfssl/Build/Products/Debug",
);
OTHER_LDFLAGS = "";
PRODUCT_NAME = wolfssl_ios;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl";
};
name = Release;
};
A4F318EC1BC58B1700FDF2BB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
CLANG_LINK_OBJC_RUNTIME = NO;
DSTROOT = /tmp/wolfssl_osx.dst;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
GCC_PREPROCESSOR_DEFINITIONS = ( GCC_PREPROCESSOR_DEFINITIONS = (
IPHONE, "$(inherited)",
HAVE_HASHDRBG, WOLFSSL_USER_SETTINGS,
USE_FAST_MATH,
HAVE_HASHDRBG,
HAVE_AESGCM,
WOLFSSL_SHA512,
WOLFSSL_SHA384,
); );
HEADER_SEARCH_PATHS = ( HEADER_SEARCH_PATHS = (
$SRCROOT, $SRCROOT,
$PROJECT_DIR/../.., $PROJECT_DIR/../..,
); );
OTHER_LDFLAGS = ""; OTHER_LDFLAGS = "";
PRODUCT_NAME = wolfssl; PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl";
};
name = Debug;
};
A4F318ED1BC58B1700FDF2BB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
CLANG_LINK_OBJC_RUNTIME = NO;
DSTROOT = /tmp/wolfssl_osx.dst;
GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "";
GCC_PREPROCESSOR_DEFINITIONS = WOLFSSL_USER_SETTINGS;
HEADER_SEARCH_PATHS = (
$SRCROOT,
$PROJECT_DIR/../..,
);
OTHER_LDFLAGS = "";
PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SKIP_INSTALL = YES; SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2"; TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl"; USER_HEADER_SEARCH_PATHS = "wolfssl/wolfcrypt wolfssl";
@@ -927,7 +1346,7 @@
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
52B1347216F3C9E800C07B32 /* Build configuration list for PBXNativeTarget "wolfssl" */ = { 52B1347216F3C9E800C07B32 /* Build configuration list for PBXNativeTarget "wolfssl_ios" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
52B1347316F3C9E800C07B32 /* Debug */, 52B1347316F3C9E800C07B32 /* Debug */,
@@ -936,6 +1355,15 @@
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
A4F318EB1BC58B1700FDF2BB /* Build configuration list for PBXNativeTarget "wolfssl_osx" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A4F318EC1BC58B1700FDF2BB /* Debug */,
A4F318ED1BC58B1700FDF2BB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */ /* End XCConfigurationList section */
}; };
rootObject = 52B1344516F3C9E800C07B32 /* Project object */; rootObject = 52B1344516F3C9E800C07B32 /* Project object */;

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:wolfssl-FIPS.xcodeproj">
</FileRef>
<FileRef
location = "group:wolfssl_testsuite.xcodeproj">
</FileRef>
<FileRef
location = "group:wolfssl.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,347 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
A44566701BC59CA50053D0CB /* libwolfssl_osx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A445666F1BC59CA50053D0CB /* libwolfssl_osx.a */; };
A45EA6DF1BC5922C00A8614A /* client.c in Sources */ = {isa = PBXBuildFile; fileRef = A45EA69D1BC5922C00A8614A /* client.c */; settings = {ASSET_TAGS = (); }; };
A45EA6E31BC5922C00A8614A /* echoclient.c in Sources */ = {isa = PBXBuildFile; fileRef = A45EA6B01BC5922C00A8614A /* echoclient.c */; settings = {ASSET_TAGS = (); }; };
A45EA6E61BC5922C00A8614A /* echoserver.c in Sources */ = {isa = PBXBuildFile; fileRef = A45EA6C31BC5922C00A8614A /* echoserver.c */; settings = {ASSET_TAGS = (); }; };
A45EA6E91BC5922C00A8614A /* server.c in Sources */ = {isa = PBXBuildFile; fileRef = A45EA6D71BC5922C00A8614A /* server.c */; settings = {ASSET_TAGS = (); }; };
A45EA6FD1BC5929500A8614A /* test.c in Sources */ = {isa = PBXBuildFile; fileRef = A45EA6F61BC5929500A8614A /* test.c */; settings = {ASSET_TAGS = (); }; };
A4C7CBF51BC58BD600E591AE /* testsuite.c in Sources */ = {isa = PBXBuildFile; fileRef = A4C7CBF41BC58BD600E591AE /* testsuite.c */; settings = {ASSET_TAGS = (); }; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
A4F318F61BC58B8100FDF2BB /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
A445666F1BC59CA50053D0CB /* libwolfssl_osx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libwolfssl_osx.a; path = Build/Products/libwolfssl_osx.a; sourceTree = "<group>"; };
A45EA69D1BC5922C00A8614A /* client.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = client.c; sourceTree = "<group>"; };
A45EA69E1BC5922C00A8614A /* client.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = client.h; sourceTree = "<group>"; };
A45EA6B01BC5922C00A8614A /* echoclient.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = echoclient.c; sourceTree = "<group>"; };
A45EA6B11BC5922C00A8614A /* echoclient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echoclient.h; sourceTree = "<group>"; };
A45EA6C31BC5922C00A8614A /* echoserver.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = echoserver.c; sourceTree = "<group>"; };
A45EA6C41BC5922C00A8614A /* echoserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = echoserver.h; sourceTree = "<group>"; };
A45EA6D71BC5922C00A8614A /* server.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = server.c; sourceTree = "<group>"; };
A45EA6D81BC5922C00A8614A /* server.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = server.h; sourceTree = "<group>"; };
A45EA6F61BC5929500A8614A /* test.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = test.c; sourceTree = "<group>"; };
A45EA6F71BC5929500A8614A /* test.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = test.h; sourceTree = "<group>"; };
A45EA7081BC5995800A8614A /* user_settings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = user_settings.h; sourceTree = "<group>"; };
A4C7CBF41BC58BD600E591AE /* testsuite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = testsuite.c; path = ../../testsuite/testsuite.c; sourceTree = "<group>"; };
A4F318F81BC58B8100FDF2BB /* wolfssl_testsuite */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = wolfssl_testsuite; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
A4F318F51BC58B8100FDF2BB /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
A44566701BC59CA50053D0CB /* libwolfssl_osx.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
A45EA6921BC5922C00A8614A /* client */ = {
isa = PBXGroup;
children = (
A45EA69D1BC5922C00A8614A /* client.c */,
A45EA69E1BC5922C00A8614A /* client.h */,
);
name = client;
path = ../../examples/client;
sourceTree = "<group>";
};
A45EA6A61BC5922C00A8614A /* echoclient */ = {
isa = PBXGroup;
children = (
A45EA6B01BC5922C00A8614A /* echoclient.c */,
A45EA6B11BC5922C00A8614A /* echoclient.h */,
);
name = echoclient;
path = ../../examples/echoclient;
sourceTree = "<group>";
};
A45EA6B91BC5922C00A8614A /* echoserver */ = {
isa = PBXGroup;
children = (
A45EA6C31BC5922C00A8614A /* echoserver.c */,
A45EA6C41BC5922C00A8614A /* echoserver.h */,
);
name = echoserver;
path = ../../examples/echoserver;
sourceTree = "<group>";
};
A45EA6CB1BC5922C00A8614A /* server */ = {
isa = PBXGroup;
children = (
A45EA6D71BC5922C00A8614A /* server.c */,
A45EA6D81BC5922C00A8614A /* server.h */,
);
name = server;
path = ../../examples/server;
sourceTree = "<group>";
};
A45EA6ED1BC5929500A8614A /* test */ = {
isa = PBXGroup;
children = (
A45EA6F61BC5929500A8614A /* test.c */,
A45EA6F71BC5929500A8614A /* test.h */,
);
name = test;
path = ../../wolfcrypt/test;
sourceTree = "<group>";
};
A4C7CBF31BC58BC300E591AE /* Source */ = {
isa = PBXGroup;
children = (
A45EA7081BC5995800A8614A /* user_settings.h */,
A45EA6ED1BC5929500A8614A /* test */,
A45EA6921BC5922C00A8614A /* client */,
A45EA6A61BC5922C00A8614A /* echoclient */,
A45EA6B91BC5922C00A8614A /* echoserver */,
A45EA6CB1BC5922C00A8614A /* server */,
A4C7CBF41BC58BD600E591AE /* testsuite.c */,
);
name = Source;
sourceTree = "<group>";
};
A4F318EF1BC58B8100FDF2BB = {
isa = PBXGroup;
children = (
A445666F1BC59CA50053D0CB /* libwolfssl_osx.a */,
A4C7CBF31BC58BC300E591AE /* Source */,
A4F318F91BC58B8100FDF2BB /* Products */,
);
sourceTree = "<group>";
};
A4F318F91BC58B8100FDF2BB /* Products */ = {
isa = PBXGroup;
children = (
A4F318F81BC58B8100FDF2BB /* wolfssl_testsuite */,
);
name = Products;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
A4F318F71BC58B8100FDF2BB /* wolfssl_testsuite */ = {
isa = PBXNativeTarget;
buildConfigurationList = A4F318FF1BC58B8100FDF2BB /* Build configuration list for PBXNativeTarget "wolfssl_testsuite" */;
buildPhases = (
A4F318F41BC58B8100FDF2BB /* Sources */,
A4F318F51BC58B8100FDF2BB /* Frameworks */,
A4F318F61BC58B8100FDF2BB /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
name = wolfssl_testsuite;
productName = wolfssl_testsuite;
productReference = A4F318F81BC58B8100FDF2BB /* wolfssl_testsuite */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
A4F318F01BC58B8100FDF2BB /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0700;
ORGANIZATIONNAME = WolfSSL;
TargetAttributes = {
A4F318F71BC58B8100FDF2BB = {
CreatedOnToolsVersion = 7.0.1;
};
};
};
buildConfigurationList = A4F318F31BC58B8100FDF2BB /* Build configuration list for PBXProject "wolfssl_testsuite" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = A4F318EF1BC58B8100FDF2BB;
productRefGroup = A4F318F91BC58B8100FDF2BB /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
A4F318F71BC58B8100FDF2BB /* wolfssl_testsuite */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
A4F318F41BC58B8100FDF2BB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
A45EA6DF1BC5922C00A8614A /* client.c in Sources */,
A45EA6E31BC5922C00A8614A /* echoclient.c in Sources */,
A4C7CBF51BC58BD600E591AE /* testsuite.c in Sources */,
A45EA6FD1BC5929500A8614A /* test.c in Sources */,
A45EA6E91BC5922C00A8614A /* server.c in Sources */,
A45EA6E61BC5922C00A8614A /* echoserver.c in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
A4F318FD1BC58B8100FDF2BB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
A4F318FE1BC58B8100FDF2BB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu99;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = macosx;
};
name = Release;
};
A4F319001BC58B8100FDF2BB /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
NO_MAIN_DRIVER,
WOLFSSL_USER_SETTINGS,
);
HEADER_SEARCH_PATHS = (
$SRCROOT,
$PROJECT_DIR/../..,
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Build/Products",
);
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
A4F319011BC58B8100FDF2BB /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_PREPROCESSOR_DEFINITIONS = (
NO_MAIN_DRIVER,
WOLFSSL_USER_SETTINGS,
);
HEADER_SEARCH_PATHS = (
$SRCROOT,
$PROJECT_DIR/../..,
);
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(PROJECT_DIR)/Build/Products",
);
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
A4F318F31BC58B8100FDF2BB /* Build configuration list for PBXProject "wolfssl_testsuite" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A4F318FD1BC58B8100FDF2BB /* Debug */,
A4F318FE1BC58B8100FDF2BB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
A4F318FF1BC58B8100FDF2BB /* Build configuration list for PBXNativeTarget "wolfssl_testsuite" */ = {
isa = XCConfigurationList;
buildConfigurations = (
A4F319001BC58B8100FDF2BB /* Debug */,
A4F319011BC58B8100FDF2BB /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = A4F318F01BC58B8100FDF2BB /* Project object */;
}

View File

@@ -113,9 +113,6 @@ tests/unit.log: testsuite/testsuite.log
DISTCLEANFILES+= cyassl-config DISTCLEANFILES+= cyassl-config
DISTCLEANFILES+= wolfssl-config DISTCLEANFILES+= wolfssl-config
# fips files shouldn't be left after make distclean
DISTCLEANFILES+= ctaocrypt/src/fips.c
DISTCLEANFILES+= ctaocrypt/src/fips_test.c
maintainer-clean-local: maintainer-clean-local:
-rm Makefile.in -rm Makefile.in

View File

@@ -15,6 +15,9 @@ fi
# If this is a source checkout then call autoreconf with error as well # If this is a source checkout then call autoreconf with error as well
if test -d .git; then if test -d .git; then
WARNINGS="all,error" WARNINGS="all,error"
# touch fips files for non fips distribution
touch ./ctaocrypt/src/fips.c
touch ./ctaocrypt/src/fips_test.c
else else
WARNINGS="all" WARNINGS="all"
fi fi

View File

@@ -1902,6 +1902,7 @@ then
if test "x$ENABLED_ECC" = "xno" if test "x$ENABLED_ECC" = "xno"
then then
ENABLED_OPENSSLEXTRA="yes" ENABLED_OPENSSLEXTRA="yes"
ENABLED_ECC="yes"
AM_CFLAGS="$AM_CFLAGS -DHAVE_ECC -DTFM_ECC256 -DECC_SHAMIR" AM_CFLAGS="$AM_CFLAGS -DHAVE_ECC -DTFM_ECC256 -DECC_SHAMIR"
AM_CONDITIONAL([BUILD_ECC], [test "x$ENABLED_ECC" = "xyes"]) AM_CONDITIONAL([BUILD_ECC], [test "x$ENABLED_ECC" = "xyes"])
fi fi
@@ -2318,11 +2319,6 @@ AC_OUTPUT
echo "---" echo "---"
echo "Running make clean..." echo "Running make clean..."
make clean >/dev/null 2>&1 make clean >/dev/null 2>&1
# Touch files that may not be in repository
echo "Touching File..."
touch ctaocrypt/src/fips.c
touch ctaocrypt/src/fips_test.c
echo
# generate user options header # generate user options header
echo "---" echo "---"

View File

@@ -50,9 +50,22 @@
#if defined(NO_WOLFSSL_MEMORY) && !defined(NO_CYASSL_MEMORY) #if defined(NO_WOLFSSL_MEMORY) && !defined(NO_CYASSL_MEMORY)
#define NO_CYASSL_MEMORY #define NO_CYASSL_MEMORY
#endif #endif
#ifdef WOLFSSL_KEY_GEN #if defined(WOLFSSL_KEY_GEN) && !defined(CYASSL_KEY_GEN)
#define CYASSL_KEY_GEN #define CYASSL_KEY_GEN
#endif #endif
/* AES */
#if defined(WOLFSSL_AES_DIRECT) && !defined(CYASSL_AES_DIRECT)
#define CYASSL_AES_DIRECT
#endif
#if defined(WOLFSSL_AES_COUNTER) && !defined(CYASSL_AES_COUNTER)
#define CYASSL_AES_COUNTER
#endif
/* DES */
#if defined(WOLFSSL_DES_ECB) && !defined(CYASSL_DES_ECB)
#define CYASSL_DES_ECB
#endif
#endif /* CTAO_CRYPT_SETTINGS_C_H */ #endif /* CTAO_CRYPT_SETTINGS_C_H */

View File

@@ -146,6 +146,9 @@ static void Usage(void)
DEFAULT_MIN_DHKEY_BITS); DEFAULT_MIN_DHKEY_BITS);
#endif #endif
printf("-b <num> Benchmark <num> connections and print stats\n"); printf("-b <num> Benchmark <num> connections and print stats\n");
#ifdef HAVE_ALPN
printf("-L <str> Application-Layer Protocole Name ({C,F}:<list>)\n");
#endif
printf("-s Use pre Shared keys\n"); printf("-s Use pre Shared keys\n");
printf("-t Track wolfSSL memory use\n"); printf("-t Track wolfSSL memory use\n");
printf("-d Disable peer checks\n"); printf("-d Disable peer checks\n");
@@ -172,7 +175,7 @@ static void Usage(void)
printf("-S <str> Use Host Name Indication\n"); printf("-S <str> Use Host Name Indication\n");
#endif #endif
#ifdef HAVE_MAX_FRAGMENT #ifdef HAVE_MAX_FRAGMENT
printf("-L <num> Use Maximum Fragment Length [1-5]\n"); printf("-F <num> Use Maximum Fragment Length [1-5]\n");
#endif #endif
#ifdef HAVE_TRUNCATED_HMAC #ifdef HAVE_TRUNCATED_HMAC
printf("-T Use Truncated HMAC\n"); printf("-T Use Truncated HMAC\n");
@@ -193,9 +196,6 @@ static void Usage(void)
#ifdef HAVE_CRL #ifdef HAVE_CRL
printf("-C Disable CRL\n"); printf("-C Disable CRL\n");
#endif #endif
#ifdef HAVE_ALPN
printf("-n <str> Application-Layer Protocole Name ({C,F}:<list>)\n");
#endif
} }
THREAD_RETURN WOLFSSL_THREAD client_test(void* args) THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
@@ -463,7 +463,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
#endif #endif
break; break;
case 'L' : case 'F' :
#ifdef HAVE_MAX_FRAGMENT #ifdef HAVE_MAX_FRAGMENT
maxFragment = atoi(myoptarg); maxFragment = atoi(myoptarg);
if (maxFragment < WOLFSSL_MFL_2_9 || if (maxFragment < WOLFSSL_MFL_2_9 ||
@@ -909,7 +909,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
printf("Received ALPN protocol : %s (%d)\n", printf("Received ALPN protocol : %s (%d)\n",
protocol_name, protocol_nameSz); protocol_name, protocol_nameSz);
else if (err == SSL_ALPN_NOT_FOUND) else if (err == SSL_ALPN_NOT_FOUND)
printf("Not received ALPN response (no match with server)\n"); printf("No ALPN response received (no match with server)\n");
else else
printf("Getting ALPN protocol name failed\n"); printf("Getting ALPN protocol name failed\n");
} }

View File

@@ -22,28 +22,30 @@
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
#endif #endif
#include <cyassl/ctaocrypt/settings.h> #include <cyassl/ctaocrypt/settings.h>
/* let's use cyassl layer AND cyassl openssl layer */ /* let's use cyassl layer AND cyassl openssl layer */
#include <cyassl/ssl.h> #include <cyassl/ssl.h>
#include <cyassl/openssl/ssl.h> #include <cyassl/openssl/ssl.h>
#if defined(WOLFSSL_MDK_ARM) #if defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_TCP_NET)
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#if defined(WOLFSSL_MDK5) #if defined(WOLFSSL_MDK5) || defined(WOLFSSL_KEIL_TCP_NET)
#include "cmsis_os.h" #include "cmsis_os.h"
#include "rl_fs.h" #include "rl_net.h"
#include "rl_net.h"
#else #else
#include "rtl.h" #include "rtl.h"
#endif #endif
#if defined(WOLFSSL_MDK_SHELL)
#include "wolfssl_MDK_ARM.h" char * wolfssl_fgets ( char * str, int num, FILE * f ) ;
#define fgets wolfssl_fgets
#endif
#endif #endif
#include <cyassl/test.h> #include <cyassl/test.h>
#include "examples/echoclient/echoclient.h" #include "examples/echoclient/echoclient.h"

View File

@@ -135,6 +135,9 @@ static void Usage(void)
printf("-D <file> Diffie-Hellman Params file, default %s\n", dhParam); printf("-D <file> Diffie-Hellman Params file, default %s\n", dhParam);
printf("-Z <num> Minimum DH key bits, default %d\n", printf("-Z <num> Minimum DH key bits, default %d\n",
DEFAULT_MIN_DHKEY_BITS); DEFAULT_MIN_DHKEY_BITS);
#endif
#ifdef HAVE_ALPN
printf("-L <str> Application-Layer Protocole Name ({C,F}:<list>)\n");
#endif #endif
printf("-d Disable client cert check\n"); printf("-d Disable client cert check\n");
printf("-b Bind to any interface instead of localhost only\n"); printf("-b Bind to any interface instead of localhost only\n");
@@ -161,9 +164,6 @@ static void Usage(void)
#ifndef NO_PSK #ifndef NO_PSK
printf("-I Do not send PSK identity hint\n"); printf("-I Do not send PSK identity hint\n");
#endif #endif
#ifdef HAVE_ALPN
printf("-L <str> Application-Layer Protocole Name ({C,F}:<list>)\n");
#endif
} }
THREAD_RETURN CYASSL_THREAD server_test(void* args) THREAD_RETURN CYASSL_THREAD server_test(void* args)
@@ -704,10 +704,10 @@ while (1) { /* allow resume option */
err = wolfSSL_ALPN_GetProtocol(ssl, &protocol_name, &protocol_nameSz); err = wolfSSL_ALPN_GetProtocol(ssl, &protocol_name, &protocol_nameSz);
if (err == SSL_SUCCESS) if (err == SSL_SUCCESS)
printf("Send ALPN protocol : %s (%d)\n", printf("Sent ALPN protocol : %s (%d)\n",
protocol_name, protocol_nameSz); protocol_name, protocol_nameSz);
else if (err == SSL_ALPN_NOT_FOUND) else if (err == SSL_ALPN_NOT_FOUND)
printf("Not send ALPN response (no match with server)\n"); printf("No ALPN response sent (no match)\n");
else else
printf("Getting ALPN protocol name failed\n"); printf("Getting ALPN protocol name failed\n");
} }

View File

@@ -2577,7 +2577,7 @@ ProtocolVersion MakeDTLSv1_2(void)
word32 LowResTimer(void) word32 LowResTimer(void)
{ {
NET_SECURE_OS_TICK clk; NET_SECURE_OS_TICK clk = 0;
#if (NET_SECURE_MGR_CFG_EN == DEF_ENABLED) #if (NET_SECURE_MGR_CFG_EN == DEF_ENABLED)
clk = NetSecure_OS_TimeGet(); clk = NetSecure_OS_TimeGet();
@@ -2679,6 +2679,7 @@ ProtocolVersion MakeDTLSv1_2(void)
#endif /* USE_WINDOWS_API */ #endif /* USE_WINDOWS_API */
#ifndef NO_CERTS
static int HashOutputRaw(WOLFSSL* ssl, const byte* output, int sz) static int HashOutputRaw(WOLFSSL* ssl, const byte* output, int sz)
{ {
#ifdef HAVE_FUZZER #ifdef HAVE_FUZZER
@@ -2716,6 +2717,7 @@ static int HashOutputRaw(WOLFSSL* ssl, const byte* output, int sz)
return 0; return 0;
} }
#endif /* NO_CERTS */
/* add output to md5 and sha handshake hashes, exclude record header */ /* add output to md5 and sha handshake hashes, exclude record header */
@@ -2886,6 +2888,7 @@ static void AddHeaders(byte* output, word32 length, byte type, WOLFSSL* ssl)
} }
#ifndef NO_CERTS
static void AddFragHeaders(byte* output, word32 fragSz, word32 fragOffset, static void AddFragHeaders(byte* output, word32 fragSz, word32 fragOffset,
word32 length, byte type, WOLFSSL* ssl) word32 length, byte type, WOLFSSL* ssl)
{ {
@@ -2903,6 +2906,7 @@ static void AddFragHeaders(byte* output, word32 fragSz, word32 fragOffset,
AddRecordHeader(output, fragSz + lengthAdj, handshake, ssl); AddRecordHeader(output, fragSz + lengthAdj, handshake, ssl);
AddHandShakeHeader(output + outputAdj, length, fragOffset, fragSz, type, ssl); AddHandShakeHeader(output + outputAdj, length, fragOffset, fragSz, type, ssl);
} }
#endif /* NO_CERTS */
/* return bytes received, -1 on error */ /* return bytes received, -1 on error */
@@ -5264,9 +5268,22 @@ static int DoHandShakeMsg(WOLFSSL* ssl, byte* input, word32* inOutIdx,
word32 totalSz) word32 totalSz)
{ {
int ret = 0; int ret = 0;
word32 inputLength;
WOLFSSL_ENTER("DoHandShakeMsg()"); WOLFSSL_ENTER("DoHandShakeMsg()");
if (ssl->arrays == NULL) {
byte type;
word32 size;
if (GetHandShakeHeader(ssl,input,inOutIdx,&type, &size, totalSz) != 0)
return PARSE_ERROR;
return DoHandShakeMsgType(ssl, input, inOutIdx, type, size, totalSz);
}
inputLength = ssl->buffers.inputBuffer.length - *inOutIdx;
/* If there is a pending fragmented handshake message, /* If there is a pending fragmented handshake message,
* pending message size will be non-zero. */ * pending message size will be non-zero. */
if (ssl->arrays->pendingMsgSz == 0) { if (ssl->arrays->pendingMsgSz == 0) {
@@ -5285,7 +5302,7 @@ static int DoHandShakeMsg(WOLFSSL* ssl, byte* input, word32* inOutIdx,
} }
/* size is the size of the certificate message payload */ /* size is the size of the certificate message payload */
if (ssl->curSize < size) { if (inputLength - HANDSHAKE_HEADER_SZ < size) {
ssl->arrays->pendingMsgType = type; ssl->arrays->pendingMsgType = type;
ssl->arrays->pendingMsgSz = size + HANDSHAKE_HEADER_SZ; ssl->arrays->pendingMsgSz = size + HANDSHAKE_HEADER_SZ;
ssl->arrays->pendingMsg = (byte*)XMALLOC(size + HANDSHAKE_HEADER_SZ, ssl->arrays->pendingMsg = (byte*)XMALLOC(size + HANDSHAKE_HEADER_SZ,
@@ -5294,25 +5311,26 @@ static int DoHandShakeMsg(WOLFSSL* ssl, byte* input, word32* inOutIdx,
if (ssl->arrays->pendingMsg == NULL) if (ssl->arrays->pendingMsg == NULL)
return MEMORY_E; return MEMORY_E;
XMEMCPY(ssl->arrays->pendingMsg, XMEMCPY(ssl->arrays->pendingMsg,
input + *inOutIdx - HANDSHAKE_HEADER_SZ, ssl->curSize); input + *inOutIdx - HANDSHAKE_HEADER_SZ,
ssl->arrays->pendingMsgOffset = ssl->curSize; inputLength);
*inOutIdx += ssl->curSize - HANDSHAKE_HEADER_SZ; ssl->arrays->pendingMsgOffset = inputLength;
*inOutIdx += inputLength - HANDSHAKE_HEADER_SZ;
return 0; return 0;
} }
ret = DoHandShakeMsgType(ssl, input, inOutIdx, type, size, totalSz); ret = DoHandShakeMsgType(ssl, input, inOutIdx, type, size, totalSz);
} }
else { else {
if (ssl->curSize + ssl->arrays->pendingMsgOffset if (inputLength + ssl->arrays->pendingMsgOffset
> ssl->arrays->pendingMsgSz) { > ssl->arrays->pendingMsgSz) {
return BUFFER_ERROR; return BUFFER_ERROR;
} }
else { else {
XMEMCPY(ssl->arrays->pendingMsg + ssl->arrays->pendingMsgOffset, XMEMCPY(ssl->arrays->pendingMsg + ssl->arrays->pendingMsgOffset,
input + *inOutIdx, ssl->curSize); input + *inOutIdx, inputLength);
ssl->arrays->pendingMsgOffset += ssl->curSize; ssl->arrays->pendingMsgOffset += inputLength;
*inOutIdx += ssl->curSize; *inOutIdx += inputLength;
} }
if (ssl->arrays->pendingMsgOffset == ssl->arrays->pendingMsgSz) if (ssl->arrays->pendingMsgOffset == ssl->arrays->pendingMsgSz)

View File

@@ -61,20 +61,15 @@
#include <rtcs.h> #include <rtcs.h>
#elif defined(FREESCALE_KSDK_MQX) #elif defined(FREESCALE_KSDK_MQX)
#include <rtcs.h> #include <rtcs.h>
#elif defined(WOLFSSL_MDK_ARM) #elif defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_TCP_NET)
#if defined(WOLFSSL_MDK5) #if defined(WOLFSSL_MDK5) || defined(WOLFSSL_KEIL_TCP_NET)
#include "cmsis_os.h" #include "cmsis_os.h"
#include "rl_fs.h"
#include "rl_net.h"
#else #else
#include <rtl.h> #include <rtl.h>
#endif #endif
#undef RNG #include "errno.h"
#include "WOLFSSL_MDK_ARM.h" #define SOCKET_T int
#undef RNG #include "rl_net.h"
#define RNG wolfSSL_RNG
/* for avoiding name conflict in "stm32f2xx.h" */
static int errno;
#elif defined(WOLFSSL_TIRTOS) #elif defined(WOLFSSL_TIRTOS)
#include <sys/socket.h> #include <sys/socket.h>
#elif defined(FREERTOS_TCP) #elif defined(FREERTOS_TCP)
@@ -157,8 +152,8 @@
#define SOCKET_ECONNREFUSED NIO_ECONNREFUSED #define SOCKET_ECONNREFUSED NIO_ECONNREFUSED
#define SOCKET_ECONNABORTED NIO_ECONNABORTED #define SOCKET_ECONNABORTED NIO_ECONNABORTED
#endif #endif
#elif defined(WOLFSSL_MDK_ARM) #elif defined(WOLFSSL_MDK_ARM)|| defined(WOLFSSL_KEIL_TCP_NET)
#if defined(WOLFSSL_MDK5) #if defined(WOLFSSL_MDK5)|| defined(WOLFSSL_KEIL_TCP_NET)
#define SOCKET_EWOULDBLOCK BSD_ERROR_WOULDBLOCK #define SOCKET_EWOULDBLOCK BSD_ERROR_WOULDBLOCK
#define SOCKET_EAGAIN BSD_ERROR_LOCKED #define SOCKET_EAGAIN BSD_ERROR_LOCKED
#define SOCKET_ECONNRESET BSD_ERROR_CLOSED #define SOCKET_ECONNRESET BSD_ERROR_CLOSED

View File

@@ -2349,7 +2349,8 @@ static int wolfssl_decrypt_buffer_key(buffer* der, byte* password,
#endif #endif
return SSL_FATAL_ERROR; return SSL_FATAL_ERROR;
} }
#else
(void) passwordSz;
#endif /* NO_MD5 */ #endif /* NO_MD5 */
#ifndef NO_DES3 #ifndef NO_DES3
@@ -2425,7 +2426,8 @@ static int wolfssl_encrypt_buffer_key(byte* der, word32 derSz, byte* password,
#endif #endif
return SSL_FATAL_ERROR; return SSL_FATAL_ERROR;
} }
#else
(void) passwordSz;
#endif /* NO_MD5 */ #endif /* NO_MD5 */
#ifndef NO_DES3 #ifndef NO_DES3
@@ -3562,13 +3564,6 @@ int wolfSSL_CTX_SetOCSP_Cb(WOLFSSL_CTX* ctx, CbOCSPIO ioCb,
#ifndef NO_FILESYSTEM #ifndef NO_FILESYSTEM
#if defined(WOLFSSL_MDK_ARM)
extern FILE * wolfSSL_fopen(const char *name, const char *mode) ;
#define XFOPEN wolfSSL_fopen
#else
#define XFOPEN fopen
#endif
/* process a file with name fname into ctx of format and type /* process a file with name fname into ctx of format and type
userChain specifies a user certificate chain to pass during handshake */ userChain specifies a user certificate chain to pass during handshake */
int ProcessFile(WOLFSSL_CTX* ctx, const char* fname, int format, int type, int ProcessFile(WOLFSSL_CTX* ctx, const char* fname, int format, int type,
@@ -7648,7 +7643,7 @@ int wolfSSL_set_compression(WOLFSSL* ssl)
#ifdef USE_WINDOWS_API #ifdef USE_WINDOWS_API
#define CloseSocket(s) closesocket(s) #define CloseSocket(s) closesocket(s)
#elif defined(WOLFSSL_MDK_ARM) #elif defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_TCP_NET)
#define CloseSocket(s) closesocket(s) #define CloseSocket(s) closesocket(s)
extern int closesocket(int) ; extern int closesocket(int) ;
#else #else

View File

@@ -567,7 +567,7 @@ static INLINE void ato16(const byte* c, word16* u16)
*u16 = (c[0] << 8) | (c[1]); *u16 = (c[0] << 8) | (c[1]);
} }
#ifdef HAVE_SNI #if defined(HAVE_SNI) && !defined(NO_WOLFSSL_SERVER)
/* convert a 24 bit integer into a 32 bit one */ /* convert a 24 bit integer into a 32 bit one */
static INLINE void c24to32(const word24 u24, word32* u32) static INLINE void c24to32(const word24 u24, word32* u32)
{ {
@@ -1282,6 +1282,8 @@ static word16 TLSX_SNI_Write(SNI* list, byte* output)
return offset; return offset;
} }
#ifndef NO_WOLFSSL_SERVER
/** Finds a SNI object in the provided list. */ /** Finds a SNI object in the provided list. */
static SNI* TLSX_SNI_Find(SNI *list, byte type) static SNI* TLSX_SNI_Find(SNI *list, byte type)
{ {
@@ -1293,7 +1295,6 @@ static SNI* TLSX_SNI_Find(SNI *list, byte type)
return sni; return sni;
} }
#ifndef NO_WOLFSSL_SERVER
/** Sets the status of a SNI object. */ /** Sets the status of a SNI object. */
static void TLSX_SNI_SetStatus(TLSX* extensions, byte type, byte status) static void TLSX_SNI_SetStatus(TLSX* extensions, byte type, byte status)
@@ -1334,7 +1335,8 @@ static int TLSX_SNI_Parse(WOLFSSL* ssl, byte* input, word16 length,
if (!extension) if (!extension)
extension = TLSX_Find(ssl->ctx->extensions, SERVER_NAME_INDICATION); extension = TLSX_Find(ssl->ctx->extensions, SERVER_NAME_INDICATION);
(void)isRequest;
(void)input;
if (!extension || !extension->data) { if (!extension || !extension->data) {
#if defined(WOLFSSL_ALWAYS_KEEP_SNI) && !defined(NO_WOLFSSL_SERVER) #if defined(WOLFSSL_ALWAYS_KEEP_SNI) && !defined(NO_WOLFSSL_SERVER)
@@ -1429,6 +1431,8 @@ static int TLSX_SNI_Parse(WOLFSSL* ssl, byte* input, word16 length,
static int TLSX_SNI_VerifyParse(WOLFSSL* ssl, byte isRequest) static int TLSX_SNI_VerifyParse(WOLFSSL* ssl, byte isRequest)
{ {
(void)ssl;
if (isRequest) { if (isRequest) {
#ifndef NO_WOLFSSL_SERVER #ifndef NO_WOLFSSL_SERVER
TLSX* ctx_ext = TLSX_Find(ssl->ctx->extensions, SERVER_NAME_INDICATION); TLSX* ctx_ext = TLSX_Find(ssl->ctx->extensions, SERVER_NAME_INDICATION);
@@ -1721,6 +1725,8 @@ static word16 TLSX_MFL_Write(byte* data, byte* output)
static int TLSX_MFL_Parse(WOLFSSL* ssl, byte* input, word16 length, static int TLSX_MFL_Parse(WOLFSSL* ssl, byte* input, word16 length,
byte isRequest) byte isRequest)
{ {
(void)isRequest;
if (length != ENUM_LEN) if (length != ENUM_LEN)
return BUFFER_ERROR; return BUFFER_ERROR;
@@ -1795,6 +1801,8 @@ int TLSX_UseMaxFragment(TLSX** extensions, byte mfl)
static int TLSX_THM_Parse(WOLFSSL* ssl, byte* input, word16 length, static int TLSX_THM_Parse(WOLFSSL* ssl, byte* input, word16 length,
byte isRequest) byte isRequest)
{ {
(void)isRequest;
if (length != 0 || input == NULL) if (length != 0 || input == NULL)
return BUFFER_ERROR; return BUFFER_ERROR;

View File

@@ -29,6 +29,25 @@
#include <wolfssl/test.h> #include <wolfssl/test.h>
#include "wolfcrypt/test/test.h" #include "wolfcrypt/test/test.h"
/* This function changes the current directory to the wolfssl root */
static void ChangeDirToRoot(void)
{
/* Normal Command Line=_build, Visual Studio=testsuite */
if (CurrentDir("testsuite") || CurrentDir("_build")) {
ChangeDirBack(1);
}
/* Xcode: To output application to correct location: */
/* 1. Xcode->Preferences->Locations->Locations */
/* 2. Derived Data Advanced -> Custom */
/* 3. Relative to Workspace, Build/Products */
/* Build/Products/Debug or Build/Products/Release */
else if (CurrentDir("Debug") || CurrentDir("Release")) {
ChangeDirBack(5);
}
}
#ifndef SINGLE_THREADED #ifndef SINGLE_THREADED
#include <wolfssl/openssl/ssl.h> #include <wolfssl/openssl/ssl.h>
@@ -53,7 +72,6 @@ static const char *outputName;
int myoptind = 0; int myoptind = 0;
char* myoptarg = NULL; char* myoptarg = NULL;
#ifndef NO_TESTSUITE_MAIN_DRIVER #ifndef NO_TESTSUITE_MAIN_DRIVER
static int testsuite_test(int argc, char** argv); static int testsuite_test(int argc, char** argv);
@@ -100,13 +118,7 @@ int testsuite_test(int argc, char** argv)
#endif #endif
#if !defined(WOLFSSL_TIRTOS) #if !defined(WOLFSSL_TIRTOS)
if (CurrentDir("testsuite") || CurrentDir("_build")) ChangeDirToRoot();
ChangeDirBack(1);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3); /* Xcode->Preferences->Locations->Locations*/
/* Derived Data Advanced -> Custom */
/* Relative to Workspace, Build/Products */
/* Debug or Release */
#endif #endif
#ifdef WOLFSSL_TIRTOS #ifdef WOLFSSL_TIRTOS
@@ -382,6 +394,7 @@ void file_test(const char* file, byte* check)
ret = wc_Sha256Update(&sha256, buf, i); ret = wc_Sha256Update(&sha256, buf, i);
if (ret != 0) { if (ret != 0) {
printf("Can't wc_Sha256Update %d\n", ret); printf("Can't wc_Sha256Update %d\n", ret);
fclose(f);
return; return;
} }
} }
@@ -389,6 +402,7 @@ void file_test(const char* file, byte* check)
ret = wc_Sha256Final(&sha256, shasum); ret = wc_Sha256Final(&sha256, shasum);
if (ret != 0) { if (ret != 0) {
printf("Can't wc_Sha256Final %d\n", ret); printf("Can't wc_Sha256Final %d\n", ret);
fclose(f);
return; return;
} }
@@ -417,13 +431,7 @@ int main(int argc, char** argv)
server_args.argc = argc; server_args.argc = argc;
server_args.argv = argv; server_args.argv = argv;
if (CurrentDir("testsuite") || CurrentDir("_build")) ChangeDirToRoot();
ChangeDirBack(1);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3); /* Xcode->Preferences->Locations->Locations*/
/* Derived Data Advanced -> Custom */
/* Relative to Workspace, Build/Products */
/* Debug or Release */
wolfcrypt_test(&server_args); wolfcrypt_test(&server_args);
if (server_args.return_code != 0) return server_args.return_code; if (server_args.return_code != 0) return server_args.return_code;

View File

@@ -217,6 +217,25 @@ void wc_AesFreeCavium(Aes* aes)
* Guide (See note in README). * Guide (See note in README).
* NOTE: no support for AES-CTR */ * NOTE: no support for AES-CTR */
#include "cau_api.h" #include "cau_api.h"
static int wc_AesEncrypt(Aes* aes, const byte* inBlock, byte* outBlock)
{
int ret = wolfSSL_CryptHwMutexLock();
if(ret == 0) {
cau_aes_encrypt(inBlock, (byte*)aes->key, aes->rounds, outBlock);
wolfSSL_CryptHwMutexUnLock();
}
return ret;
}
static int wc_AesDecrypt(Aes* aes, const byte* inBlock, byte* outBlock)
{
int ret = wolfSSL_CryptHwMutexLock();
if(ret == 0) {
cau_aes_decrypt(inBlock, (byte*)aes->key, aes->rounds, outBlock);
wolfSSL_CryptHwMutexUnLock();
}
return ret;
}
#elif defined(WOLFSSL_PIC32MZ_CRYPT) #elif defined(WOLFSSL_PIC32MZ_CRYPT)
/* NOTE: no support for AES-CCM/Direct */ /* NOTE: no support for AES-CCM/Direct */
#define DEBUG_WOLFSSL #define DEBUG_WOLFSSL
@@ -1490,6 +1509,7 @@ static void wc_AesDecrypt(Aes* aes, const byte* inBlock, byte* outBlock)
int wc_AesSetKey(Aes* aes, const byte* userKey, word32 keylen, const byte* iv, int wc_AesSetKey(Aes* aes, const byte* userKey, word32 keylen, const byte* iv,
int dir) int dir)
{ {
int ret;
byte *rk = (byte*)aes->key; byte *rk = (byte*)aes->key;
if (!((keylen == 16) || (keylen == 24) || (keylen == 32))) if (!((keylen == 16) || (keylen == 24) || (keylen == 32)))
@@ -1499,9 +1519,16 @@ static void wc_AesDecrypt(Aes* aes, const byte* inBlock, byte* outBlock)
return BAD_FUNC_ARG; return BAD_FUNC_ARG;
aes->rounds = keylen/4 + 6; aes->rounds = keylen/4 + 6;
cau_aes_set_key(userKey, keylen*8, rk);
ret = wolfSSL_CryptHwMutexLock();
return wc_AesSetIV(aes, iv); if(ret == 0) {
cau_aes_set_key(userKey, keylen*8, rk);
wolfSSL_CryptHwMutexUnLock();
ret = wc_AesSetIV(aes, iv);
}
return ret;
} }
int wc_AesSetKeyDirect(Aes* aes, const byte* userKey, word32 keylen, int wc_AesSetKeyDirect(Aes* aes, const byte* userKey, word32 keylen,
@@ -1724,27 +1751,7 @@ int wc_AesSetIV(Aes* aes, const byte* iv)
/* AES-DIRECT */ /* AES-DIRECT */
#if defined(WOLFSSL_AES_DIRECT) #if defined(WOLFSSL_AES_DIRECT)
#if defined(FREESCALE_MMCAU) #if defined(STM32F2_CRYPTO)
/* Allow direct access to one block encrypt */
void wc_AesEncryptDirect(Aes* aes, byte* out, const byte* in)
{
byte* key;
key = (byte*)aes->key;
return cau_aes_encrypt(in, key, aes->rounds, out);
}
/* Allow direct access to one block decrypt */
void wc_AesDecryptDirect(Aes* aes, byte* out, const byte* in)
{
byte* key;
key = (byte*)aes->key;
return cau_aes_decrypt(in, key, aes->rounds, out);
}
#elif defined(STM32F2_CRYPTO)
#error "STM32F2 crypto doesn't yet support AES direct" #error "STM32F2 crypto doesn't yet support AES direct"
#elif defined(HAVE_COLDFIRE_SEC) #elif defined(HAVE_COLDFIRE_SEC)
@@ -1766,7 +1773,7 @@ int wc_AesSetIV(Aes* aes, const byte* iv)
wc_AesDecrypt(aes, in, out); wc_AesDecrypt(aes, in, out);
} }
#endif /* FREESCALE_MMCAU, AES direct block */ #endif /* AES direct block */
#endif /* WOLFSSL_AES_DIRECT */ #endif /* WOLFSSL_AES_DIRECT */
@@ -2109,11 +2116,10 @@ int wc_AesSetIV(Aes* aes, const byte* iv)
int offset = 0; int offset = 0;
int len = sz; int len = sz;
byte *iv, *enc_key; byte *iv;
byte temp_block[AES_BLOCK_SIZE]; byte temp_block[AES_BLOCK_SIZE];
iv = (byte*)aes->reg; iv = (byte*)aes->reg;
enc_key = (byte*)aes->key;
if ((wolfssl_word)out % WOLFSSL_MMCAU_ALIGNMENT) { if ((wolfssl_word)out % WOLFSSL_MMCAU_ALIGNMENT) {
WOLFSSL_MSG("Bad cau_aes_encrypt alignment"); WOLFSSL_MSG("Bad cau_aes_encrypt alignment");
@@ -2128,7 +2134,7 @@ int wc_AesSetIV(Aes* aes, const byte* iv)
for (i = 0; i < AES_BLOCK_SIZE; i++) for (i = 0; i < AES_BLOCK_SIZE; i++)
temp_block[i] ^= iv[i]; temp_block[i] ^= iv[i];
cau_aes_encrypt(temp_block, enc_key, aes->rounds, out + offset); wc_AesEncrypt(aes, temp_block, out + offset);
len -= AES_BLOCK_SIZE; len -= AES_BLOCK_SIZE;
offset += AES_BLOCK_SIZE; offset += AES_BLOCK_SIZE;
@@ -2146,11 +2152,10 @@ int wc_AesSetIV(Aes* aes, const byte* iv)
int offset = 0; int offset = 0;
int len = sz; int len = sz;
byte* iv, *dec_key; byte* iv;
byte temp_block[AES_BLOCK_SIZE]; byte temp_block[AES_BLOCK_SIZE];
iv = (byte*)aes->reg; iv = (byte*)aes->reg;
dec_key = (byte*)aes->key;
if ((wolfssl_word)out % WOLFSSL_MMCAU_ALIGNMENT) { if ((wolfssl_word)out % WOLFSSL_MMCAU_ALIGNMENT) {
WOLFSSL_MSG("Bad cau_aes_decrypt alignment"); WOLFSSL_MSG("Bad cau_aes_decrypt alignment");
@@ -2161,8 +2166,8 @@ int wc_AesSetIV(Aes* aes, const byte* iv)
{ {
XMEMCPY(temp_block, in + offset, AES_BLOCK_SIZE); XMEMCPY(temp_block, in + offset, AES_BLOCK_SIZE);
cau_aes_decrypt(in + offset, dec_key, aes->rounds, out + offset); wc_AesEncrypt(aes, in + offset, out + offset);
/* XOR block with IV for CBC */ /* XOR block with IV for CBC */
for (i = 0; i < AES_BLOCK_SIZE; i++) for (i = 0; i < AES_BLOCK_SIZE; i++)
(out + offset)[i] ^= iv[i]; (out + offset)[i] ^= iv[i];
@@ -2741,10 +2746,6 @@ int wc_AesGcmSetKey(Aes* aes, const byte* key, word32 len)
int ret; int ret;
byte iv[AES_BLOCK_SIZE]; byte iv[AES_BLOCK_SIZE];
#ifdef FREESCALE_MMCAU
byte* rk = (byte*)aes->key;
#endif
if (!((len == 16) || (len == 24) || (len == 32))) if (!((len == 16) || (len == 24) || (len == 32)))
return BAD_FUNC_ARG; return BAD_FUNC_ARG;
@@ -2752,11 +2753,7 @@ int wc_AesGcmSetKey(Aes* aes, const byte* key, word32 len)
ret = wc_AesSetKey(aes, key, len, iv, AES_ENCRYPTION); ret = wc_AesSetKey(aes, key, len, iv, AES_ENCRYPTION);
if (ret == 0) { if (ret == 0) {
#ifdef FREESCALE_MMCAU
cau_aes_encrypt(iv, rk, aes->rounds, aes->H);
#else
wc_AesEncrypt(aes, iv, aes->H); wc_AesEncrypt(aes, iv, aes->H);
#endif
#ifdef GCM_TABLE #ifdef GCM_TABLE
GenerateM0(aes); GenerateM0(aes);
#endif /* GCM_TABLE */ #endif /* GCM_TABLE */
@@ -3282,10 +3279,6 @@ int wc_AesGcmEncrypt(Aes* aes, byte* out, const byte* in, word32 sz,
byte *ctr ; byte *ctr ;
byte scratch[AES_BLOCK_SIZE]; byte scratch[AES_BLOCK_SIZE];
#ifdef FREESCALE_MMCAU
byte* key = (byte*)aes->key;
#endif
WOLFSSL_ENTER("AesGcmEncrypt"); WOLFSSL_ENTER("AesGcmEncrypt");
#ifdef WOLFSSL_PIC32MZ_CRYPT #ifdef WOLFSSL_PIC32MZ_CRYPT
@@ -3306,13 +3299,9 @@ int wc_AesGcmEncrypt(Aes* aes, byte* out, const byte* in, word32 sz,
while (blocks--) { while (blocks--) {
IncrementGcmCounter(ctr); IncrementGcmCounter(ctr);
#ifndef WOLFSSL_PIC32MZ_CRYPT #ifndef WOLFSSL_PIC32MZ_CRYPT
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, ctr, scratch);
cau_aes_encrypt(ctr, key, aes->rounds, scratch); xorbuf(scratch, p, AES_BLOCK_SIZE);
#else XMEMCPY(c, scratch, AES_BLOCK_SIZE);
wc_AesEncrypt(aes, ctr, scratch);
#endif
xorbuf(scratch, p, AES_BLOCK_SIZE);
XMEMCPY(c, scratch, AES_BLOCK_SIZE);
#endif #endif
p += AES_BLOCK_SIZE; p += AES_BLOCK_SIZE;
c += AES_BLOCK_SIZE; c += AES_BLOCK_SIZE;
@@ -3320,11 +3309,7 @@ int wc_AesGcmEncrypt(Aes* aes, byte* out, const byte* in, word32 sz,
if (partial != 0) { if (partial != 0) {
IncrementGcmCounter(ctr); IncrementGcmCounter(ctr);
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, ctr, scratch);
cau_aes_encrypt(ctr, key, aes->rounds, scratch);
#else
wc_AesEncrypt(aes, ctr, scratch);
#endif
xorbuf(scratch, p, partial); xorbuf(scratch, p, partial);
XMEMCPY(c, scratch, partial); XMEMCPY(c, scratch, partial);
@@ -3332,11 +3317,7 @@ int wc_AesGcmEncrypt(Aes* aes, byte* out, const byte* in, word32 sz,
GHASH(aes, authIn, authInSz, out, sz, authTag, authTagSz); GHASH(aes, authIn, authInSz, out, sz, authTag, authTagSz);
InitGcmCounter(ctr); InitGcmCounter(ctr);
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, ctr, scratch);
cau_aes_encrypt(ctr, key, aes->rounds, scratch);
#else
wc_AesEncrypt(aes, ctr, scratch);
#endif
xorbuf(authTag, scratch, authTagSz); xorbuf(authTag, scratch, authTagSz);
return 0; return 0;
@@ -3356,10 +3337,6 @@ int wc_AesGcmDecrypt(Aes* aes, byte* out, const byte* in, word32 sz,
byte *ctr ; byte *ctr ;
byte scratch[AES_BLOCK_SIZE]; byte scratch[AES_BLOCK_SIZE];
#ifdef FREESCALE_MMCAU
byte* key = (byte*)aes->key;
#endif
WOLFSSL_ENTER("AesGcmDecrypt"); WOLFSSL_ENTER("AesGcmDecrypt");
#ifdef WOLFSSL_PIC32MZ_CRYPT #ifdef WOLFSSL_PIC32MZ_CRYPT
@@ -3379,11 +3356,7 @@ int wc_AesGcmDecrypt(Aes* aes, byte* out, const byte* in, word32 sz,
byte EKY0[AES_BLOCK_SIZE]; byte EKY0[AES_BLOCK_SIZE];
GHASH(aes, authIn, authInSz, in, sz, Tprime, sizeof(Tprime)); GHASH(aes, authIn, authInSz, in, sz, Tprime, sizeof(Tprime));
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, ctr, EKY0);
cau_aes_encrypt(ctr, key, aes->rounds, EKY0);
#else
wc_AesEncrypt(aes, ctr, EKY0);
#endif
xorbuf(Tprime, EKY0, sizeof(Tprime)); xorbuf(Tprime, EKY0, sizeof(Tprime));
if (ConstantCompare(authTag, Tprime, authTagSz) != 0) { if (ConstantCompare(authTag, Tprime, authTagSz) != 0) {
@@ -3400,24 +3373,16 @@ int wc_AesGcmDecrypt(Aes* aes, byte* out, const byte* in, word32 sz,
while (blocks--) { while (blocks--) {
IncrementGcmCounter(ctr); IncrementGcmCounter(ctr);
#ifndef WOLFSSL_PIC32MZ_CRYPT #ifndef WOLFSSL_PIC32MZ_CRYPT
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, ctr, scratch);
cau_aes_encrypt(ctr, key, aes->rounds, scratch); xorbuf(scratch, c, AES_BLOCK_SIZE);
#else XMEMCPY(p, scratch, AES_BLOCK_SIZE);
wc_AesEncrypt(aes, ctr, scratch);
#endif
xorbuf(scratch, c, AES_BLOCK_SIZE);
XMEMCPY(p, scratch, AES_BLOCK_SIZE);
#endif #endif
p += AES_BLOCK_SIZE; p += AES_BLOCK_SIZE;
c += AES_BLOCK_SIZE; c += AES_BLOCK_SIZE;
} }
if (partial != 0) { if (partial != 0) {
IncrementGcmCounter(ctr); IncrementGcmCounter(ctr);
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, ctr, scratch);
cau_aes_encrypt(ctr, key, aes->rounds, scratch);
#else
wc_AesEncrypt(aes, ctr, scratch);
#endif
xorbuf(scratch, c, partial); xorbuf(scratch, c, partial);
XMEMCPY(p, scratch, partial); XMEMCPY(p, scratch, partial);
} }
@@ -3470,31 +3435,19 @@ void wc_AesCcmSetKey(Aes* aes, const byte* key, word32 keySz)
static void roll_x(Aes* aes, const byte* in, word32 inSz, byte* out) static void roll_x(Aes* aes, const byte* in, word32 inSz, byte* out)
{ {
#ifdef FREESCALE_MMCAU
byte* key = (byte*)aes->key;
#endif
/* process the bulk of the data */ /* process the bulk of the data */
while (inSz >= AES_BLOCK_SIZE) { while (inSz >= AES_BLOCK_SIZE) {
xorbuf(out, in, AES_BLOCK_SIZE); xorbuf(out, in, AES_BLOCK_SIZE);
in += AES_BLOCK_SIZE; in += AES_BLOCK_SIZE;
inSz -= AES_BLOCK_SIZE; inSz -= AES_BLOCK_SIZE;
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, out, out);
cau_aes_encrypt(out, key, aes->rounds, out);
#else
wc_AesEncrypt(aes, out, out);
#endif
} }
/* process remainder of the data */ /* process remainder of the data */
if (inSz > 0) { if (inSz > 0) {
xorbuf(out, in, inSz); xorbuf(out, in, inSz);
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, out, out);
cau_aes_encrypt(out, key, aes->rounds, out);
#else
wc_AesEncrypt(aes, out, out);
#endif
} }
} }
@@ -3504,10 +3457,6 @@ static void roll_auth(Aes* aes, const byte* in, word32 inSz, byte* out)
word32 authLenSz; word32 authLenSz;
word32 remainder; word32 remainder;
#ifdef FREESCALE_MMCAU
byte* key = (byte*)aes->key;
#endif
/* encode the length in */ /* encode the length in */
if (inSz <= 0xFEFF) { if (inSz <= 0xFEFF) {
authLenSz = 2; authLenSz = 2;
@@ -3541,11 +3490,7 @@ static void roll_auth(Aes* aes, const byte* in, word32 inSz, byte* out)
xorbuf(out + authLenSz, in, inSz); xorbuf(out + authLenSz, in, inSz);
inSz = 0; inSz = 0;
} }
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, out, out);
cau_aes_encrypt(out, key, aes->rounds, out);
#else
wc_AesEncrypt(aes, out, out);
#endif
if (inSz > 0) if (inSz > 0)
roll_x(aes, in, inSz, out); roll_x(aes, in, inSz, out);
@@ -3575,19 +3520,11 @@ int wc_AesCcmEncrypt(Aes* aes, byte* out, const byte* in, word32 inSz,
byte mask = 0xFF; byte mask = 0xFF;
word32 wordSz = (word32)sizeof(word32); word32 wordSz = (word32)sizeof(word32);
#ifdef FREESCALE_MMCAU
byte* key;
#endif
/* sanity check on arugments */ /* sanity check on arugments */
if (aes == NULL || out == NULL || in == NULL || nonce == NULL if (aes == NULL || out == NULL || in == NULL || nonce == NULL
|| authTag == NULL || nonceSz < 7 || nonceSz > 13) || authTag == NULL || nonceSz < 7 || nonceSz > 13)
return BAD_FUNC_ARG; return BAD_FUNC_ARG;
#ifdef FREESCALE_MMCAU
key = (byte*)aes->key;
#endif
XMEMCPY(B+1, nonce, nonceSz); XMEMCPY(B+1, nonce, nonceSz);
lenSz = AES_BLOCK_SIZE - 1 - (byte)nonceSz; lenSz = AES_BLOCK_SIZE - 1 - (byte)nonceSz;
B[0] = (authInSz > 0 ? 64 : 0) B[0] = (authInSz > 0 ? 64 : 0)
@@ -3599,11 +3536,8 @@ int wc_AesCcmEncrypt(Aes* aes, byte* out, const byte* in, word32 inSz,
B[AES_BLOCK_SIZE - 1 - i] = (inSz >> ((8 * i) & mask)) & mask; B[AES_BLOCK_SIZE - 1 - i] = (inSz >> ((8 * i) & mask)) & mask;
} }
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, B, A);
cau_aes_encrypt(B, key, aes->rounds, A);
#else
wc_AesEncrypt(aes, B, A);
#endif
if (authInSz > 0) if (authInSz > 0)
roll_auth(aes, authIn, authInSz, A); roll_auth(aes, authIn, authInSz, A);
if (inSz > 0) if (inSz > 0)
@@ -3613,20 +3547,12 @@ int wc_AesCcmEncrypt(Aes* aes, byte* out, const byte* in, word32 inSz,
B[0] = lenSz - 1; B[0] = lenSz - 1;
for (i = 0; i < lenSz; i++) for (i = 0; i < lenSz; i++)
B[AES_BLOCK_SIZE - 1 - i] = 0; B[AES_BLOCK_SIZE - 1 - i] = 0;
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, B, A);
cau_aes_encrypt(B, key, aes->rounds, A);
#else
wc_AesEncrypt(aes, B, A);
#endif
xorbuf(authTag, A, authTagSz); xorbuf(authTag, A, authTagSz);
B[15] = 1; B[15] = 1;
while (inSz >= AES_BLOCK_SIZE) { while (inSz >= AES_BLOCK_SIZE) {
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, B, A);
cau_aes_encrypt(B, key, aes->rounds, A);
#else
wc_AesEncrypt(aes, B, A);
#endif
xorbuf(A, in, AES_BLOCK_SIZE); xorbuf(A, in, AES_BLOCK_SIZE);
XMEMCPY(out, A, AES_BLOCK_SIZE); XMEMCPY(out, A, AES_BLOCK_SIZE);
@@ -3636,11 +3562,7 @@ int wc_AesCcmEncrypt(Aes* aes, byte* out, const byte* in, word32 inSz,
out += AES_BLOCK_SIZE; out += AES_BLOCK_SIZE;
} }
if (inSz > 0) { if (inSz > 0) {
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, B, A);
cau_aes_encrypt(B, key, aes->rounds, A);
#else
wc_AesEncrypt(aes, B, A);
#endif
xorbuf(A, in, inSz); xorbuf(A, in, inSz);
XMEMCPY(out, A, inSz); XMEMCPY(out, A, inSz);
} }
@@ -3666,19 +3588,11 @@ int wc_AesCcmDecrypt(Aes* aes, byte* out, const byte* in, word32 inSz,
byte mask = 0xFF; byte mask = 0xFF;
word32 wordSz = (word32)sizeof(word32); word32 wordSz = (word32)sizeof(word32);
#ifdef FREESCALE_MMCAU
byte* key;
#endif
/* sanity check on arugments */ /* sanity check on arugments */
if (aes == NULL || out == NULL || in == NULL || nonce == NULL if (aes == NULL || out == NULL || in == NULL || nonce == NULL
|| authTag == NULL || nonceSz < 7 || nonceSz > 13) || authTag == NULL || nonceSz < 7 || nonceSz > 13)
return BAD_FUNC_ARG; return BAD_FUNC_ARG;
#ifdef FREESCALE_MMCAU
key = (byte*)aes->key;
#endif
o = out; o = out;
oSz = inSz; oSz = inSz;
XMEMCPY(B+1, nonce, nonceSz); XMEMCPY(B+1, nonce, nonceSz);
@@ -3690,11 +3604,7 @@ int wc_AesCcmDecrypt(Aes* aes, byte* out, const byte* in, word32 inSz,
B[15] = 1; B[15] = 1;
while (oSz >= AES_BLOCK_SIZE) { while (oSz >= AES_BLOCK_SIZE) {
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, B, A);
cau_aes_encrypt(B, key, aes->rounds, A);
#else
wc_AesEncrypt(aes, B, A);
#endif
xorbuf(A, in, AES_BLOCK_SIZE); xorbuf(A, in, AES_BLOCK_SIZE);
XMEMCPY(o, A, AES_BLOCK_SIZE); XMEMCPY(o, A, AES_BLOCK_SIZE);
@@ -3704,22 +3614,14 @@ int wc_AesCcmDecrypt(Aes* aes, byte* out, const byte* in, word32 inSz,
o += AES_BLOCK_SIZE; o += AES_BLOCK_SIZE;
} }
if (inSz > 0) { if (inSz > 0) {
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, B, A);
cau_aes_encrypt(B, key, aes->rounds, A);
#else
wc_AesEncrypt(aes, B, A);
#endif
xorbuf(A, in, oSz); xorbuf(A, in, oSz);
XMEMCPY(o, A, oSz); XMEMCPY(o, A, oSz);
} }
for (i = 0; i < lenSz; i++) for (i = 0; i < lenSz; i++)
B[AES_BLOCK_SIZE - 1 - i] = 0; B[AES_BLOCK_SIZE - 1 - i] = 0;
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, B, A);
cau_aes_encrypt(B, key, aes->rounds, A);
#else
wc_AesEncrypt(aes, B, A);
#endif
o = out; o = out;
oSz = inSz; oSz = inSz;
@@ -3733,11 +3635,8 @@ int wc_AesCcmDecrypt(Aes* aes, byte* out, const byte* in, word32 inSz,
B[AES_BLOCK_SIZE - 1 - i] = (inSz >> ((8 * i) & mask)) & mask; B[AES_BLOCK_SIZE - 1 - i] = (inSz >> ((8 * i) & mask)) & mask;
} }
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, B, A);
cau_aes_encrypt(B, key, aes->rounds, A);
#else
wc_AesEncrypt(aes, B, A);
#endif
if (authInSz > 0) if (authInSz > 0)
roll_auth(aes, authIn, authInSz, A); roll_auth(aes, authIn, authInSz, A);
if (inSz > 0) if (inSz > 0)
@@ -3746,11 +3645,7 @@ int wc_AesCcmDecrypt(Aes* aes, byte* out, const byte* in, word32 inSz,
B[0] = lenSz - 1; B[0] = lenSz - 1;
for (i = 0; i < lenSz; i++) for (i = 0; i < lenSz; i++)
B[AES_BLOCK_SIZE - 1 - i] = 0; B[AES_BLOCK_SIZE - 1 - i] = 0;
#ifdef FREESCALE_MMCAU wc_AesEncrypt(aes, B, B);
cau_aes_encrypt(B, key, aes->rounds, B);
#else
wc_AesEncrypt(aes, B, B);
#endif
xorbuf(A, B, authTagSz); xorbuf(A, B, authTagSz);
if (ConstantCompare(A, authTag, authTagSz) != 0) { if (ConstantCompare(A, authTag, authTagSz) != 0) {

View File

@@ -8100,6 +8100,10 @@ int wc_EccPrivateKeyDecode(const byte* input, word32* inOutIdx, ecc_key* key,
else if (GetLength(input, inOutIdx, &length, inSz) < 0) { else if (GetLength(input, inOutIdx, &length, inSz) < 0) {
ret = ASN_PARSE_E; ret = ASN_PARSE_E;
} }
else if (length <= 0) {
/* pubkey needs some size */
ret = ASN_INPUT_E;
}
else { else {
b = input[*inOutIdx]; b = input[*inOutIdx];
*inOutIdx += 1; *inOutIdx += 1;

View File

@@ -654,6 +654,7 @@ int wc_Des3_SetKey(Des3* des3, const byte* key, const byte* iv, int dir)
int i; int i;
int offset = 0; int offset = 0;
int len = sz; int len = sz;
int ret = 0;
byte *iv; byte *iv;
byte temp_block[DES_BLOCK_SIZE]; byte temp_block[DES_BLOCK_SIZE];
@@ -672,7 +673,12 @@ int wc_Des3_SetKey(Des3* des3, const byte* key, const byte* iv, int dir)
for (i = 0; i < DES_BLOCK_SIZE; i++) for (i = 0; i < DES_BLOCK_SIZE; i++)
temp_block[i] ^= iv[i]; temp_block[i] ^= iv[i];
ret = wolfSSL_CryptHwMutexLock();
if(ret != 0) {
return ret;
}
cau_des_encrypt(temp_block, (byte*)des->key, out + offset); cau_des_encrypt(temp_block, (byte*)des->key, out + offset);
wolfSSL_CryptHwMutexUnLock();
len -= DES_BLOCK_SIZE; len -= DES_BLOCK_SIZE;
offset += DES_BLOCK_SIZE; offset += DES_BLOCK_SIZE;
@@ -681,7 +687,7 @@ int wc_Des3_SetKey(Des3* des3, const byte* key, const byte* iv, int dir)
XMEMCPY(iv, out + offset - DES_BLOCK_SIZE, DES_BLOCK_SIZE); XMEMCPY(iv, out + offset - DES_BLOCK_SIZE, DES_BLOCK_SIZE);
} }
return 0; return ret;
} }
int wc_Des_CbcDecrypt(Des* des, byte* out, const byte* in, word32 sz) int wc_Des_CbcDecrypt(Des* des, byte* out, const byte* in, word32 sz)
@@ -689,6 +695,7 @@ int wc_Des3_SetKey(Des3* des3, const byte* key, const byte* iv, int dir)
int i; int i;
int offset = 0; int offset = 0;
int len = sz; int len = sz;
int ret = 0;
byte* iv; byte* iv;
byte temp_block[DES_BLOCK_SIZE]; byte temp_block[DES_BLOCK_SIZE];
@@ -703,7 +710,12 @@ int wc_Des3_SetKey(Des3* des3, const byte* key, const byte* iv, int dir)
{ {
XMEMCPY(temp_block, in + offset, DES_BLOCK_SIZE); XMEMCPY(temp_block, in + offset, DES_BLOCK_SIZE);
ret = wolfSSL_CryptHwMutexLock();
if(ret != 0) {
return ret;
}
cau_des_decrypt(in + offset, (byte*)des->key, out + offset); cau_des_decrypt(in + offset, (byte*)des->key, out + offset);
wolfSSL_CryptHwMutexUnLock();
/* XOR block with IV for CBC */ /* XOR block with IV for CBC */
for (i = 0; i < DES_BLOCK_SIZE; i++) for (i = 0; i < DES_BLOCK_SIZE; i++)
@@ -716,7 +728,7 @@ int wc_Des3_SetKey(Des3* des3, const byte* key, const byte* iv, int dir)
offset += DES_BLOCK_SIZE; offset += DES_BLOCK_SIZE;
} }
return 0; return ret;
} }
int wc_Des3_CbcEncrypt(Des3* des, byte* out, const byte* in, word32 sz) int wc_Des3_CbcEncrypt(Des3* des, byte* out, const byte* in, word32 sz)
@@ -724,6 +736,7 @@ int wc_Des3_SetKey(Des3* des3, const byte* key, const byte* iv, int dir)
int i; int i;
int offset = 0; int offset = 0;
int len = sz; int len = sz;
int ret = 0;
byte *iv; byte *iv;
byte temp_block[DES_BLOCK_SIZE]; byte temp_block[DES_BLOCK_SIZE];
@@ -743,9 +756,14 @@ int wc_Des3_SetKey(Des3* des3, const byte* key, const byte* iv, int dir)
for (i = 0; i < DES_BLOCK_SIZE; i++) for (i = 0; i < DES_BLOCK_SIZE; i++)
temp_block[i] ^= iv[i]; temp_block[i] ^= iv[i];
ret = wolfSSL_CryptHwMutexLock();
if(ret != 0) {
return ret;
}
cau_des_encrypt(temp_block , (byte*)des->key[0], out + offset); cau_des_encrypt(temp_block , (byte*)des->key[0], out + offset);
cau_des_decrypt(out + offset, (byte*)des->key[1], out + offset); cau_des_decrypt(out + offset, (byte*)des->key[1], out + offset);
cau_des_encrypt(out + offset, (byte*)des->key[2], out + offset); cau_des_encrypt(out + offset, (byte*)des->key[2], out + offset);
wolfSSL_CryptHwMutexUnLock();
len -= DES_BLOCK_SIZE; len -= DES_BLOCK_SIZE;
offset += DES_BLOCK_SIZE; offset += DES_BLOCK_SIZE;
@@ -754,7 +772,7 @@ int wc_Des3_SetKey(Des3* des3, const byte* key, const byte* iv, int dir)
XMEMCPY(iv, out + offset - DES_BLOCK_SIZE, DES_BLOCK_SIZE); XMEMCPY(iv, out + offset - DES_BLOCK_SIZE, DES_BLOCK_SIZE);
} }
return 0; return ret;
} }
int wc_Des3_CbcDecrypt(Des3* des, byte* out, const byte* in, word32 sz) int wc_Des3_CbcDecrypt(Des3* des, byte* out, const byte* in, word32 sz)
@@ -762,6 +780,7 @@ int wc_Des3_SetKey(Des3* des3, const byte* key, const byte* iv, int dir)
int i; int i;
int offset = 0; int offset = 0;
int len = sz; int len = sz;
int ret = 0;
byte* iv; byte* iv;
byte temp_block[DES_BLOCK_SIZE]; byte temp_block[DES_BLOCK_SIZE];
@@ -777,9 +796,14 @@ int wc_Des3_SetKey(Des3* des3, const byte* key, const byte* iv, int dir)
{ {
XMEMCPY(temp_block, in + offset, DES_BLOCK_SIZE); XMEMCPY(temp_block, in + offset, DES_BLOCK_SIZE);
ret = wolfSSL_CryptHwMutexLock();
if(ret != 0) {
return ret;
}
cau_des_decrypt(in + offset , (byte*)des->key[2], out + offset); cau_des_decrypt(in + offset , (byte*)des->key[2], out + offset);
cau_des_encrypt(out + offset, (byte*)des->key[1], out + offset); cau_des_encrypt(out + offset, (byte*)des->key[1], out + offset);
cau_des_decrypt(out + offset, (byte*)des->key[0], out + offset); cau_des_decrypt(out + offset, (byte*)des->key[0], out + offset);
wolfSSL_CryptHwMutexUnLock();
/* XOR block with IV for CBC */ /* XOR block with IV for CBC */
for (i = 0; i < DES_BLOCK_SIZE; i++) for (i = 0; i < DES_BLOCK_SIZE; i++)
@@ -792,7 +816,7 @@ int wc_Des3_SetKey(Des3* des3, const byte* key, const byte* iv, int dir)
offset += DES_BLOCK_SIZE; offset += DES_BLOCK_SIZE;
} }
return 0; return ret;
} }

View File

@@ -49,7 +49,7 @@
#ifdef FREESCALE_MMCAU #ifdef FREESCALE_MMCAU
#include "cau_api.h" #include "cau_api.h"
#define XTRANSFORM(S,B) cau_md5_hash_n((B), 1, (unsigned char*)(S)->digest) #define XTRANSFORM(S,B) Transform((S), (B))
#else #else
#define XTRANSFORM(S,B) Transform((S)) #define XTRANSFORM(S,B) Transform((S))
#endif #endif
@@ -192,6 +192,18 @@ void wc_InitMd5(Md5* md5)
md5->hiLen = 0; md5->hiLen = 0;
} }
#ifdef FREESCALE_MMCAU
static int Transform(Md5* md5, byte* data)
{
int ret = wolfSSL_CryptHwMutexLock();
if(ret == 0) {
cau_md5_hash_n(data, 1, (unsigned char*)md5->digest);
wolfSSL_CryptHwMutexUnLock();
}
return ret;
}
#endif /* FREESCALE_MMCAU */
#ifndef FREESCALE_MMCAU #ifndef FREESCALE_MMCAU
static void Transform(Md5* md5) static void Transform(Md5* md5)

View File

@@ -72,7 +72,7 @@
#ifdef FREESCALE_MMCAU #ifdef FREESCALE_MMCAU
#include "cau_api.h" #include "cau_api.h"
#define XTRANSFORM(S,B) cau_sha1_hash_n((B), 1, ((S))->digest) #define XTRANSFORM(S,B) Transform((S), (B))
#else #else
#define XTRANSFORM(S,B) Transform((S)) #define XTRANSFORM(S,B) Transform((S))
#endif #endif
@@ -210,8 +210,14 @@ int wc_ShaFinal(Sha* sha, byte* hash)
int wc_InitSha(Sha* sha) int wc_InitSha(Sha* sha)
{ {
int ret = 0;
#ifdef FREESCALE_MMCAU #ifdef FREESCALE_MMCAU
ret = wolfSSL_CryptHwMutexLock();
if(ret != 0) {
return ret;
}
cau_sha1_initialize_output(sha->digest); cau_sha1_initialize_output(sha->digest);
wolfSSL_CryptHwMutexUnLock();
#else #else
sha->digest[0] = 0x67452301L; sha->digest[0] = 0x67452301L;
sha->digest[1] = 0xEFCDAB89L; sha->digest[1] = 0xEFCDAB89L;
@@ -224,9 +230,21 @@ int wc_InitSha(Sha* sha)
sha->loLen = 0; sha->loLen = 0;
sha->hiLen = 0; sha->hiLen = 0;
return 0; return ret;
} }
#ifdef FREESCALE_MMCAU
static int Transform(Sha* sha, byte* data)
{
int ret = wolfSSL_CryptHwMutexLock();
if(ret == 0) {
cau_sha1_hash_n(data, 1, sha->digest);
wolfSSL_CryptHwMutexUnLock();
}
return ret;
}
#endif /* FREESCALE_MMCAU */
#ifndef FREESCALE_MMCAU #ifndef FREESCALE_MMCAU
#define blk0(i) (W[i] = sha->buffer[i]) #define blk0(i) (W[i] = sha->buffer[i])

View File

@@ -301,8 +301,14 @@ static void set_Transform(void) {
int wc_InitSha256(Sha256* sha256) int wc_InitSha256(Sha256* sha256)
{ {
int ret = 0;
#ifdef FREESCALE_MMCAU #ifdef FREESCALE_MMCAU
ret = wolfSSL_CryptHwMutexLock();
if(ret != 0) {
return ret;
}
cau_sha256_initialize_output(sha256->digest); cau_sha256_initialize_output(sha256->digest);
wolfSSL_CryptHwMutexUnLock();
#else #else
sha256->digest[0] = 0x6A09E667L; sha256->digest[0] = 0x6A09E667L;
sha256->digest[1] = 0xBB67AE85L; sha256->digest[1] = 0xBB67AE85L;
@@ -322,7 +328,7 @@ int wc_InitSha256(Sha256* sha256)
set_Transform() ; /* choose best Transform function under this runtime environment */ set_Transform() ; /* choose best Transform function under this runtime environment */
#endif #endif
return 0; return ret;
} }
@@ -349,9 +355,12 @@ static const ALIGN32 word32 K[64] = {
static int Transform(Sha256* sha256, byte* buf) static int Transform(Sha256* sha256, byte* buf)
{ {
cau_sha256_hash_n(buf, 1, sha256->digest); int ret = wolfSSL_CryptHwMutexLock();
if(ret == 0) {
return 0; cau_sha256_hash_n(buf, 1, sha256->digest);
wolfSSL_CryptHwMutexUnLock();
}
return ret;
} }
#endif /* FREESCALE_MMCAU */ #endif /* FREESCALE_MMCAU */

View File

@@ -34,6 +34,44 @@
#endif #endif
#if WOLFSSL_CRYPT_HW_MUTEX
/* Mutex for protection of cryptograpghy hardware */
static wolfSSL_Mutex wcCryptHwMutex;
static int wcCryptHwMutexInit = 0;
int wolfSSL_CryptHwMutexInit(void) {
int ret = 0;
if(wcCryptHwMutexInit == 0) {
ret = InitMutex(&wcCryptHwMutex);
if(ret == 0) {
wcCryptHwMutexInit = 1;
}
}
return ret;
}
int wolfSSL_CryptHwMutexLock(void) {
int ret = BAD_MUTEX_E;
/* Make sure HW Mutex has been initialized */
wolfSSL_CryptHwMutexInit();
if(wcCryptHwMutexInit) {
ret = LockMutex(&wcCryptHwMutex);
}
return ret;
}
int wolfSSL_CryptHwMutexUnLock(void) {
int ret = BAD_MUTEX_E;
if(wcCryptHwMutexInit) {
ret = UnLockMutex(&wcCryptHwMutex);
}
return ret;
}
#endif /* WOLFSSL_CRYPT_HW_MUTEX */
#ifdef SINGLE_THREADED #ifdef SINGLE_THREADED

View File

@@ -4447,6 +4447,7 @@ int rsa_test(void)
free(derCert); free(derCert);
free(pem); free(pem);
free(tmp); free(tmp);
fclose(pemFile);
wc_FreeRsaKey(&caKey); wc_FreeRsaKey(&caKey);
return -415; return -415;
} }

View File

@@ -32,8 +32,27 @@
#endif #endif
#define SOCKET_T SOCKET #define SOCKET_T SOCKET
#define SNPRINTF _snprintf #define SNPRINTF _snprintf
#elif defined(WOLFSSL_MDK_ARM) #elif defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_TCP_NET)
#include <string.h> #include <string.h>
#include "rl_net.h"
#define SOCKET_T int
typedef int socklen_t ;
static unsigned long inet_addr(const char *cp)
{
unsigned int a[4] ; unsigned long ret ;
sscanf(cp, "%d.%d.%d.%d", &a[0], &a[1], &a[2], &a[3]) ;
ret = ((a[3]<<24) + (a[2]<<16) + (a[1]<<8) + a[0]) ;
return(ret) ;
}
#if defined(HAVE_KEIL_RTX)
#define sleep(t) os_dly_wait(t/1000+1) ;
#elif defined (WOLFSSL_CMSIS_RTOS)
#define sleep(t) osDelay(t/1000+1) ;
#endif
static int wolfssl_tcp_select(int sd, int timeout)
{ return 0 ; }
#define tcp_select(sd,t) wolfssl_tcp_select(sd, t) /* avoid conflicting Keil TCP tcp_select */
#elif defined(WOLFSSL_TIRTOS) #elif defined(WOLFSSL_TIRTOS)
#include <string.h> #include <string.h>
#include <netdb.h> #include <netdb.h>
@@ -109,8 +128,8 @@
/* HPUX doesn't use socklent_t for third parameter to accept, unless /* HPUX doesn't use socklent_t for third parameter to accept, unless
_XOPEN_SOURCE_EXTENDED is defined */ _XOPEN_SOURCE_EXTENDED is defined */
#if !defined(__hpux__) && !defined(WOLFSSL_MDK_ARM) && \ #if !defined(__hpux__) && !defined(WOLFSSL_MDK_ARM) && !defined(WOLFSSL_IAR_ARM)\
!defined(WOLFSSL_IAR_ARM) && !defined(WOLFSSL_ROWLEY_ARM) && !defined(WOLFSSL_ROWLEY_ARM) && !defined(WOLFSSL_KEIL_TCP_NET)
typedef socklen_t* ACCEPT_THIRD_T; typedef socklen_t* ACCEPT_THIRD_T;
#else #else
#if defined _XOPEN_SOURCE_EXTENDED #if defined _XOPEN_SOURCE_EXTENDED
@@ -124,12 +143,12 @@
#ifdef USE_WINDOWS_API #ifdef USE_WINDOWS_API
#define CloseSocket(s) closesocket(s) #define CloseSocket(s) closesocket(s)
#define StartTCP() { WSADATA wsd; WSAStartup(0x0002, &wsd); } #define StartTCP() { WSADATA wsd; WSAStartup(0x0002, &wsd); }
#elif defined(WOLFSSL_MDK_ARM) #elif defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_TCP_NET)
#define CloseSocket(s) closesocket(s) #define CloseSocket(s) closesocket(s)
#define StartTCP() #define StartTCP()
#else #else
#define CloseSocket(s) close(s) #define CloseSocket(s) close(s)
#define StartTCP() #define StartTCP()
#endif #endif
@@ -144,7 +163,7 @@
#define WOLFSSL_THREAD #define WOLFSSL_THREAD
#define INFINITE -1 #define INFINITE -1
#define WAIT_OBJECT_0 0L #define WAIT_OBJECT_0 0L
#elif defined(WOLFSSL_MDK_ARM) #elif defined(WOLFSSL_MDK_ARM)|| defined(WOLFSSL_KEIL_TCP_NET)
typedef unsigned int THREAD_RETURN; typedef unsigned int THREAD_RETURN;
typedef int THREAD_TYPE; typedef int THREAD_TYPE;
#define WOLFSSL_THREAD #define WOLFSSL_THREAD
@@ -182,6 +201,21 @@
#endif #endif
/* all certs relative to wolfSSL home directory now */ /* all certs relative to wolfSSL home directory now */
#if defined(WOLFSSL_NO_CURRDIR) || defined(WOLFSSL_MDK_SHELL)
#define caCert "certs/ca-cert.pem"
#define eccCert "certs/server-ecc.pem"
#define eccKey "certs/ecc-key.pem"
#define svrCert "certs/server-cert.pem"
#define svrKey "certs/server-key.pem"
#define cliCert "certs/client-cert.pem"
#define cliKey "certs/client-key.pem"
#define ntruCert "certs/ntru-cert.pem"
#define ntruKey "certs/ntru-key.raw"
#define dhParam "certs/dh2048.pem"
#define cliEccKey "certs/ecc-client-key.pem"
#define cliEccCert "certs/client-ecc-cert.pem"
#define crlPemDir "certs/crl"
#else
#define caCert "./certs/ca-cert.pem" #define caCert "./certs/ca-cert.pem"
#define eccCert "./certs/server-ecc.pem" #define eccCert "./certs/server-ecc.pem"
#define eccKey "./certs/ecc-key.pem" #define eccKey "./certs/ecc-key.pem"
@@ -195,6 +229,7 @@
#define cliEccKey "./certs/ecc-client-key.pem" #define cliEccKey "./certs/ecc-client-key.pem"
#define cliEccCert "./certs/client-ecc-cert.pem" #define cliEccCert "./certs/client-ecc-cert.pem"
#define crlPemDir "./certs/crl" #define crlPemDir "./certs/crl"
#endif
typedef struct tcp_ready { typedef struct tcp_ready {
word16 ready; /* predicate */ word16 ready; /* predicate */
@@ -429,7 +464,7 @@ static INLINE void build_addr(SOCKADDR_IN_T* addr, const char* peer,
#ifndef TEST_IPV6 #ifndef TEST_IPV6
/* peer could be in human readable form */ /* peer could be in human readable form */
if ( (peer != INADDR_ANY) && isalpha((int)peer[0])) { if ( (peer != INADDR_ANY) && isalpha((int)peer[0])) {
#ifdef WOLFSSL_MDK_ARM #if defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_TCP_NET)
int err; int err;
struct hostent* entry = gethostbyname(peer, &err); struct hostent* entry = gethostbyname(peer, &err);
#elif defined(WOLFSSL_TIRTOS) #elif defined(WOLFSSL_TIRTOS)
@@ -452,7 +487,7 @@ static INLINE void build_addr(SOCKADDR_IN_T* addr, const char* peer,
#ifndef TEST_IPV6 #ifndef TEST_IPV6
#if defined(WOLFSSL_MDK_ARM) #if defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_TCP_NET)
addr->sin_family = PF_INET; addr->sin_family = PF_INET;
#else #else
addr->sin_family = AF_INET_V; addr->sin_family = AF_INET_V;
@@ -527,7 +562,8 @@ static INLINE void tcp_socket(SOCKET_T* sockfd, int udp)
if (res < 0) if (res < 0)
err_sys("setsockopt SO_NOSIGPIPE failed\n"); err_sys("setsockopt SO_NOSIGPIPE failed\n");
} }
#elif defined(WOLFSSL_MDK_ARM) || defined (WOLFSSL_TIRTOS) #elif defined(WOLFSSL_MDK_ARM) || defined (WOLFSSL_TIRTOS) ||\
defined(WOLFSSL_KEIL_TCP_NET)
/* nothing to define */ /* nothing to define */
#else /* no S_NOSIGPIPE */ #else /* no S_NOSIGPIPE */
signal(SIGPIPE, SIG_IGN); signal(SIGPIPE, SIG_IGN);
@@ -575,7 +611,8 @@ enum {
}; };
#if !defined(WOLFSSL_MDK_ARM) && !defined(WOLFSSL_TIRTOS) #if !defined(WOLFSSL_MDK_ARM) && !defined(WOLFSSL_KEIL_TCP_NET) && \
!defined(WOLFSSL_TIRTOS)
static INLINE int tcp_select(SOCKET_T socketfd, int to_sec) static INLINE int tcp_select(SOCKET_T socketfd, int to_sec)
{ {
fd_set recvfds, errfds; fd_set recvfds, errfds;
@@ -619,7 +656,8 @@ static INLINE void tcp_listen(SOCKET_T* sockfd, word16* port, int useAnyAddr,
build_addr(&addr, (useAnyAddr ? INADDR_ANY : wolfSSLIP), *port, udp); build_addr(&addr, (useAnyAddr ? INADDR_ANY : wolfSSLIP), *port, udp);
tcp_socket(sockfd, udp); tcp_socket(sockfd, udp);
#if !defined(USE_WINDOWS_API) && !defined(WOLFSSL_MDK_ARM) #if !defined(USE_WINDOWS_API) && !defined(WOLFSSL_MDK_ARM)\
&& !defined(WOLFSSL_KEIL_TCP_NET)
{ {
int res, on = 1; int res, on = 1;
socklen_t len = sizeof(on); socklen_t len = sizeof(on);
@@ -682,7 +720,8 @@ static INLINE void udp_accept(SOCKET_T* sockfd, SOCKET_T* clientfd,
tcp_socket(sockfd, 1); tcp_socket(sockfd, 1);
#if !defined(USE_WINDOWS_API) && !defined(WOLFSSL_MDK_ARM) #if !defined(USE_WINDOWS_API) && !defined(WOLFSSL_MDK_ARM) \
&& !defined(WOLFSSL_KEIL_TCP_NET)
{ {
int res, on = 1; int res, on = 1;
socklen_t len = sizeof(on); socklen_t len = sizeof(on);
@@ -788,14 +827,14 @@ static INLINE void tcp_accept(SOCKET_T* sockfd, SOCKET_T* clientfd,
static INLINE void tcp_set_nonblocking(SOCKET_T* sockfd) static INLINE void tcp_set_nonblocking(SOCKET_T* sockfd)
{ {
#ifdef USE_WINDOWS_API #ifdef USE_WINDOWS_API
unsigned long blocking = 1; unsigned long blocking = 1;
int ret = ioctlsocket(*sockfd, FIONBIO, &blocking); int ret = ioctlsocket(*sockfd, FIONBIO, &blocking);
if (ret == SOCKET_ERROR) if (ret == SOCKET_ERROR)
err_sys("ioctlsocket failed"); err_sys("ioctlsocket failed");
#elif defined(WOLFSSL_MDK_ARM) || defined (WOLFSSL_TIRTOS) \ #elif defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_TCP_NET) \
|| defined(WOLFSSL_VXWORKS) || defined (WOLFSSL_TIRTOS)|| defined(WOLFSSL_VXWORKS)
/* non blocking not suppported, for now */ /* non blocking not suppported, for now */
#else #else
int flags = fcntl(*sockfd, F_GETFL, 0); int flags = fcntl(*sockfd, F_GETFL, 0);
if (flags < 0) if (flags < 0)
@@ -881,7 +920,7 @@ static INLINE unsigned int my_psk_server_cb(WOLFSSL* ssl, const char* identity,
extern double current_time(); extern double current_time();
#else #else
#if !defined(WOLFSSL_MDK_ARM) #if !defined(WOLFSSL_MDK_ARM) && !defined(WOLFSSL_KEIL_TCP_NET)
#include <sys/time.h> #include <sys/time.h>
static INLINE double current_time(void) static INLINE double current_time(void)
@@ -918,7 +957,7 @@ static INLINE unsigned int my_psk_server_cb(WOLFSSL* ssl, const char* identity,
sz = ftell(file); sz = ftell(file);
rewind(file); rewind(file);
fread(buff, sizeof(buff), 1, file); fread(buff, sizeof(buff), 1, file);
if (type == WOLFSSL_CA) { if (type == WOLFSSL_CA) {
if (wolfSSL_CTX_load_verify_buffer(ctx, buff, sz, SSL_FILETYPE_PEM) if (wolfSSL_CTX_load_verify_buffer(ctx, buff, sz, SSL_FILETYPE_PEM)
!= SSL_SUCCESS) != SSL_SUCCESS)
@@ -934,6 +973,7 @@ static INLINE unsigned int my_psk_server_cb(WOLFSSL* ssl, const char* identity,
SSL_FILETYPE_PEM) != SSL_SUCCESS) SSL_FILETYPE_PEM) != SSL_SUCCESS)
err_sys("can't load buffer key file"); err_sys("can't load buffer key file");
} }
fclose(file);
} }
#endif /* NO_FILESYSTEM */ #endif /* NO_FILESYSTEM */
@@ -1098,20 +1138,13 @@ static INLINE int OpenNitroxDevice(int dma_mode,int dev_id)
/* do back x number of directories */ /* do back x number of directories */
static INLINE void ChangeDirBack(int x) static INLINE void ChangeDirBack(int x)
{ {
char path[MAX_PATH]; char path[MAX_PATH];
XMEMSET(path, 0, MAX_PATH);
if (x == 1) XSTRNCAT(path, ".\\", MAX_PATH);
strncpy(path, "..\\", MAX_PATH); while (x-- > 0) {
else if (x == 2) XSTRNCAT(path, "..\\", MAX_PATH);
strncpy(path, "..\\..\\", MAX_PATH); }
else if (x == 3) SetCurrentDirectoryA(path);
strncpy(path, "..\\..\\..\\", MAX_PATH);
else if (x == 4)
strncpy(path, "..\\..\\..\\..\\", MAX_PATH);
else
strncpy(path, ".\\", MAX_PATH);
SetCurrentDirectoryA(path);
} }
/* does current dir contain str */ /* does current dir contain str */
@@ -1134,7 +1167,7 @@ static INLINE int CurrentDir(const char* str)
return 0; return 0;
} }
#elif defined(WOLFSSL_MDK_ARM) #elif defined(WOLFSSL_MDK_ARM) || defined(WOLFSSL_KEIL_FS)
/* KEIL-RL File System does not support relative directry */ /* KEIL-RL File System does not support relative directry */
#elif defined(WOLFSSL_TIRTOS) #elif defined(WOLFSSL_TIRTOS)
#else #else
@@ -1147,20 +1180,14 @@ static INLINE int CurrentDir(const char* str)
static INLINE void ChangeDirBack(int x) static INLINE void ChangeDirBack(int x)
{ {
char path[MAX_PATH]; char path[MAX_PATH];
XMEMSET(path, 0, MAX_PATH);
if (x == 1) XSTRNCAT(path, "./", MAX_PATH);
strncpy(path, "../", MAX_PATH); while (x-- > 0) {
else if (x == 2) XSTRNCAT(path, "../", MAX_PATH);
strncpy(path, "../../", MAX_PATH); }
else if (x == 3) if (chdir(path) < 0) {
strncpy(path, "../../../", MAX_PATH); printf("chdir to %s failed\n", path);
else if (x == 4) }
strncpy(path, "../../../../", MAX_PATH);
else
strncpy(path, "./", MAX_PATH);
if (chdir(path) < 0)
printf("chdir to %s failed\n", path);
} }
/* does current dir contain str */ /* does current dir contain str */

View File

@@ -99,13 +99,13 @@ WOLFSSL_API int wc_RsaPublicKeyDecodeRaw(const byte* n, word32 nSz,
const byte* e, word32 eSz, RsaKey* key); const byte* e, word32 eSz, RsaKey* key);
#ifdef WOLFSSL_KEY_GEN #ifdef WOLFSSL_KEY_GEN
WOLFSSL_API int wc_RsaKeyToDer(RsaKey*, byte* output, word32 inLen); WOLFSSL_API int wc_RsaKeyToDer(RsaKey*, byte* output, word32 inLen);
WOLFSSL_API int wc_RsaKeyToPublicDer(RsaKey*, byte* output, word32 inLen);
#endif #endif
#endif /* HAVE_FIPS*/ #endif /* HAVE_FIPS*/
WOLFSSL_API int wc_RsaFlattenPublicKey(RsaKey*, byte*, word32*, byte*, WOLFSSL_API int wc_RsaFlattenPublicKey(RsaKey*, byte*, word32*, byte*,
word32*); word32*);
#ifdef WOLFSSL_KEY_GEN #ifdef WOLFSSL_KEY_GEN
WOLFSSL_API int wc_RsaKeyToPublicDer(RsaKey*, byte* output, word32 inLen);
WOLFSSL_API int wc_MakeRsaKey(RsaKey* key, int size, long e, WC_RNG* rng); WOLFSSL_API int wc_MakeRsaKey(RsaKey* key, int size, long e, WC_RNG* rng);
#endif #endif

View File

@@ -136,7 +136,34 @@
#error Need a mutex type in multithreaded mode #error Need a mutex type in multithreaded mode
#endif /* USE_WINDOWS_API */ #endif /* USE_WINDOWS_API */
#endif /* SINGLE_THREADED */ #endif /* SINGLE_THREADED */
/* Enable crypt HW mutex for Freescale MMCAU */
#if defined(FREESCALE_MMCAU)
#ifndef WOLFSSL_CRYPT_HW_MUTEX
#define WOLFSSL_CRYPT_HW_MUTEX 1
#endif
#endif /* FREESCALE_MMCAU */
#ifndef WOLFSSL_CRYPT_HW_MUTEX
#define WOLFSSL_CRYPT_HW_MUTEX 0
#endif
#if WOLFSSL_CRYPT_HW_MUTEX
/* wolfSSL_CryptHwMutexInit is called on first wolfSSL_CryptHwMutexLock,
however it's recommended to call this directly on Hw init to avoid possible
race condition where two calls to wolfSSL_CryptHwMutexLock are made at
the same time. */
int wolfSSL_CryptHwMutexInit(void);
int wolfSSL_CryptHwMutexLock(void);
int wolfSSL_CryptHwMutexUnLock(void);
#else
/* Define stubs, since HW mutex is disabled */
#define wolfSSL_CryptHwMutexInit() 0 /* Success */
#define wolfSSL_CryptHwMutexLock() 0 /* Success */
#define wolfSSL_CryptHwMutexUnLock() 0 /* Success */
#endif /* WOLFSSL_CRYPT_HW_MUTEX */
/* Mutex functions */
WOLFSSL_LOCAL int InitMutex(wolfSSL_Mutex*); WOLFSSL_LOCAL int InitMutex(wolfSSL_Mutex*);
WOLFSSL_LOCAL int FreeMutex(wolfSSL_Mutex*); WOLFSSL_LOCAL int FreeMutex(wolfSSL_Mutex*);
WOLFSSL_LOCAL int LockMutex(wolfSSL_Mutex*); WOLFSSL_LOCAL int LockMutex(wolfSSL_Mutex*);