Sync MDK5 Software Pack with 2.9.4

This commit is contained in:
Takashi Kojo
2014-04-11 16:20:12 +09:00
parent b05dd361f8
commit b712380a60
105 changed files with 17053 additions and 7290 deletions

View File

@ -0,0 +1,185 @@
/* config-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
// <<< Use Configuration Wizard in Context Menu >>>
// <h> wolfCrypt Configuration
// <h>Cert/Key Strage
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
#define MDK_CONF_CERT_BUFF 0
#if MDK_CONF_CERT_BUFF== 1
#define USE_CERT_BUFFERS_1024
#elif MDK_CONF_CERT_BUFF == 2
#define USE_CERT_BUFFERS_2048
#endif
//</h>
// <h>Crypt Algrithm
// <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
// </h>
// <e>MD2
#define MDK_CONF_MD2 0
#if MDK_CONF_MD2 == 1
#define CYASSL_MD2
#endif
// </e>
// <e>MD4
#define MDK_CONF_MD4 1
#if MDK_CONF_MD4 == 0
#define NO_MD4
#endif
// </e>
// <e>SHA-384
// <i>This has to be with SHA512
#define MDK_CONF_SHA384 0
#if MDK_CONF_SHA384 == 1
#define CYASSL_SHA384
#endif
// </e>
// <e>SHA-512
#define MDK_CONF_SHA512 0
#if MDK_CONF_SHA512 == 1
#define CYASSL_SHA512
#endif
// </e>
// <e>RIPEMD
#define MDK_CONF_RIPEMD 0
#if MDK_CONF_RIPEMD == 1
#define CYASSL_RIPEMD
#endif
// </e>
// <e>HMAC
#define MDK_CONF_HMAC 1
#if MDK_CONF_HMAC == 0
#define NO_HMAC
#endif
// </e>
// <e>HC128
#define MDK_CONF_HC128 0
#if MDK_CONF_HC128 == 1
#define HAVE_HC128
#endif
// </e>
// <e>RABBIT
#define MDK_CONF_RABBIT 1
#if MDK_CONF_RABBI == 0
#define NO_RABBIT
#endif
// </e>
// <e>AEAD
#define MDK_CONF_AEAD 0
#if MDK_CONF_AEAD == 1
#define HAVE_AEAD
#endif
// </e>
// <e>DES3
#define MDK_CONF_DES3 1
#if MDK_CONF_DES3 == 0
#define NO_DES3
#endif
// </e>
// <e>CAMELLIA
#define MDK_CONF_CAMELLIA 0
#if MDK_CONF_CAMELLIA == 1
#define HAVE_CAMELLIA
#endif
// </e>
// <e>DH
// <i>need this for CYASSL_SERVER, OPENSSL_EXTRA
#define MDK_CONF_DH 1
#if MDK_CONF_DH == 0
#define NO_DH
#endif
// </e>
// <e>DSA
#define MDK_CONF_DSA 1
#if MDK_CONF_DSA == 0
#define NO_DSA
#endif
// </e>
// <e>PWDBASED
#define MDK_CONF_PWDBASED 1
#if MDK_CONF_PWDBASED == 0
#define NO_PWDBASED
#endif
// </e>
// <e>ECC
#define MDK_CONF_ECC 0
#if MDK_CONF_ECC == 1
#define HAVE_ECC
#endif
// </e>
// <e>PSK
#define MDK_CONF_PSK 1
#if MDK_CONF_PSK == 0
#define NO_PSK
#endif
// </e>
// <e>AESCCM (Turn off Hardware Crypt)
#define MDK_CONF_AESCCM 0
#if MDK_CONF_AESCCM == 1
#define HAVE_AESCCM
#endif
// </e>
// <e>AESGCM (Turn off Hardware Crypt)
#define MDK_CONF_AESGCM 0
#if MDK_CONF_AESGCM == 1
#define HAVE_AESGCM
#define BUILD_AESGCM
#endif
// </e>
// <e>NTRU (need License, "crypto_ntru.h")
#define MDK_CONF_NTRU 0
#if MDK_CONF_NTRU == 1
#define HAVE_NTRU
#endif
// </e>
// </h>
// <h>Hardware Crypt (See document for usage)
// <e>Hardware RNG
#define MDK_CONF_STM32F2_RNG 0
#if MDK_CONF_STM32F2_RNG == 1
#define STM32F2_RNG
#else
#endif
// </e>
// <e>Hardware Crypt
#define MDK_CONF_STM32F2_CRYPTO 0
#if MDK_CONF_STM32F2_CRYPTO == 1
#define STM32F2_CRYPTO
#endif
// </e>
// </h>
//</h>
// <<< end of configuration section >>>

View File

@ -0,0 +1,144 @@
/* config-RTX-TCP-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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 >>>

62
IDE/MDK5-ARM/Inc/config.h Normal file
View File

@ -0,0 +1,62 @@
/* config.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#define __CORTEX_M3__
#define CYASSL_MDK_ARM
#define CYASSL_MDK5
#define CYASSL_CMSIS_RTOS
#define NO_WRITEV
#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-CyaSSL.h"
#elif defined(MDK_CONF_SimpleClient)
#include "config-Crypt.h"
#include "config-CyaSSL.h"
#elif defined(MDK_CONF_SimpleServer)
#include "config-Crypt.h"
#include "config-CyaSSL.h"
#elif defined(MDK_CONF_EchoClient)
#include "config-Crypt.h"
#include "config-CyaSSL.h"
#elif defined(MDK_CONF_EchoServer)
#include "config-Crypt.h"
#include "config-CyaSSL.h"
#elif defined(MDK_CONF_Benchmark)
#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"
#endif

View File

@ -1,7 +1,7 @@
This program is a simple benchmark of wolfCrypt library. This program is a simple benchmark of wolfCrypt library.
In order to run this benchmark, copy In order to run this benchmark, copy
{PACK}\wolfSSL\CyaSSL\2.8.0\cyassl\certs folder and files to the SD memory. {PACK}\wolfSSL\CyaSSL\{version}\cyassl\certs folder and files to the SD memory.
For benchmark configuration, refer config-Crypt.h. For benchmark configuration, refer config-Crypt.h.

View File

@ -104,6 +104,8 @@
<tRfunc>0</tRfunc> <tRfunc>0</tRfunc>
<tRbox>1</tRbox> <tRbox>1</tRbox>
<tRtrace>1</tRtrace> <tRtrace>1</tRtrace>
<sRSysVw>1</sRSysVw>
<tRSysVw>1</tRSysVw>
<sRunDeb>0</sRunDeb> <sRunDeb>0</sRunDeb>
<sLrtime>0</sLrtime> <sLrtime>0</sLrtime>
<nTsel>8</nTsel> <nTsel>8</nTsel>
@ -169,7 +171,7 @@
<periodic>0</periodic> <periodic>0</periodic>
<aLwin>1</aLwin> <aLwin>1</aLwin>
<aCover>0</aCover> <aCover>0</aCover>
<aSer1>1</aSer1> <aSer1>0</aSer1>
<aSer2>0</aSer2> <aSer2>0</aSer2>
<aPa>0</aPa> <aPa>0</aPa>
<viewmode>1</viewmode> <viewmode>1</viewmode>
@ -223,7 +225,7 @@
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>32</ColumnNumber> <ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
@ -257,6 +259,22 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>4</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
<TopLine>0</TopLine>
<CurrentLine>0</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>.\RTE\wolfSSL\settings.h</PathWithFileName>
<FilenameWithoutPath>settings.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group> </Group>
<Group> <Group>
@ -267,14 +285,14 @@
<RteFlg>0</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>3</GroupNumber> <GroupNumber>3</GroupNumber>
<FileNumber>4</FileNumber> <FileNumber>5</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>0</ColumnNumber> <ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<TopLine>1</TopLine> <TopLine>0</TopLine>
<CurrentLine>1</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>.\Abstract.txt</PathWithFileName> <PathWithFileName>.\Abstract.txt</PathWithFileName>
<FilenameWithoutPath>Abstract.txt</FilenameWithoutPath> <FilenameWithoutPath>Abstract.txt</FilenameWithoutPath>
@ -284,15 +302,15 @@
</Group> </Group>
<Group> <Group>
<GroupName>::CMSIS</GroupName> <GroupName>Devices</GroupName>
<tvExp>0</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel> <cbSel>0</cbSel>
<RteFlg>1</RteFlg> <RteFlg>0</RteFlg>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>5</FileNumber> <FileNumber>6</FileNumber>
<FileType>4</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>0</ColumnNumber> <ColumnNumber>0</ColumnNumber>
@ -300,14 +318,38 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\ARM\CMSIS\3.20.3\CMSIS_RTX\Lib\ARM\RTX_CM3.lib</PathWithFileName> <PathWithFileName>.\time-STM32F2xx.c</PathWithFileName>
<FilenameWithoutPath>RTX_CM3.lib</FilenameWithoutPath> <FilenameWithoutPath>time-STM32F2xx.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>0</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>4</GroupNumber> <GroupNumber>4</GroupNumber>
<FileNumber>6</FileNumber> <FileNumber>7</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
<TopLine>0</TopLine>
<CurrentLine>0</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>.\time-dummy.c</PathWithFileName>
<FilenameWithoutPath>time-dummy.c</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>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>8</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -321,17 +363,33 @@
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>9</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
<TopLine>0</TopLine>
<CurrentLine>0</CurrentLine>
<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>
<GroupName>::Device</GroupName> <GroupName>::Device</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> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>7</FileNumber> <FileNumber>10</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -346,8 +404,8 @@
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>8</FileNumber> <FileNumber>11</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -362,8 +420,8 @@
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>9</FileNumber> <FileNumber>12</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -378,8 +436,8 @@
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>10</FileNumber> <FileNumber>13</FileNumber>
<FileType>2</FileType> <FileType>2</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -394,8 +452,8 @@
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>5</GroupNumber> <GroupNumber>6</GroupNumber>
<FileNumber>11</FileNumber> <FileNumber>14</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -413,13 +471,13 @@
<Group> <Group>
<GroupName>::Drivers</GroupName> <GroupName>::Drivers</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> <File>
<GroupNumber>6</GroupNumber> <GroupNumber>7</GroupNumber>
<FileNumber>12</FileNumber> <FileNumber>15</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -437,29 +495,13 @@
<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> <File>
<GroupNumber>7</GroupNumber> <GroupNumber>8</GroupNumber>
<FileNumber>13</FileNumber> <FileNumber>16</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
<TopLine>0</TopLine>
<CurrentLine>0</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</PathWithFileName>
<FilenameWithoutPath>FS_LFN_CM3_L.lib</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>7</GroupNumber>
<FileNumber>14</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -474,8 +516,8 @@
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>7</GroupNumber> <GroupNumber>8</GroupNumber>
<FileNumber>15</FileNumber> <FileNumber>17</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -489,17 +531,33 @@
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>18</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
<TopLine>0</TopLine>
<CurrentLine>0</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\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> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>16</FileNumber> <FileNumber>19</FileNumber>
<FileType>5</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
@ -514,57 +572,9 @@
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>17</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
<TopLine>0</TopLine>
<CurrentLine>0</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\cyassl_MDK_ARM.c</PathWithFileName>
<FilenameWithoutPath>cyassl_MDK_ARM.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>18</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
<TopLine>0</TopLine>
<CurrentLine>0</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\ssl-dummy.c</PathWithFileName>
<FilenameWithoutPath>ssl-dummy.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>19</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
<TopLine>0</TopLine>
<CurrentLine>0</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib\time-STM32F2xx.c</PathWithFileName>
<FilenameWithoutPath>time-STM32F2xx.c</FilenameWithoutPath>
<RteFlg>1</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>8</GroupNumber>
<FileNumber>20</FileNumber> <FileNumber>20</FileNumber>
<FileType>1</FileType> <FileType>5</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
<Focus>0</Focus> <Focus>0</Focus>
<ColumnNumber>0</ColumnNumber> <ColumnNumber>0</ColumnNumber>
@ -572,13 +582,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\aes.c</PathWithFileName> <PathWithFileName>RTE\wolfSSL\settings.h</PathWithFileName>
<FilenameWithoutPath>aes.c</FilenameWithoutPath> <FilenameWithoutPath>settings.h</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>21</FileNumber> <FileNumber>21</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -588,13 +598,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\arc4.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\IDE\MDK5-ARM\Src\cyassl_MDK_ARM.c</PathWithFileName>
<FilenameWithoutPath>arc4.c</FilenameWithoutPath> <FilenameWithoutPath>cyassl_MDK_ARM.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>22</FileNumber> <FileNumber>22</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -604,13 +614,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\asm.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\IDE\MDK5-ARM\Src\ssl-dummy.c</PathWithFileName>
<FilenameWithoutPath>asm.c</FilenameWithoutPath> <FilenameWithoutPath>ssl-dummy.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>23</FileNumber> <FileNumber>23</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -620,13 +630,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\asn.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\aes.c</PathWithFileName>
<FilenameWithoutPath>asn.c</FilenameWithoutPath> <FilenameWithoutPath>aes.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>24</FileNumber> <FileNumber>24</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -636,13 +646,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\blake2b.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\arc4.c</PathWithFileName>
<FilenameWithoutPath>blake2b.c</FilenameWithoutPath> <FilenameWithoutPath>arc4.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>25</FileNumber> <FileNumber>25</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -652,13 +662,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\camellia.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\asm.c</PathWithFileName>
<FilenameWithoutPath>camellia.c</FilenameWithoutPath> <FilenameWithoutPath>asm.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>26</FileNumber> <FileNumber>26</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -668,13 +678,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\coding.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\asn.c</PathWithFileName>
<FilenameWithoutPath>coding.c</FilenameWithoutPath> <FilenameWithoutPath>asn.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>27</FileNumber> <FileNumber>27</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -684,13 +694,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\compress.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\blake2b.c</PathWithFileName>
<FilenameWithoutPath>compress.c</FilenameWithoutPath> <FilenameWithoutPath>blake2b.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>28</FileNumber> <FileNumber>28</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -700,13 +710,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\des3.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\camellia.c</PathWithFileName>
<FilenameWithoutPath>des3.c</FilenameWithoutPath> <FilenameWithoutPath>camellia.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>29</FileNumber> <FileNumber>29</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -716,13 +726,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\dh.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\coding.c</PathWithFileName>
<FilenameWithoutPath>dh.c</FilenameWithoutPath> <FilenameWithoutPath>coding.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>30</FileNumber> <FileNumber>30</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -732,13 +742,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\dsa.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\compress.c</PathWithFileName>
<FilenameWithoutPath>dsa.c</FilenameWithoutPath> <FilenameWithoutPath>compress.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>31</FileNumber> <FileNumber>31</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -748,13 +758,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\ecc.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\des3.c</PathWithFileName>
<FilenameWithoutPath>ecc.c</FilenameWithoutPath> <FilenameWithoutPath>des3.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>32</FileNumber> <FileNumber>32</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -764,13 +774,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\ecc_fp.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\dh.c</PathWithFileName>
<FilenameWithoutPath>ecc_fp.c</FilenameWithoutPath> <FilenameWithoutPath>dh.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>33</FileNumber> <FileNumber>33</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -780,13 +790,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\error.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\dsa.c</PathWithFileName>
<FilenameWithoutPath>error.c</FilenameWithoutPath> <FilenameWithoutPath>dsa.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>34</FileNumber> <FileNumber>34</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -796,13 +806,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\hc128.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ecc.c</PathWithFileName>
<FilenameWithoutPath>hc128.c</FilenameWithoutPath> <FilenameWithoutPath>ecc.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>35</FileNumber> <FileNumber>35</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -812,13 +822,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\hmac.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ecc_fp.c</PathWithFileName>
<FilenameWithoutPath>hmac.c</FilenameWithoutPath> <FilenameWithoutPath>ecc_fp.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>36</FileNumber> <FileNumber>36</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -828,13 +838,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\integer.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\error.c</PathWithFileName>
<FilenameWithoutPath>integer.c</FilenameWithoutPath> <FilenameWithoutPath>error.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>37</FileNumber> <FileNumber>37</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -844,13 +854,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\logging.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\hc128.c</PathWithFileName>
<FilenameWithoutPath>logging.c</FilenameWithoutPath> <FilenameWithoutPath>hc128.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>38</FileNumber> <FileNumber>38</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -860,13 +870,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\md2.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\hmac.c</PathWithFileName>
<FilenameWithoutPath>md2.c</FilenameWithoutPath> <FilenameWithoutPath>hmac.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>39</FileNumber> <FileNumber>39</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -876,13 +886,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\md4.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\integer.c</PathWithFileName>
<FilenameWithoutPath>md4.c</FilenameWithoutPath> <FilenameWithoutPath>integer.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>40</FileNumber> <FileNumber>40</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -892,13 +902,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\md5.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\logging.c</PathWithFileName>
<FilenameWithoutPath>md5.c</FilenameWithoutPath> <FilenameWithoutPath>logging.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>41</FileNumber> <FileNumber>41</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -908,13 +918,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\memory.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md2.c</PathWithFileName>
<FilenameWithoutPath>memory.c</FilenameWithoutPath> <FilenameWithoutPath>md2.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>42</FileNumber> <FileNumber>42</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -924,13 +934,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\misc.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md4.c</PathWithFileName>
<FilenameWithoutPath>misc.c</FilenameWithoutPath> <FilenameWithoutPath>md4.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>43</FileNumber> <FileNumber>43</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -940,13 +950,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\port.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md5.c</PathWithFileName>
<FilenameWithoutPath>port.c</FilenameWithoutPath> <FilenameWithoutPath>md5.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>44</FileNumber> <FileNumber>44</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -956,13 +966,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\pwdbased.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\memory.c</PathWithFileName>
<FilenameWithoutPath>pwdbased.c</FilenameWithoutPath> <FilenameWithoutPath>memory.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>45</FileNumber> <FileNumber>45</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -972,13 +982,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\rabbit.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\misc.c</PathWithFileName>
<FilenameWithoutPath>rabbit.c</FilenameWithoutPath> <FilenameWithoutPath>misc.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>46</FileNumber> <FileNumber>46</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -988,13 +998,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\random.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\port.c</PathWithFileName>
<FilenameWithoutPath>random.c</FilenameWithoutPath> <FilenameWithoutPath>port.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>47</FileNumber> <FileNumber>47</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -1004,13 +1014,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\ripemd.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\pwdbased.c</PathWithFileName>
<FilenameWithoutPath>ripemd.c</FilenameWithoutPath> <FilenameWithoutPath>pwdbased.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>48</FileNumber> <FileNumber>48</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -1020,13 +1030,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\rsa.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\rabbit.c</PathWithFileName>
<FilenameWithoutPath>rsa.c</FilenameWithoutPath> <FilenameWithoutPath>rabbit.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>49</FileNumber> <FileNumber>49</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -1036,13 +1046,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\sha.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\random.c</PathWithFileName>
<FilenameWithoutPath>sha.c</FilenameWithoutPath> <FilenameWithoutPath>random.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>50</FileNumber> <FileNumber>50</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -1052,13 +1062,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\sha256.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ripemd.c</PathWithFileName>
<FilenameWithoutPath>sha256.c</FilenameWithoutPath> <FilenameWithoutPath>ripemd.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>51</FileNumber> <FileNumber>51</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -1068,13 +1078,13 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\sha512.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\rsa.c</PathWithFileName>
<FilenameWithoutPath>sha512.c</FilenameWithoutPath> <FilenameWithoutPath>rsa.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>
</File> </File>
<File> <File>
<GroupNumber>8</GroupNumber> <GroupNumber>9</GroupNumber>
<FileNumber>52</FileNumber> <FileNumber>52</FileNumber>
<FileType>1</FileType> <FileType>1</FileType>
<tvExp>0</tvExp> <tvExp>0</tvExp>
@ -1084,7 +1094,55 @@
<TopLine>0</TopLine> <TopLine>0</TopLine>
<CurrentLine>0</CurrentLine> <CurrentLine>0</CurrentLine>
<bDave2>0</bDave2> <bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\tfm.c</PathWithFileName> <PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha.c</PathWithFileName>
<FilenameWithoutPath>sha.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>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
<TopLine>0</TopLine>
<CurrentLine>0</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha256.c</PathWithFileName>
<FilenameWithoutPath>sha256.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>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
<TopLine>0</TopLine>
<CurrentLine>0</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha512.c</PathWithFileName>
<FilenameWithoutPath>sha512.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>
<ColumnNumber>0</ColumnNumber>
<tvExpOptDlg>0</tvExpOptDlg>
<TopLine>0</TopLine>
<CurrentLine>0</CurrentLine>
<bDave2>0</bDave2>
<PathWithFileName>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\tfm.c</PathWithFileName>
<FilenameWithoutPath>tfm.c</FilenameWithoutPath> <FilenameWithoutPath>tfm.c</FilenameWithoutPath>
<RteFlg>1</RteFlg> <RteFlg>1</RteFlg>
<bShared>0</bShared> <bShared>0</bShared>

View File

@ -139,6 +139,8 @@
<RestoreFunctions>0</RestoreFunctions> <RestoreFunctions>0</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox> <RestoreToolbox>1</RestoreToolbox>
<RestoreTracepoints>1</RestoreTracepoints> <RestoreTracepoints>1</RestoreTracepoints>
<RestoreTracepoints>1</RestoreTracepoints>
<RestoreTracepoints>1</RestoreTracepoints>
</Target> </Target>
<RunDebugAfterBuild>0</RunDebugAfterBuild> <RunDebugAfterBuild>0</RunDebugAfterBuild>
<TargetSelection>8</TargetSelection> <TargetSelection>8</TargetSelection>
@ -353,9 +355,11 @@
<wLevel>0</wLevel> <wLevel>0</wLevel>
<uThumb>0</uThumb> <uThumb>0</uThumb>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<uC99>0</uC99>
<useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define>HAVE_CONFIG_H MDK_CONF_Benchmark CYASSL_STM32F2xx</Define> <Define>HAVE_CONFIG_H MDK_CONF_Benchmark</Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath></IncludePath> <IncludePath></IncludePath>
</VariousControls> </VariousControls>
@ -369,6 +373,7 @@
<SwStkChk>0</SwStkChk> <SwStkChk>0</SwStkChk>
<NoWarn>0</NoWarn> <NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define></Define> <Define></Define>
@ -385,6 +390,7 @@
<useFile>0</useFile> <useFile>0</useFile>
<TextAddressRange>0x08000000</TextAddressRange> <TextAddressRange>0x08000000</TextAddressRange>
<DataAddressRange>0x20000000</DataAddressRange> <DataAddressRange>0x20000000</DataAddressRange>
<pXoBase></pXoBase>
<ScatterFile></ScatterFile> <ScatterFile></ScatterFile>
<IncludeLibs></IncludeLibs> <IncludeLibs></IncludeLibs>
<IncludeLibsPath></IncludeLibsPath> <IncludeLibsPath></IncludeLibsPath>
@ -418,6 +424,11 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath> <FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath>
</File> </File>
<File>
<FileName>settings.h</FileName>
<FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\settings.h</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -431,18 +442,33 @@
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::CMSIS</GroupName> <GroupName>Devices</GroupName>
<Files> <Files>
<File> <File>
<FileName>RTX_CM3.lib</FileName> <FileName>time-STM32F2xx.c</FileName>
<FileType>4</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\ARM\CMSIS\3.20.3\CMSIS_RTX\Lib\ARM\RTX_CM3.lib</FilePath> <FilePath>.\time-STM32F2xx.c</FilePath>
</File> </File>
<File>
<FileName>time-dummy.c</FileName>
<FileType>1</FileType>
<FilePath>.\time-dummy.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
<Files>
<File> <File>
<FileName>RTX_Conf_CM.c</FileName> <FileName>RTX_Conf_CM.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath> <FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath>
</File> </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> </Files>
</Group> </Group>
<Group> <Group>
@ -488,11 +514,6 @@
<Group> <Group>
<GroupName>::File System</GroupName> <GroupName>::File System</GroupName>
<Files> <Files>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
<File> <File>
<FileName>FS_Config.c</FileName> <FileName>FS_Config.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -503,6 +524,11 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath> <FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath>
</File> </File>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -513,185 +539,185 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>RTE\wolfSSL\config-Crypt.h</FilePath> <FilePath>RTE\wolfSSL\config-Crypt.h</FilePath>
</File> </File>
<File>
<FileName>settings.h</FileName>
<FileType>5</FileType>
<FilePath>RTE\wolfSSL\settings.h</FilePath>
</File>
<File> <File>
<FileName>cyassl_MDK_ARM.c</FileName> <FileName>cyassl_MDK_ARM.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\cyassl_MDK_ARM.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\IDE\MDK5-ARM\Src\cyassl_MDK_ARM.c</FilePath>
</File> </File>
<File> <File>
<FileName>ssl-dummy.c</FileName> <FileName>ssl-dummy.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\ssl-dummy.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\IDE\MDK5-ARM\Src\ssl-dummy.c</FilePath>
</File>
<File>
<FileName>time-STM32F2xx.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib\time-STM32F2xx.c</FilePath>
</File> </File>
<File> <File>
<FileName>aes.c</FileName> <FileName>aes.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\aes.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\aes.c</FilePath>
</File> </File>
<File> <File>
<FileName>arc4.c</FileName> <FileName>arc4.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\arc4.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\arc4.c</FilePath>
</File> </File>
<File> <File>
<FileName>asm.c</FileName> <FileName>asm.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\asm.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\asm.c</FilePath>
</File> </File>
<File> <File>
<FileName>asn.c</FileName> <FileName>asn.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\asn.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\asn.c</FilePath>
</File> </File>
<File> <File>
<FileName>blake2b.c</FileName> <FileName>blake2b.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\blake2b.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\blake2b.c</FilePath>
</File> </File>
<File> <File>
<FileName>camellia.c</FileName> <FileName>camellia.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\camellia.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\camellia.c</FilePath>
</File> </File>
<File> <File>
<FileName>coding.c</FileName> <FileName>coding.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\coding.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\coding.c</FilePath>
</File> </File>
<File> <File>
<FileName>compress.c</FileName> <FileName>compress.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\compress.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\compress.c</FilePath>
</File> </File>
<File> <File>
<FileName>des3.c</FileName> <FileName>des3.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\des3.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\des3.c</FilePath>
</File> </File>
<File> <File>
<FileName>dh.c</FileName> <FileName>dh.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\dh.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\dh.c</FilePath>
</File> </File>
<File> <File>
<FileName>dsa.c</FileName> <FileName>dsa.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\dsa.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\dsa.c</FilePath>
</File> </File>
<File> <File>
<FileName>ecc.c</FileName> <FileName>ecc.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\ecc.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ecc.c</FilePath>
</File> </File>
<File> <File>
<FileName>ecc_fp.c</FileName> <FileName>ecc_fp.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\ecc_fp.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ecc_fp.c</FilePath>
</File> </File>
<File> <File>
<FileName>error.c</FileName> <FileName>error.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\error.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\error.c</FilePath>
</File> </File>
<File> <File>
<FileName>hc128.c</FileName> <FileName>hc128.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\hc128.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\hc128.c</FilePath>
</File> </File>
<File> <File>
<FileName>hmac.c</FileName> <FileName>hmac.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\hmac.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\hmac.c</FilePath>
</File> </File>
<File> <File>
<FileName>integer.c</FileName> <FileName>integer.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\integer.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\integer.c</FilePath>
</File> </File>
<File> <File>
<FileName>logging.c</FileName> <FileName>logging.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\logging.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\logging.c</FilePath>
</File> </File>
<File> <File>
<FileName>md2.c</FileName> <FileName>md2.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\md2.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md2.c</FilePath>
</File> </File>
<File> <File>
<FileName>md4.c</FileName> <FileName>md4.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\md4.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md4.c</FilePath>
</File> </File>
<File> <File>
<FileName>md5.c</FileName> <FileName>md5.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\md5.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md5.c</FilePath>
</File> </File>
<File> <File>
<FileName>memory.c</FileName> <FileName>memory.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\memory.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\memory.c</FilePath>
</File> </File>
<File> <File>
<FileName>misc.c</FileName> <FileName>misc.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\misc.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\misc.c</FilePath>
</File> </File>
<File> <File>
<FileName>port.c</FileName> <FileName>port.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\port.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\port.c</FilePath>
</File> </File>
<File> <File>
<FileName>pwdbased.c</FileName> <FileName>pwdbased.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\pwdbased.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\pwdbased.c</FilePath>
</File> </File>
<File> <File>
<FileName>rabbit.c</FileName> <FileName>rabbit.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\rabbit.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\rabbit.c</FilePath>
</File> </File>
<File> <File>
<FileName>random.c</FileName> <FileName>random.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\random.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\random.c</FilePath>
</File> </File>
<File> <File>
<FileName>ripemd.c</FileName> <FileName>ripemd.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\ripemd.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ripemd.c</FilePath>
</File> </File>
<File> <File>
<FileName>rsa.c</FileName> <FileName>rsa.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\rsa.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\rsa.c</FilePath>
</File> </File>
<File> <File>
<FileName>sha.c</FileName> <FileName>sha.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\sha.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha.c</FilePath>
</File> </File>
<File> <File>
<FileName>sha256.c</FileName> <FileName>sha256.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\sha256.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha256.c</FilePath>
</File> </File>
<File> <File>
<FileName>sha512.c</FileName> <FileName>sha512.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\sha512.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha512.c</FilePath>
</File> </File>
<File> <File>
<FileName>tfm.c</FileName> <FileName>tfm.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\tfm.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\tfm.c</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@ -701,13 +727,13 @@
<RTE> <RTE>
<apis> <apis>
<api Cclass="CMSIS" Cgroup="RTOS" Cvendor="ARM" exclusive="0"> <api Cclass="CMSIS" Cgroup="RTOS" exclusive="0">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/> <package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</api> </api>
<api Cclass="Drivers" Cgroup="MCI" Cvendor="Keil" exclusive="0"> <api Cclass="Drivers" Cgroup="MCI" exclusive="0">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/> <package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
@ -721,20 +747,20 @@
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.73.0" condition="CMSIS Core"> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.3"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<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.4" condition="CMSIS Core with RTOS"> <component Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE" Cvariant="LFN" Cvendor="Keil" Cversion="5.0.5" condition="CMSIS Core with RTOS">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.2"/> <package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.4"/>
<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.4" condition="File System and MCI Driver" maxInstances="2"> <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" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.2"/> <package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.4"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
@ -763,20 +789,14 @@
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="Device" Csub="Timer" Cvendor="wolfSSL" Cversion="2.8.1" condition="wolfCrypt-Core"> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.0" condition="wolfCrypt-Core">
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.1"/> <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="2.9.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="2.8.1" condition="wolfCrypt-Core"> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="2.9.0" condition="wolfCrypt-Core">
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.1"/> <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="2.9.0"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="Dummy" Cvendor="wolfSSL" Cversion="2.8.1" condition="wolfCrypt-Core">
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.1"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
@ -785,8 +805,8 @@
<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">
<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.73.0" condition="CMSIS Core"/> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"/>
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.3"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptBenchmark"/> <targetInfo name="CryptBenchmark"/>
</targetInfos> </targetInfos>
@ -897,20 +917,28 @@
<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\MDK-ARM\CyaSSL\config-Crypt.h"> <file attr="config" category="header" name="cyassl\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="2.8.1" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.4" condition="wolfCrypt-Core"/>
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.1"/> <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="2.9.4"/>
<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="2.8.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.0"/>
<targetInfos/> <targetInfos/>
</file> </file>
<file attr="config" category="header" name="cyassl\cyassl\ctaocrypt\settings.h">
<instance index="0">RTE\wolfSSL\settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.4" 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="2.9.4"/>
<targetInfos>
<targetInfo name="CryptBenchmark"/>
</targetInfos>
</file>
</files> </files>
</RTE> </RTE>

View File

@ -3,7 +3,7 @@
*---------------------------------------------------------------------------- *----------------------------------------------------------------------------
* Name: RTX_Conf_CM.C * Name: RTX_Conf_CM.C
* Purpose: Configuration of CMSIS RTX Kernel for Cortex-M * Purpose: Configuration of CMSIS RTX Kernel for Cortex-M
* Rev.: V4.70 * Rev.: V4.73
*---------------------------------------------------------------------------- *----------------------------------------------------------------------------
* *
* Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH * Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH
@ -58,11 +58,11 @@
#define OS_STKSIZE 50 #define OS_STKSIZE 50
#endif #endif
// <o>Main Thread stack size [bytes] <64-10000:8><#/4> // <o>Main Thread stack size [bytes] <64-32768:8><#/4>
// <i> Defines stack size for main thread. // <i> Defines stack size for main thread.
// <i> Default: 200 // <i> Default: 200
#ifndef OS_MAINSTKSIZE #ifndef OS_MAINSTKSIZE
#define OS_MAINSTKSIZE 1500 #define OS_MAINSTKSIZE 2000
#endif #endif
// <o>Number of threads with user-provided stack size <0-250> // <o>Number of threads with user-provided stack size <0-250>
@ -72,7 +72,7 @@
#define OS_PRIVCNT 0 #define OS_PRIVCNT 0
#endif #endif
// <o>Total stack size [bytes] for threads with user-provided stack size <0-4096:8><#/4> // <o>Total stack size [bytes] for threads with user-provided stack size <0-1048576:8><#/4>
// <i> Defines the combined stack size for threads with user-provided stack size. // <i> Defines the combined stack size for threads with user-provided stack size.
// <i> Default: 0 // <i> Default: 0
#ifndef OS_PRIVSTKSIZE #ifndef OS_PRIVSTKSIZE
@ -256,11 +256,30 @@ void os_tick_irqack (void) {
/*--------------------------- os_error --------------------------------------*/ /*--------------------------- os_error --------------------------------------*/
void os_error (uint32_t err_code) { /* OS Error Codes */
/* This function is called when a runtime error is detected. Parameter */ #define OS_ERROR_STACK_OVF 1
/* 'err_code' holds the runtime error code (defined in RTL.H). */ #define OS_ERROR_FIFO_OVF 2
#define OS_ERROR_MBX_OVF 3
extern osThreadId svcThreadGetId (void);
void os_error (uint32_t error_code) {
/* This function is called when a runtime error is detected. */
/* Parameter 'error_code' holds the runtime error code. */
/* HERE: include optional code to be executed on runtime error. */ /* HERE: include optional code to be executed on runtime error. */
switch (error_code) {
case OS_ERROR_STACK_OVF:
/* Stack overflow detected for the currently running task. */
/* Thread can be identified by calling svcThreadGetId(). */
break;
case OS_ERROR_FIFO_OVF:
/* ISR FIFO Queue buffer overflow detected. */
break;
case OS_ERROR_MBX_OVF:
/* Mailbox overflow detected. */
break;
}
for (;;); for (;;);
} }

View File

@ -0,0 +1,185 @@
/* config-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
// <<< Use Configuration Wizard in Context Menu >>>
// <h> wolfCrypt Configuration
// <h>Cert/Key Strage
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
#define MDK_CONF_CERT_BUFF 0
#if MDK_CONF_CERT_BUFF== 1
#define USE_CERT_BUFFERS_1024
#elif MDK_CONF_CERT_BUFF == 2
#define USE_CERT_BUFFERS_2048
#endif
//</h>
// <h>Crypt Algrithm
// <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
// </h>
// <e>MD2
#define MDK_CONF_MD2 0
#if MDK_CONF_MD2 == 1
#define CYASSL_MD2
#endif
// </e>
// <e>MD4
#define MDK_CONF_MD4 1
#if MDK_CONF_MD4 == 0
#define NO_MD4
#endif
// </e>
// <e>SHA-384
// <i>This has to be with SHA512
#define MDK_CONF_SHA384 0
#if MDK_CONF_SHA384 == 1
#define CYASSL_SHA384
#endif
// </e>
// <e>SHA-512
#define MDK_CONF_SHA512 0
#if MDK_CONF_SHA512 == 1
#define CYASSL_SHA512
#endif
// </e>
// <e>RIPEMD
#define MDK_CONF_RIPEMD 0
#if MDK_CONF_RIPEMD == 1
#define CYASSL_RIPEMD
#endif
// </e>
// <e>HMAC
#define MDK_CONF_HMAC 1
#if MDK_CONF_HMAC == 0
#define NO_HMAC
#endif
// </e>
// <e>HC128
#define MDK_CONF_HC128 0
#if MDK_CONF_HC128 == 1
#define HAVE_HC128
#endif
// </e>
// <e>RABBIT
#define MDK_CONF_RABBIT 1
#if MDK_CONF_RABBI == 0
#define NO_RABBIT
#endif
// </e>
// <e>AEAD
#define MDK_CONF_AEAD 0
#if MDK_CONF_AEAD == 1
#define HAVE_AEAD
#endif
// </e>
// <e>DES3
#define MDK_CONF_DES3 1
#if MDK_CONF_DES3 == 0
#define NO_DES3
#endif
// </e>
// <e>CAMELLIA
#define MDK_CONF_CAMELLIA 0
#if MDK_CONF_CAMELLIA == 1
#define HAVE_CAMELLIA
#endif
// </e>
// <e>DH
// <i>need this for CYASSL_SERVER, OPENSSL_EXTRA
#define MDK_CONF_DH 1
#if MDK_CONF_DH == 0
#define NO_DH
#endif
// </e>
// <e>DSA
#define MDK_CONF_DSA 1
#if MDK_CONF_DSA == 0
#define NO_DSA
#endif
// </e>
// <e>PWDBASED
#define MDK_CONF_PWDBASED 1
#if MDK_CONF_PWDBASED == 0
#define NO_PWDBASED
#endif
// </e>
// <e>ECC
#define MDK_CONF_ECC 0
#if MDK_CONF_ECC == 1
#define HAVE_ECC
#endif
// </e>
// <e>PSK
#define MDK_CONF_PSK 1
#if MDK_CONF_PSK == 0
#define NO_PSK
#endif
// </e>
// <e>AESCCM (Turn off Hardware Crypt)
#define MDK_CONF_AESCCM 0
#if MDK_CONF_AESCCM == 1
#define HAVE_AESCCM
#endif
// </e>
// <e>AESGCM (Turn off Hardware Crypt)
#define MDK_CONF_AESGCM 0
#if MDK_CONF_AESGCM == 1
#define HAVE_AESGCM
#define BUILD_AESGCM
#endif
// </e>
// <e>NTRU (need License, "crypto_ntru.h")
#define MDK_CONF_NTRU 0
#if MDK_CONF_NTRU == 1
#define HAVE_NTRU
#endif
// </e>
// </h>
// <h>Hardware Crypt (See document for usage)
// <e>Hardware RNG
#define MDK_CONF_STM32F2_RNG 0
#if MDK_CONF_STM32F2_RNG == 1
#define STM32F2_RNG
#else
#endif
// </e>
// <e>Hardware Crypt
#define MDK_CONF_STM32F2_CRYPTO 0
#if MDK_CONF_STM32F2_CRYPTO == 1
#define STM32F2_CRYPTO
#endif
// </e>
// </h>
//</h>
// <<< end of configuration section >>>

View File

@ -0,0 +1,667 @@
/* settings.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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 */

View File

@ -85,6 +85,7 @@ void bench_rabbit(void);
void bench_aes(int); void bench_aes(int);
void bench_aesgcm(void); void bench_aesgcm(void);
void bench_aesccm(void); void bench_aesccm(void);
void bench_aesctr(void);
void bench_camellia(void); void bench_camellia(void);
void bench_md5(void); void bench_md5(void);
@ -155,6 +156,11 @@ int benchmark_test(void *args)
#ifdef HAVE_AESGCM #ifdef HAVE_AESGCM
bench_aesgcm(); bench_aesgcm();
#endif #endif
#ifdef CYASSL_AES_COUNTER
bench_aesctr();
#endif
#ifdef HAVE_AESCCM #ifdef HAVE_AESCCM
bench_aesccm(); bench_aesccm();
#endif #endif
@ -219,23 +225,31 @@ int benchmark_test(void *args)
#ifdef BENCH_EMBEDDED #ifdef BENCH_EMBEDDED
const int numBlocks = 25; /* how many kB/megs to test (en/de)cryption */ enum BenchmarkBounds {
const char blockType[] = "kB"; /* used in printf output */ numBlocks = 25, /* how many kB to test (en/de)cryption */
const int times = 1; /* public key iterations */ ntimes = 1,
genTimes = 5, /* public key iterations */
agreeTimes = 5
};
static const char blockType[] = "kB"; /* used in printf output */
#else #else
const int numBlocks = 5; enum BenchmarkBounds {
const char blockType[] = "megs"; numBlocks = 5, /* how many megs to test (en/de)cryption */
const int times = 100; ntimes = 100,
genTimes = 100,
agreeTimes = 100
};
static const char blockType[] = "megs"; /* used in printf output */
#endif #endif
const byte key[] = static const byte key[] =
{ {
0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef, 0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef,
0xfe,0xde,0xba,0x98,0x76,0x54,0x32,0x10, 0xfe,0xde,0xba,0x98,0x76,0x54,0x32,0x10,
0x89,0xab,0xcd,0xef,0x01,0x23,0x45,0x67 0x89,0xab,0xcd,0xef,0x01,0x23,0x45,0x67
}; };
const byte iv[] = static const byte iv[] =
{ {
0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef, 0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
@ -246,11 +260,11 @@ const byte iv[] =
/* use kB instead of mB for embedded benchmarking */ /* use kB instead of mB for embedded benchmarking */
#ifdef BENCH_EMBEDDED #ifdef BENCH_EMBEDDED
byte plain [1024]; static byte plain [1024];
byte cipher[1024]; static byte cipher[1024];
#else #else
byte plain [1024*1024]; static byte plain [1024*1024];
byte cipher[1024*1024]; static byte cipher[1024*1024];
#endif #endif
@ -260,13 +274,20 @@ void bench_aes(int show)
Aes enc; Aes enc;
double start, total, persec; double start, total, persec;
int i; int i;
int ret;
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
if (AesInitCavium(&enc, CAVIUM_DEV_ID) != 0) if (AesInitCavium(&enc, CAVIUM_DEV_ID) != 0) {
printf("aes init cavium failed\n"); printf("aes init cavium failed\n");
return;
}
#endif #endif
AesSetKey(&enc, key, 16, iv, AES_ENCRYPTION); ret = AesSetKey(&enc, key, 16, iv, AES_ENCRYPTION);
if (ret != 0) {
printf("AesSetKey failed, ret = %d\n", ret);
return;
}
start = current_time(1); start = current_time(1);
for(i = 0; i < numBlocks; i++) for(i = 0; i < numBlocks; i++)
@ -281,7 +302,7 @@ void bench_aes(int show)
#endif #endif
if (show) if (show)
printf("AES %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("AES %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
AesFreeCavium(&enc); AesFreeCavium(&enc);
@ -290,8 +311,10 @@ void bench_aes(int show)
#endif #endif
byte additional[13]; #if defined(HAVE_AESGCM) || defined(HAVE_AESCCM)
byte tag[16]; static byte additional[13];
static byte tag[16];
#endif
#ifdef HAVE_AESGCM #ifdef HAVE_AESGCM
@ -316,11 +339,38 @@ void bench_aesgcm(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("AES-GCM %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("AES-GCM %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif
#ifdef CYASSL_AES_COUNTER
void bench_aesctr(void)
{
Aes enc;
double start, total, persec;
int i;
AesSetKeyDirect(&enc, key, AES_BLOCK_SIZE, iv, AES_ENCRYPTION);
start = current_time(1);
for(i = 0; i < numBlocks; i++)
AesCtrEncrypt(&enc, plain, cipher, sizeof(plain));
total = current_time(0) - start;
persec = 1 / total * numBlocks;
#ifdef BENCH_EMBEDDED
/* since using kB, convert to MB/s */
persec = persec / 1024;
#endif
printf("AES-CTR %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec);
}
#endif
#ifdef HAVE_AESCCM #ifdef HAVE_AESCCM
void bench_aesccm(void) void bench_aesccm(void)
@ -344,7 +394,7 @@ void bench_aesccm(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("AES-CCM %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("AES-CCM %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif
@ -371,7 +421,7 @@ void bench_camellia(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("Camellia %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("Camellia %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif
@ -382,13 +432,17 @@ void bench_des(void)
{ {
Des3 enc; Des3 enc;
double start, total, persec; double start, total, persec;
int i; int i, ret;
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
if (Des3_InitCavium(&enc, CAVIUM_DEV_ID) != 0) if (Des3_InitCavium(&enc, CAVIUM_DEV_ID) != 0)
printf("des3 init cavium failed\n"); printf("des3 init cavium failed\n");
#endif #endif
Des3_SetKey(&enc, key, iv, DES_ENCRYPTION); ret = Des3_SetKey(&enc, key, iv, DES_ENCRYPTION);
if (ret != 0) {
printf("Des3_SetKey failed, ret = %d\n", ret);
return;
}
start = current_time(1); start = current_time(1);
for(i = 0; i < numBlocks; i++) for(i = 0; i < numBlocks; i++)
@ -402,7 +456,7 @@ void bench_des(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("3DES %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("3DES %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
Des3_FreeCavium(&enc); Des3_FreeCavium(&enc);
@ -436,7 +490,7 @@ void bench_arc4(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("ARC4 %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("ARC4 %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
Arc4FreeCavium(&enc); Arc4FreeCavium(&enc);
@ -465,7 +519,7 @@ void bench_hc128(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("HC128 %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("HC128 %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif /* HAVE_HC128 */ #endif /* HAVE_HC128 */
@ -491,7 +545,7 @@ void bench_rabbit(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("RABBIT %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("RABBIT %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif /* NO_RABBIT */ #endif /* NO_RABBIT */
@ -520,7 +574,7 @@ void bench_md5(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("MD5 %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("MD5 %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif /* NO_MD5 */ #endif /* NO_MD5 */
@ -532,9 +586,13 @@ void bench_sha(void)
Sha hash; Sha hash;
byte digest[SHA_DIGEST_SIZE]; byte digest[SHA_DIGEST_SIZE];
double start, total, persec; double start, total, persec;
int i; int i, ret;
InitSha(&hash); ret = InitSha(&hash);
if (ret != 0) {
printf("InitSha failed, ret = %d\n", ret);
return;
}
start = current_time(1); start = current_time(1);
for(i = 0; i < numBlocks; i++) for(i = 0; i < numBlocks; i++)
@ -549,7 +607,7 @@ void bench_sha(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("SHA %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("SHA %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif /* NO_SHA */ #endif /* NO_SHA */
@ -562,8 +620,13 @@ void bench_sha256(void)
byte digest[SHA256_DIGEST_SIZE]; byte digest[SHA256_DIGEST_SIZE];
double start, total, persec; double start, total, persec;
int i; int i;
int ret;
InitSha256(&hash); ret = InitSha256(&hash);
if (ret != 0) {
printf("InitSha256 failed, ret = %d\n", ret);
return;
}
start = current_time(1); start = current_time(1);
for(i = 0; i < numBlocks; i++) for(i = 0; i < numBlocks; i++)
@ -578,7 +641,7 @@ void bench_sha256(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("SHA-256 %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("SHA-256 %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif
@ -589,9 +652,13 @@ void bench_sha512(void)
Sha512 hash; Sha512 hash;
byte digest[SHA512_DIGEST_SIZE]; byte digest[SHA512_DIGEST_SIZE];
double start, total, persec; double start, total, persec;
int i; int i, ret;
InitSha512(&hash); ret = InitSha512(&hash);
if (ret != 0) {
printf("InitSha512 failed, ret = %d\n", ret);
return;
}
start = current_time(1); start = current_time(1);
for(i = 0; i < numBlocks; i++) for(i = 0; i < numBlocks; i++)
@ -606,7 +673,7 @@ void bench_sha512(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("SHA-512 %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("SHA-512 %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif
@ -634,7 +701,7 @@ void bench_ripemd(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("RIPEMD %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("RIPEMD %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif
@ -663,7 +730,7 @@ void bench_blake2(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("BLAKE2b %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("BLAKE2b %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif
@ -671,7 +738,7 @@ void bench_blake2(void)
#if !defined(NO_RSA) || !defined(NO_DH) \ #if !defined(NO_RSA) || !defined(NO_DH) \
|| defined(CYASSL_KEYGEN) || defined(HAVE_ECC) || defined(CYASSL_KEYGEN) || defined(HAVE_ECC)
RNG rng; static RNG rng;
#endif #endif
#ifndef NO_RSA #ifndef NO_RSA
@ -680,7 +747,7 @@ RNG rng;
#if !defined(USE_CERT_BUFFERS_1024) && !defined(USE_CERT_BUFFERS_2048) && \ #if !defined(USE_CERT_BUFFERS_1024) && !defined(USE_CERT_BUFFERS_2048) && \
defined(CYASSL_MDK_SHELL) defined(CYASSL_MDK_SHELL)
static char *certRSAname = "certs/rsa2048.der" ; static char *certRSAname = "certs/rsa2048.der" ;
void set_Bench_RSA_File(char * cert) { certRSAname = cert ; } static void set_Bench_RSA_File(char * cert) { certRSAname = cert ; }
/* set by shell command */ /* set by shell command */
#elif defined(CYASSL_MDK_SHELL) #elif defined(CYASSL_MDK_SHELL)
/* nothing */ /* nothing */
@ -733,20 +800,24 @@ void bench_rsa(void)
printf("InitRNG failed\n"); printf("InitRNG failed\n");
return; return;
} }
InitRsaKey(&rsaKey, 0); ret = InitRsaKey(&rsaKey, 0);
if (ret < 0) {
printf("InitRsaKey failed\n");
return;
}
ret = RsaPrivateKeyDecode(tmp, &idx, &rsaKey, (word32)bytes); ret = RsaPrivateKeyDecode(tmp, &idx, &rsaKey, (word32)bytes);
start = current_time(1); start = current_time(1);
for (i = 0; i < times; i++) for (i = 0; i < ntimes; i++)
ret = RsaPublicEncrypt(message,len,enc,sizeof(enc), &rsaKey, &rng); ret = RsaPublicEncrypt(message,len,enc,sizeof(enc), &rsaKey, &rng);
total = current_time(0) - start; total = current_time(0) - start;
each = total / times; /* per second */ each = total / ntimes; /* per second */
milliEach = each * 1000; /* milliseconds */ milliEach = each * 1000; /* milliseconds */
printf("RSA %d encryption took %6.2f milliseconds, avg over %d" printf("RSA %d encryption took %6.3f milliseconds, avg over %d"
" iterations\n", rsaKeySz, milliEach, times); " iterations\n", rsaKeySz, milliEach, ntimes);
if (ret < 0) { if (ret < 0) {
printf("Rsa Public Encrypt failed\n"); printf("Rsa Public Encrypt failed\n");
@ -755,17 +826,17 @@ void bench_rsa(void)
start = current_time(1); start = current_time(1);
for (i = 0; i < times; i++) { for (i = 0; i < ntimes; i++) {
byte out[512]; /* for up to 4096 bit */ byte out[512]; /* for up to 4096 bit */
RsaPrivateDecrypt(enc, (word32)ret, out, sizeof(out), &rsaKey); RsaPrivateDecrypt(enc, (word32)ret, out, sizeof(out), &rsaKey);
} }
total = current_time(0) - start; total = current_time(0) - start;
each = total / times; /* per second */ each = total / ntimes; /* per second */
milliEach = each * 1000; /* milliseconds */ milliEach = each * 1000; /* milliseconds */
printf("RSA %d decryption took %6.2f milliseconds, avg over %d" printf("RSA %d decryption took %6.3f milliseconds, avg over %d"
" iterations\n", rsaKeySz, milliEach, times); " iterations\n", rsaKeySz, milliEach, ntimes);
FreeRsaKey(&rsaKey); FreeRsaKey(&rsaKey);
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
@ -794,7 +865,7 @@ void bench_dh(void)
int i, ret; int i, ret;
byte tmp[1024]; byte tmp[1024];
size_t bytes; size_t bytes;
word32 idx = 0, pubSz, privSz, pubSz2, privSz2, agreeSz; word32 idx = 0, pubSz, privSz = 0, pubSz2, privSz2, agreeSz;
byte pub[256]; /* for 2048 bit */ byte pub[256]; /* for 2048 bit */
byte priv[256]; /* for 2048 bit */ byte priv[256]; /* for 2048 bit */
@ -843,28 +914,28 @@ void bench_dh(void)
start = current_time(1); start = current_time(1);
for (i = 0; i < times; i++) for (i = 0; i < ntimes; i++)
DhGenerateKeyPair(&dhKey, &rng, priv, &privSz, pub, &pubSz); DhGenerateKeyPair(&dhKey, &rng, priv, &privSz, pub, &pubSz);
total = current_time(0) - start; total = current_time(0) - start;
each = total / times; /* per second */ each = total / ntimes; /* per second */
milliEach = each * 1000; /* milliseconds */ milliEach = each * 1000; /* milliseconds */
printf("DH %d key generation %6.2f milliseconds, avg over %d" printf("DH %d key generation %6.3f milliseconds, avg over %d"
" iterations\n", dhKeySz, milliEach, times); " iterations\n", dhKeySz, milliEach, ntimes);
DhGenerateKeyPair(&dhKey, &rng, priv2, &privSz2, pub2, &pubSz2); DhGenerateKeyPair(&dhKey, &rng, priv2, &privSz2, pub2, &pubSz2);
start = current_time(1); start = current_time(1);
for (i = 0; i < times; i++) for (i = 0; i < ntimes; i++)
DhAgree(&dhKey, agree, &agreeSz, priv, privSz, pub2, pubSz2); DhAgree(&dhKey, agree, &agreeSz, priv, privSz, pub2, pubSz2);
total = current_time(0) - start; total = current_time(0) - start;
each = total / times; /* per second */ each = total / ntimes; /* per second */
milliEach = each * 1000; /* milliseconds */ milliEach = each * 1000; /* milliseconds */
printf("DH %d key agreement %6.2f milliseconds, avg over %d" printf("DH %d key agreement %6.3f milliseconds, avg over %d"
" iterations\n", dhKeySz, milliEach, times); " iterations\n", dhKeySz, milliEach, ntimes);
#if !defined(USE_CERT_BUFFERS_1024) && !defined(USE_CERT_BUFFERS_2048) #if !defined(USE_CERT_BUFFERS_1024) && !defined(USE_CERT_BUFFERS_2048)
fclose(file); fclose(file);
@ -879,7 +950,6 @@ void bench_rsaKeyGen(void)
RsaKey genKey; RsaKey genKey;
double start, total, each, milliEach; double start, total, each, milliEach;
int i; int i;
const int genTimes = 5;
/* 1024 bit */ /* 1024 bit */
start = current_time(1); start = current_time(1);
@ -894,7 +964,7 @@ void bench_rsaKeyGen(void)
each = total / genTimes; /* per second */ each = total / genTimes; /* per second */
milliEach = each * 1000; /* millisconds */ milliEach = each * 1000; /* millisconds */
printf("\n"); printf("\n");
printf("RSA 1024 key generation %6.2f milliseconds, avg over %d" printf("RSA 1024 key generation %6.3f milliseconds, avg over %d"
" iterations\n", milliEach, genTimes); " iterations\n", milliEach, genTimes);
/* 2048 bit */ /* 2048 bit */
@ -909,7 +979,7 @@ void bench_rsaKeyGen(void)
total = current_time(0) - start; total = current_time(0) - start;
each = total / genTimes; /* per second */ each = total / genTimes; /* per second */
milliEach = each * 1000; /* millisconds */ milliEach = each * 1000; /* millisconds */
printf("RSA 2048 key generation %6.2f milliseconds, avg over %d" printf("RSA 2048 key generation %6.3f milliseconds, avg over %d"
" iterations\n", milliEach, genTimes); " iterations\n", milliEach, genTimes);
} }
#endif /* CYASSL_KEY_GEN */ #endif /* CYASSL_KEY_GEN */
@ -920,7 +990,6 @@ void bench_eccKeyGen(void)
ecc_key genKey; ecc_key genKey;
double start, total, each, milliEach; double start, total, each, milliEach;
int i, ret; int i, ret;
const int genTimes = 5;
ret = InitRng(&rng); ret = InitRng(&rng);
if (ret < 0) { if (ret < 0) {
@ -939,7 +1008,7 @@ void bench_eccKeyGen(void)
each = total / genTimes; /* per second */ each = total / genTimes; /* per second */
milliEach = each * 1000; /* millisconds */ milliEach = each * 1000; /* millisconds */
printf("\n"); printf("\n");
printf("ECC 256 key generation %6.2f milliseconds, avg over %d" printf("ECC 256 key generation %6.3f milliseconds, avg over %d"
" iterations\n", milliEach, genTimes); " iterations\n", milliEach, genTimes);
} }
@ -949,11 +1018,10 @@ void bench_eccKeyAgree(void)
ecc_key genKey, genKey2; ecc_key genKey, genKey2;
double start, total, each, milliEach; double start, total, each, milliEach;
int i, ret; int i, ret;
const int agreeTimes = 5;
byte shared[1024]; byte shared[1024];
byte sig[1024]; byte sig[1024];
byte digest[32]; byte digest[32];
word32 x; word32 x = 0;
ecc_init(&genKey); ecc_init(&genKey);
ecc_init(&genKey2); ecc_init(&genKey2);
@ -990,12 +1058,12 @@ void bench_eccKeyAgree(void)
total = current_time(0) - start; total = current_time(0) - start;
each = total / agreeTimes; /* per second */ each = total / agreeTimes; /* per second */
milliEach = each * 1000; /* millisconds */ milliEach = each * 1000; /* millisconds */
printf("EC-DHE key agreement %6.2f milliseconds, avg over %d" printf("EC-DHE key agreement %6.3f milliseconds, avg over %d"
" iterations\n", milliEach, agreeTimes); " iterations\n", milliEach, agreeTimes);
/* make dummy digest */ /* make dummy digest */
for (i = 0; i < (int)sizeof(digest); i++) for (i = 0; i < (int)sizeof(digest); i++)
digest[i] = i; digest[i] = (byte)i;
start = current_time(1); start = current_time(1);
@ -1012,7 +1080,7 @@ void bench_eccKeyAgree(void)
total = current_time(0) - start; total = current_time(0) - start;
each = total / agreeTimes; /* per second */ each = total / agreeTimes; /* per second */
milliEach = each * 1000; /* millisconds */ milliEach = each * 1000; /* millisconds */
printf("EC-DSA sign time %6.2f milliseconds, avg over %d" printf("EC-DSA sign time %6.3f milliseconds, avg over %d"
" iterations\n", milliEach, agreeTimes); " iterations\n", milliEach, agreeTimes);
start = current_time(1); start = current_time(1);
@ -1029,7 +1097,7 @@ void bench_eccKeyAgree(void)
total = current_time(0) - start; total = current_time(0) - start;
each = total / agreeTimes; /* per second */ each = total / agreeTimes; /* per second */
milliEach = each * 1000; /* millisconds */ milliEach = each * 1000; /* millisconds */
printf("EC-DSA verify time %6.2f milliseconds, avg over %d" printf("EC-DSA verify time %6.3f milliseconds, avg over %d"
" iterations\n", milliEach, agreeTimes); " iterations\n", milliEach, agreeTimes);
ecc_free(&genKey2); ecc_free(&genKey2);
@ -1045,13 +1113,13 @@ void bench_eccKeyAgree(void)
double current_time(int reset) double current_time(int reset)
{ {
(void)reset;
static int init = 0; static int init = 0;
static LARGE_INTEGER freq; static LARGE_INTEGER freq;
LARGE_INTEGER count; LARGE_INTEGER count;
(void)reset;
if (!init) { if (!init) {
QueryPerformanceFrequency(&freq); QueryPerformanceFrequency(&freq);
init = 1; init = 1;
@ -1063,44 +1131,58 @@ void bench_eccKeyAgree(void)
} }
#elif defined MICROCHIP_PIC32 #elif defined MICROCHIP_PIC32
#if defined(CYASSL_MICROCHIP_PIC32MZ)
#include <peripheral/timer.h> #define CLOCK 8000000.0
#else
#include <peripheral/timer.h>
#define CLOCK 4000000.0
#endif
double current_time(int reset) double current_time(int reset)
{ {
/* NOTE: core timer tick rate = 40 Mhz, 1 tick = 25 ns */
unsigned int ns; unsigned int ns;
/* should we reset our timer back to zero? Helps prevent timer
rollover */
if (reset) { if (reset) {
WriteCoreTimer(0); WriteCoreTimer(0);
} }
/* get timer in ns */ /* get timer in ns */
ns = ReadCoreTimer() * 25; ns = ReadCoreTimer();
/* return seconds as a double */ /* return seconds as a double */
return ( ns / 1000000000.0 ); return ( ns / CLOCK * 2.0);
} }
#elif defined CYASSL_MDK_ARM #elif defined CYASSL_MDK_ARM
extern double current_time(int reset) ; extern double current_time(int reset) ;
#elif defined FREERTOS
double current_time(int reset)
{
(void) reset;
portTickType tickCount;
/* tick count == ms, if configTICK_RATE_HZ is set to 1000 */
tickCount = xTaskGetTickCount();
return (double)tickCount / 1000;
}
#else #else
#include <sys/time.h> #include <sys/time.h>
double current_time(int reset) double current_time(int reset)
{ {
(void) reset;
struct timeval tv; struct timeval tv;
(void)reset;
gettimeofday(&tv, 0); gettimeofday(&tv, 0);
return (double)tv.tv_sec + (double)tv.tv_usec / 1000000; return (double)tv.tv_sec + (double)tv.tv_usec / 1000000;
} }
#endif /* _WIN32 */ #endif /* _WIN32 */

View File

@ -62,8 +62,9 @@ int main()
{ {
void * arg = NULL ; void * arg = NULL ;
init_time() ;
init_filesystem (); init_filesystem ();
init_time() ;
printf("=== Start: Crypt Benchmark ===\n") ; printf("=== Start: Crypt Benchmark ===\n") ;
benchmark_test(arg) ; benchmark_test(arg) ;
printf("=== End: Crypt Benchmark ===\n") ; printf("=== End: Crypt Benchmark ===\n") ;

View File

@ -0,0 +1,82 @@
/* time-STM32F2.c
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "time.h"
#define PERIPH_BASE ((uint32_t)0x40000000)
/*-----------------------------------------------------------------------------
* initialize RTC
*----------------------------------------------------------------------------*/
#include "stm32f2xx.h"
#define assert_param(a)
#if 0
#define RTC_RSF_MASK ((uint32_t)0xFFFFFF5F)
#define SYNCHRO_TIMEOUT ((uint32_t) 0x00008000)
#define Bcd2ToByte(v) \
((((uint8_t)(v & (uint8_t)0xF0) >> (uint8_t)0x4) * 10) + (v & (uint8_t)0x0F))
#define RTC_TR_RESERVED_MASK ((uint32_t)0x007F7F7F)
#define RTC_TR_MNT ((uint32_t)0x00007000)
#define RTC_TR_MNU ((uint32_t)0x00000F00)
#define PWR_OFFSET (PWR_BASE - PERIPH_BASE)
#define CR_OFFSET (PWR_OFFSET + 0x00)
#define DBP_BitNumber 0x08
#define CR_DBP_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (DBP_BitNumber * 4))
#define RTC_INIT_MASK ((uint32_t)0xFFFFFFFF)
#define INITMODE_TIMEOUT ((uint32_t) 0x00010000)
#endif
/*-----------------------------------------------------------------------------
* initialize TIM
*----------------------------------------------------------------------------*/
#define RCC_APB1Periph_TIM2 ((uint32_t)0x00000001)
void init_time(void)
{
uint16_t tmpcr1 = 0;
((uint32_t *)RCC)[0x10] |= RCC_APB1Periph_TIM2 ;
tmpcr1 = TIM2->CR1 ;
tmpcr1 &= (uint16_t) (~(((uint16_t)0x0010) | ((uint16_t)0x0060) ));
/* CR1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS) */
tmpcr1 |= (uint16_t)0x0000 ; /* CR1 |= TIM_CounterMode_Up */
TIM2->CR1= tmpcr1 ;
TIM2->ARR = 0xffffffff ; /* ARR= TIM_Period */
TIM2->PSC = 60 ; /* PSC = TIM_Prescaler */
TIM2->EGR = ((uint16_t)0x0001) ; /* EGR = TIM_PSCReloadMode_Immediate */
*(uint16_t *)(PERIPH_BASE+0x0) |=((uint16_t)0x0001) ;
/* TIM_Cmd(TIM2, ENABLE) ; */
}
double current_time()
{
return ((double)TIM2->CNT/1000000.0) ;
}

View File

@ -0,0 +1,34 @@
/* time-dummy.c.c
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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 ; }

View File

@ -1,9 +1,9 @@
This program is a simple test suite of wolfCrypt library. This program is a simple test suite of wolfCrypt library.
In order to run this test suite, copy In order to run this test suite, copy
{PACK}\wolfSSL\CyaSSL\2.8.0\cyassl\certs folder and files to the SD memory. {PACK}\wolfSSL\CyaSSL\{version}\cyassl\certs folder and files to the SD memory.
For test configuration, refer config-Crypt.h. For selecting test crypt algorism options, refer config-Crypt.h.
For the hardware crypt on config-Crypt.h, download For the hardware crypt on config-Crypt.h, download
STSW-STM32062: STM32F2xx standard peripherals library at STSW-STM32062: STM32F2xx standard peripherals library at

File diff suppressed because it is too large Load Diff

View File

@ -139,6 +139,8 @@
<RestoreFunctions>0</RestoreFunctions> <RestoreFunctions>0</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox> <RestoreToolbox>1</RestoreToolbox>
<RestoreTracepoints>1</RestoreTracepoints> <RestoreTracepoints>1</RestoreTracepoints>
<RestoreTracepoints>1</RestoreTracepoints>
<RestoreTracepoints>1</RestoreTracepoints>
</Target> </Target>
<RunDebugAfterBuild>0</RunDebugAfterBuild> <RunDebugAfterBuild>0</RunDebugAfterBuild>
<TargetSelection>8</TargetSelection> <TargetSelection>8</TargetSelection>
@ -353,9 +355,11 @@
<wLevel>0</wLevel> <wLevel>0</wLevel>
<uThumb>0</uThumb> <uThumb>0</uThumb>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<uC99>0</uC99>
<useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define>HAVE_CONFIG_H MDK_CONF_CryptTest CYASSL_STM32F2xx __DBG_ITM</Define> <Define>HAVE_CONFIG_H MDK_CONF_CryptTest</Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath></IncludePath> <IncludePath></IncludePath>
</VariousControls> </VariousControls>
@ -369,6 +373,7 @@
<SwStkChk>0</SwStkChk> <SwStkChk>0</SwStkChk>
<NoWarn>0</NoWarn> <NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define></Define> <Define></Define>
@ -385,6 +390,7 @@
<useFile>0</useFile> <useFile>0</useFile>
<TextAddressRange>0x08000000</TextAddressRange> <TextAddressRange>0x08000000</TextAddressRange>
<DataAddressRange>0x20000000</DataAddressRange> <DataAddressRange>0x20000000</DataAddressRange>
<pXoBase></pXoBase>
<ScatterFile></ScatterFile> <ScatterFile></ScatterFile>
<IncludeLibs></IncludeLibs> <IncludeLibs></IncludeLibs>
<IncludeLibsPath></IncludeLibsPath> <IncludeLibsPath></IncludeLibsPath>
@ -418,6 +424,11 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath> <FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath>
</File> </File>
<File>
<FileName>settings.h</FileName>
<FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\settings.h</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -433,16 +444,16 @@
<Group> <Group>
<GroupName>::CMSIS</GroupName> <GroupName>::CMSIS</GroupName>
<Files> <Files>
<File>
<FileName>RTX_CM3.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\ARM\CMSIS\3.20.3\CMSIS_RTX\Lib\ARM\RTX_CM3.lib</FilePath>
</File>
<File> <File>
<FileName>RTX_Conf_CM.c</FileName> <FileName>RTX_Conf_CM.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath> <FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath>
</File> </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> </Files>
</Group> </Group>
<Group> <Group>
@ -488,11 +499,6 @@
<Group> <Group>
<GroupName>::File System</GroupName> <GroupName>::File System</GroupName>
<Files> <Files>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
<File> <File>
<FileName>FS_Config.c</FileName> <FileName>FS_Config.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -503,195 +509,205 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath> <FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath>
</File> </File>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::wolfSSL</GroupName> <GroupName>::wolfSSL</GroupName>
<Files> <Files>
<File>
<FileName>cyassl_MDK_ARM.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\cyassl_MDK_ARM.c</FilePath>
</File>
<File>
<FileName>ssl-dummy.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\ssl-dummy.c</FilePath>
</File>
<File>
<FileName>time-STM32F2xx.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib\time-STM32F2xx.c</FilePath>
</File>
<File>
<FileName>aes.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\aes.c</FilePath>
</File>
<File>
<FileName>arc4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\arc4.c</FilePath>
</File>
<File>
<FileName>asm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\asm.c</FilePath>
</File>
<File>
<FileName>asn.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\asn.c</FilePath>
</File>
<File>
<FileName>blake2b.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\blake2b.c</FilePath>
</File>
<File>
<FileName>camellia.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\camellia.c</FilePath>
</File>
<File>
<FileName>coding.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\coding.c</FilePath>
</File>
<File>
<FileName>compress.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\compress.c</FilePath>
</File>
<File>
<FileName>des3.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\des3.c</FilePath>
</File>
<File>
<FileName>dh.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\dh.c</FilePath>
</File>
<File>
<FileName>dsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\dsa.c</FilePath>
</File>
<File>
<FileName>ecc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ecc.c</FilePath>
</File>
<File>
<FileName>ecc_fp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ecc_fp.c</FilePath>
</File>
<File>
<FileName>error.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\error.c</FilePath>
</File>
<File>
<FileName>hc128.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\hc128.c</FilePath>
</File>
<File>
<FileName>hmac.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\hmac.c</FilePath>
</File>
<File>
<FileName>integer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\integer.c</FilePath>
</File>
<File>
<FileName>logging.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\logging.c</FilePath>
</File>
<File>
<FileName>md2.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md2.c</FilePath>
</File>
<File>
<FileName>md4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md4.c</FilePath>
</File>
<File>
<FileName>md5.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md5.c</FilePath>
</File>
<File>
<FileName>memory.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\memory.c</FilePath>
</File>
<File>
<FileName>misc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\misc.c</FilePath>
</File>
<File>
<FileName>pwdbased.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\pwdbased.c</FilePath>
</File>
<File>
<FileName>rabbit.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\rabbit.c</FilePath>
</File>
<File>
<FileName>random.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\random.c</FilePath>
</File>
<File>
<FileName>ripemd.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ripemd.c</FilePath>
</File>
<File>
<FileName>rsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\rsa.c</FilePath>
</File>
<File>
<FileName>sha.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha.c</FilePath>
</File>
<File>
<FileName>sha256.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha256.c</FilePath>
</File>
<File>
<FileName>sha512.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha512.c</FilePath>
</File>
<File>
<FileName>tfm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\tfm.c</FilePath>
</File>
<File> <File>
<FileName>config-Crypt.h</FileName> <FileName>config-Crypt.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>RTE\wolfSSL\config-Crypt.h</FilePath> <FilePath>RTE\wolfSSL\config-Crypt.h</FilePath>
</File> </File>
<File> <File>
<FileName>config.h</FileName> <FileName>settings.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>RTE\wolfSSL\config.h</FilePath> <FilePath>RTE\wolfSSL\settings.h</FilePath>
</File>
<File>
<FileName>time-STM32F2xx.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.2\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib\time-STM32F2xx.c</FilePath>
</File>
<File>
<FileName>cyassl_MDK_ARM.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\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\2.9.4\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\2.9.4\cyassl\ctaocrypt\src\aes.c</FilePath>
</File>
<File>
<FileName>arc4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\arc4.c</FilePath>
</File>
<File>
<FileName>asm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\asm.c</FilePath>
</File>
<File>
<FileName>asn.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\asn.c</FilePath>
</File>
<File>
<FileName>blake2b.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\blake2b.c</FilePath>
</File>
<File>
<FileName>camellia.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\camellia.c</FilePath>
</File>
<File>
<FileName>coding.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\coding.c</FilePath>
</File>
<File>
<FileName>compress.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\compress.c</FilePath>
</File>
<File>
<FileName>des3.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\des3.c</FilePath>
</File>
<File>
<FileName>dh.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\dh.c</FilePath>
</File>
<File>
<FileName>dsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\dsa.c</FilePath>
</File>
<File>
<FileName>ecc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ecc.c</FilePath>
</File>
<File>
<FileName>ecc_fp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ecc_fp.c</FilePath>
</File>
<File>
<FileName>error.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\error.c</FilePath>
</File>
<File>
<FileName>hc128.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\hc128.c</FilePath>
</File>
<File>
<FileName>hmac.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\hmac.c</FilePath>
</File>
<File>
<FileName>integer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\integer.c</FilePath>
</File>
<File>
<FileName>logging.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\logging.c</FilePath>
</File>
<File>
<FileName>md2.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md2.c</FilePath>
</File>
<File>
<FileName>md4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md4.c</FilePath>
</File>
<File>
<FileName>md5.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md5.c</FilePath>
</File>
<File>
<FileName>memory.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\memory.c</FilePath>
</File>
<File>
<FileName>misc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\misc.c</FilePath>
</File>
<File>
<FileName>port.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\port.c</FilePath>
</File>
<File>
<FileName>pwdbased.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\pwdbased.c</FilePath>
</File>
<File>
<FileName>rabbit.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\rabbit.c</FilePath>
</File>
<File>
<FileName>random.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\random.c</FilePath>
</File>
<File>
<FileName>ripemd.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ripemd.c</FilePath>
</File>
<File>
<FileName>rsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\rsa.c</FilePath>
</File>
<File>
<FileName>sha.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha.c</FilePath>
</File>
<File>
<FileName>sha256.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha256.c</FilePath>
</File>
<File>
<FileName>sha512.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha512.c</FilePath>
</File>
<File>
<FileName>tfm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\tfm.c</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@ -701,13 +717,13 @@
<RTE> <RTE>
<apis> <apis>
<api Cclass="CMSIS" Cgroup="RTOS" exclusive="0"> <api Cclass="CMSIS" Cgroup="RTOS" Cvendor="ARM" exclusive="0">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/> <package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
</api> </api>
<api Cclass="Drivers" Cgroup="MCI" exclusive="0"> <api Cclass="Drivers" Cgroup="MCI" Cvendor="Keil" exclusive="0">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/> <package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
@ -785,8 +801,8 @@
<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">
<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.73.0" condition="CMSIS Core"/> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"/>
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.3"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>
@ -897,18 +913,24 @@
<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\MDK-ARM\CyaSSL\config-Crypt.h"> <file attr="config" category="header" name="cyassl\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="2.8.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.4" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.4"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</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">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="2.8.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.8.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/> <package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="cyassl\cyassl\ctaocrypt\settings.h">
<instance index="0">RTE\wolfSSL\settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.4" 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="2.9.4"/>
<targetInfos> <targetInfos>
<targetInfo name="CryptTest"/> <targetInfo name="CryptTest"/>
</targetInfos> </targetInfos>

View File

@ -3,7 +3,7 @@
*---------------------------------------------------------------------------- *----------------------------------------------------------------------------
* Name: RTX_Conf_CM.C * Name: RTX_Conf_CM.C
* Purpose: Configuration of CMSIS RTX Kernel for Cortex-M * Purpose: Configuration of CMSIS RTX Kernel for Cortex-M
* Rev.: V4.70 * Rev.: V4.73
*---------------------------------------------------------------------------- *----------------------------------------------------------------------------
* *
* Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH * Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH
@ -58,7 +58,7 @@
#define OS_STKSIZE 50 #define OS_STKSIZE 50
#endif #endif
// <o>Main Thread stack size [bytes] <64-10000:8><#/4> // <o>Main Thread stack size [bytes] <64-32768:8><#/4>
// <i> Defines stack size for main thread. // <i> Defines stack size for main thread.
// <i> Default: 200 // <i> Default: 200
#ifndef OS_MAINSTKSIZE #ifndef OS_MAINSTKSIZE
@ -72,7 +72,7 @@
#define OS_PRIVCNT 0 #define OS_PRIVCNT 0
#endif #endif
// <o>Total stack size [bytes] for threads with user-provided stack size <0-4096:8><#/4> // <o>Total stack size [bytes] for threads with user-provided stack size <0-1048576:8><#/4>
// <i> Defines the combined stack size for threads with user-provided stack size. // <i> Defines the combined stack size for threads with user-provided stack size.
// <i> Default: 0 // <i> Default: 0
#ifndef OS_PRIVSTKSIZE #ifndef OS_PRIVSTKSIZE
@ -256,11 +256,30 @@ void os_tick_irqack (void) {
/*--------------------------- os_error --------------------------------------*/ /*--------------------------- os_error --------------------------------------*/
void os_error (uint32_t err_code) { /* OS Error Codes */
/* This function is called when a runtime error is detected. Parameter */ #define OS_ERROR_STACK_OVF 1
/* 'err_code' holds the runtime error code (defined in RTL.H). */ #define OS_ERROR_FIFO_OVF 2
#define OS_ERROR_MBX_OVF 3
extern osThreadId svcThreadGetId (void);
void os_error (uint32_t error_code) {
/* This function is called when a runtime error is detected. */
/* Parameter 'error_code' holds the runtime error code. */
/* HERE: include optional code to be executed on runtime error. */ /* HERE: include optional code to be executed on runtime error. */
switch (error_code) {
case OS_ERROR_STACK_OVF:
/* Stack overflow detected for the currently running task. */
/* Thread can be identified by calling svcThreadGetId(). */
break;
case OS_ERROR_FIFO_OVF:
/* ISR FIFO Queue buffer overflow detected. */
break;
case OS_ERROR_MBX_OVF:
/* Mailbox overflow detected. */
break;
}
for (;;); for (;;);
} }

View File

@ -0,0 +1,185 @@
/* config-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
// <<< Use Configuration Wizard in Context Menu >>>
// <h> wolfCrypt Configuration
// <h>Cert/Key Strage
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
#define MDK_CONF_CERT_BUFF 0
#if MDK_CONF_CERT_BUFF== 1
#define USE_CERT_BUFFERS_1024
#elif MDK_CONF_CERT_BUFF == 2
#define USE_CERT_BUFFERS_2048
#endif
//</h>
// <h>Crypt Algrithm
// <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
// </h>
// <e>MD2
#define MDK_CONF_MD2 0
#if MDK_CONF_MD2 == 1
#define CYASSL_MD2
#endif
// </e>
// <e>MD4
#define MDK_CONF_MD4 1
#if MDK_CONF_MD4 == 0
#define NO_MD4
#endif
// </e>
// <e>SHA-384
// <i>This has to be with SHA512
#define MDK_CONF_SHA384 0
#if MDK_CONF_SHA384 == 1
#define CYASSL_SHA384
#endif
// </e>
// <e>SHA-512
#define MDK_CONF_SHA512 0
#if MDK_CONF_SHA512 == 1
#define CYASSL_SHA512
#endif
// </e>
// <e>RIPEMD
#define MDK_CONF_RIPEMD 0
#if MDK_CONF_RIPEMD == 1
#define CYASSL_RIPEMD
#endif
// </e>
// <e>HMAC
#define MDK_CONF_HMAC 1
#if MDK_CONF_HMAC == 0
#define NO_HMAC
#endif
// </e>
// <e>HC128
#define MDK_CONF_HC128 0
#if MDK_CONF_HC128 == 1
#define HAVE_HC128
#endif
// </e>
// <e>RABBIT
#define MDK_CONF_RABBIT 1
#if MDK_CONF_RABBI == 0
#define NO_RABBIT
#endif
// </e>
// <e>AEAD
#define MDK_CONF_AEAD 0
#if MDK_CONF_AEAD == 1
#define HAVE_AEAD
#endif
// </e>
// <e>DES3
#define MDK_CONF_DES3 1
#if MDK_CONF_DES3 == 0
#define NO_DES3
#endif
// </e>
// <e>CAMELLIA
#define MDK_CONF_CAMELLIA 0
#if MDK_CONF_CAMELLIA == 1
#define HAVE_CAMELLIA
#endif
// </e>
// <e>DH
// <i>need this for CYASSL_SERVER, OPENSSL_EXTRA
#define MDK_CONF_DH 1
#if MDK_CONF_DH == 0
#define NO_DH
#endif
// </e>
// <e>DSA
#define MDK_CONF_DSA 1
#if MDK_CONF_DSA == 0
#define NO_DSA
#endif
// </e>
// <e>PWDBASED
#define MDK_CONF_PWDBASED 1
#if MDK_CONF_PWDBASED == 0
#define NO_PWDBASED
#endif
// </e>
// <e>ECC
#define MDK_CONF_ECC 0
#if MDK_CONF_ECC == 1
#define HAVE_ECC
#endif
// </e>
// <e>PSK
#define MDK_CONF_PSK 1
#if MDK_CONF_PSK == 0
#define NO_PSK
#endif
// </e>
// <e>AESCCM (Turn off Hardware Crypt)
#define MDK_CONF_AESCCM 0
#if MDK_CONF_AESCCM == 1
#define HAVE_AESCCM
#endif
// </e>
// <e>AESGCM (Turn off Hardware Crypt)
#define MDK_CONF_AESGCM 0
#if MDK_CONF_AESGCM == 1
#define HAVE_AESGCM
#define BUILD_AESGCM
#endif
// </e>
// <e>NTRU (need License, "crypto_ntru.h")
#define MDK_CONF_NTRU 0
#if MDK_CONF_NTRU == 1
#define HAVE_NTRU
#endif
// </e>
// </h>
// <h>Hardware Crypt (See document for usage)
// <e>Hardware RNG
#define MDK_CONF_STM32F2_RNG 0
#if MDK_CONF_STM32F2_RNG == 1
#define STM32F2_RNG
#else
#endif
// </e>
// <e>Hardware Crypt
#define MDK_CONF_STM32F2_CRYPTO 0
#if MDK_CONF_STM32F2_CRYPTO == 1
#define STM32F2_CRYPTO
#endif
// </e>
// </h>
//</h>
// <<< end of configuration section >>>

View File

@ -0,0 +1,667 @@
/* settings.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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 */

View File

@ -62,7 +62,6 @@ int main()
{ {
void * arg = NULL ; void * arg = NULL ;
init_time() ;
init_filesystem (); init_filesystem ();
printf("=== Start: Crypt test ===\n") ; printf("=== Start: Crypt test ===\n") ;
ctaocrypt_test(arg) ; ctaocrypt_test(arg) ;

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,12 @@
This program gives wolfCrypt and CyaSSL library demo. This program gives wolfCrypt and CyaSSL library demo.
In order to run the demo, In order to run the demo,
Copy {PACK}\wolfSSL\CyaSSL\2.8.0\cyassl\certs folder and files to the SD memory. Copy {PACK}\wolfSSL\CyaSSL\{version}\cyassl\certs folder and files to the SD memory.
For demo configuration, refer config-Crypt.h and config-CyaSSL.h. For demo configuration, refer config-Crypt.h and config-CyaSSL.h.
After download and start the execution, you can type in commands through the After download and start the execution, you can type in commands through the
Debug(printf) viewer. Debug(printf) viewer.
time [-d date][-t time] Set/Get RTC: The time is used for certificate validation.
test wolfCrypt Simple test suite test wolfCrypt Simple test suite
benchmark wolfCrypt Simple benchmark benchmark wolfCrypt Simple benchmark
server& simple server in background mode server& simple server in background mode
@ -20,9 +19,6 @@ server/client -h help for server/client command
=== Typical Command Usage Scenario === === Typical Command Usage Scenario ===
Starting Shell Starting Shell
>time -d 9/23/2013
>time
Date: 9/23/2013, Time: 00:38:31
>test >test
MD5 test passed! MD5 test passed!
MD4 test passed! MD4 test passed!

File diff suppressed because it is too large Load Diff

View File

@ -139,6 +139,8 @@
<RestoreFunctions>0</RestoreFunctions> <RestoreFunctions>0</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox> <RestoreToolbox>1</RestoreToolbox>
<RestoreTracepoints>1</RestoreTracepoints> <RestoreTracepoints>1</RestoreTracepoints>
<RestoreTracepoints>1</RestoreTracepoints>
<RestoreTracepoints>1</RestoreTracepoints>
</Target> </Target>
<RunDebugAfterBuild>0</RunDebugAfterBuild> <RunDebugAfterBuild>0</RunDebugAfterBuild>
<TargetSelection>8</TargetSelection> <TargetSelection>8</TargetSelection>
@ -353,6 +355,8 @@
<wLevel>0</wLevel> <wLevel>0</wLevel>
<uThumb>0</uThumb> <uThumb>0</uThumb>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<uC99>0</uC99>
<useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define>HAVE_CONFIG_H MDK_CONF_CYASSL</Define> <Define>HAVE_CONFIG_H MDK_CONF_CYASSL</Define>
@ -369,6 +373,7 @@
<SwStkChk>0</SwStkChk> <SwStkChk>0</SwStkChk>
<NoWarn>0</NoWarn> <NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define></Define> <Define></Define>
@ -385,6 +390,7 @@
<useFile>0</useFile> <useFile>0</useFile>
<TextAddressRange>0x08000000</TextAddressRange> <TextAddressRange>0x08000000</TextAddressRange>
<DataAddressRange>0x20000000</DataAddressRange> <DataAddressRange>0x20000000</DataAddressRange>
<pXoBase></pXoBase>
<ScatterFile></ScatterFile> <ScatterFile></ScatterFile>
<IncludeLibs></IncludeLibs> <IncludeLibs></IncludeLibs>
<IncludeLibsPath></IncludeLibsPath> <IncludeLibsPath></IncludeLibsPath>
@ -398,21 +404,6 @@
<Group> <Group>
<GroupName>Source</GroupName> <GroupName>Source</GroupName>
<Files> <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>test.c</FileName>
<FileType>1</FileType>
<FilePath>.\test.c</FilePath>
</File>
<File> <File>
<FileName>benchmark.c</FileName> <FileName>benchmark.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -443,6 +434,21 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>.\cert_data.c</FilePath> <FilePath>.\cert_data.c</FilePath>
</File> </File>
<File>
<FileName>test.c</FileName>
<FileType>1</FileType>
<FilePath>.\test.c</FilePath>
</File>
<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>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -458,6 +464,16 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath> <FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath>
</File> </File>
<File>
<FileName>settings.h</FileName>
<FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\settings.h</FilePath>
</File>
<File>
<FileName>Net_Config_ETH_0.h</FileName>
<FileType>5</FileType>
<FilePath>.\RTE\Network\Net_Config_ETH_0.h</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -471,18 +487,33 @@
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::CMSIS</GroupName> <GroupName>Devices</GroupName>
<Files> <Files>
<File> <File>
<FileName>RTX_CM3.lib</FileName> <FileName>time-STM32F2xx.c</FileName>
<FileType>4</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\ARM\CMSIS\3.20.3\CMSIS_RTX\Lib\ARM\RTX_CM3.lib</FilePath> <FilePath>.\time-STM32F2xx.c</FilePath>
</File> </File>
<File>
<FileName>time-dummy.c</FileName>
<FileType>1</FileType>
<FilePath>.\time-dummy.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
<Files>
<File> <File>
<FileName>RTX_Conf_CM.c</FileName> <FileName>RTX_Conf_CM.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath> <FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath>
</File> </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> </Files>
</Group> </Group>
<Group> <Group>
@ -518,11 +549,6 @@
<Group> <Group>
<GroupName>::Drivers</GroupName> <GroupName>::Drivers</GroupName>
<Files> <Files>
<File>
<FileName>PHY_ST802RT1.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\Network\Driver\PHY_ST802RT1.c</FilePath>
</File>
<File> <File>
<FileName>EMAC_STM32F2xx.c</FileName> <FileName>EMAC_STM32F2xx.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -533,16 +559,16 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.4\RTE_Driver\MCI_STM32F2xx.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.4\RTE_Driver\MCI_STM32F2xx.c</FilePath>
</File> </File>
<File>
<FileName>PHY_ST802RT1.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\Network\Driver\PHY_ST802RT1.c</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::File System</GroupName> <GroupName>::File System</GroupName>
<Files> <Files>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
<File> <File>
<FileName>FS_Config.c</FileName> <FileName>FS_Config.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -553,16 +579,16 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath> <FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath>
</File> </File>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::Network</GroupName> <GroupName>::Network</GroupName>
<Files> <Files>
<File>
<FileName>Net_Dbg_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\Network\Lib\ARM\Net_Dbg_CM3_L.lib</FilePath>
</File>
<File> <File>
<FileName>Net_Config.c</FileName> <FileName>Net_Config.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -598,6 +624,11 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>RTE\Network\Net_Debug.c</FilePath> <FilePath>RTE\Network\Net_Debug.c</FilePath>
</File> </File>
<File>
<FileName>Net_Dbg_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\Network\Lib\ARM\Net_Dbg_CM3_L.lib</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -614,219 +645,219 @@
<FilePath>RTE\wolfSSL\config-CyaSSL.h</FilePath> <FilePath>RTE\wolfSSL\config-CyaSSL.h</FilePath>
</File> </File>
<File> <File>
<FileName>cyassl_MDK_ARM.c</FileName> <FileName>settings.h</FileName>
<FileType>1</FileType> <FileType>5</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\cyassl_MDK_ARM.c</FilePath> <FilePath>RTE\wolfSSL\settings.h</FilePath>
</File> </File>
<File> <File>
<FileName>time-STM32F2xx.c</FileName> <FileName>cyassl_MDK_ARM.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib\time-STM32F2xx.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\IDE\MDK5-ARM\Src\cyassl_MDK_ARM.c</FilePath>
</File> </File>
<File> <File>
<FileName>aes.c</FileName> <FileName>aes.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\aes.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\aes.c</FilePath>
</File> </File>
<File> <File>
<FileName>arc4.c</FileName> <FileName>arc4.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\arc4.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\arc4.c</FilePath>
</File> </File>
<File> <File>
<FileName>asm.c</FileName> <FileName>asm.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\asm.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\asm.c</FilePath>
</File> </File>
<File> <File>
<FileName>asn.c</FileName> <FileName>asn.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\asn.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\asn.c</FilePath>
</File> </File>
<File> <File>
<FileName>blake2b.c</FileName> <FileName>blake2b.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\blake2b.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\blake2b.c</FilePath>
</File> </File>
<File> <File>
<FileName>camellia.c</FileName> <FileName>camellia.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\camellia.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\camellia.c</FilePath>
</File> </File>
<File> <File>
<FileName>coding.c</FileName> <FileName>coding.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\coding.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\coding.c</FilePath>
</File> </File>
<File> <File>
<FileName>compress.c</FileName> <FileName>compress.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\compress.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\compress.c</FilePath>
</File> </File>
<File> <File>
<FileName>des3.c</FileName> <FileName>des3.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\des3.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\des3.c</FilePath>
</File> </File>
<File> <File>
<FileName>dh.c</FileName> <FileName>dh.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\dh.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\dh.c</FilePath>
</File> </File>
<File> <File>
<FileName>dsa.c</FileName> <FileName>dsa.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\dsa.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\dsa.c</FilePath>
</File> </File>
<File> <File>
<FileName>ecc.c</FileName> <FileName>ecc.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\ecc.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ecc.c</FilePath>
</File> </File>
<File> <File>
<FileName>ecc_fp.c</FileName> <FileName>ecc_fp.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\ecc_fp.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ecc_fp.c</FilePath>
</File> </File>
<File> <File>
<FileName>error.c</FileName> <FileName>error.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\error.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\error.c</FilePath>
</File> </File>
<File> <File>
<FileName>hc128.c</FileName> <FileName>hc128.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\hc128.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\hc128.c</FilePath>
</File> </File>
<File> <File>
<FileName>hmac.c</FileName> <FileName>hmac.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\hmac.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\hmac.c</FilePath>
</File> </File>
<File> <File>
<FileName>integer.c</FileName> <FileName>integer.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\integer.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\integer.c</FilePath>
</File> </File>
<File> <File>
<FileName>logging.c</FileName> <FileName>logging.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\logging.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\logging.c</FilePath>
</File> </File>
<File> <File>
<FileName>md2.c</FileName> <FileName>md2.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\md2.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md2.c</FilePath>
</File> </File>
<File> <File>
<FileName>md4.c</FileName> <FileName>md4.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\md4.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md4.c</FilePath>
</File> </File>
<File> <File>
<FileName>md5.c</FileName> <FileName>md5.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\md5.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md5.c</FilePath>
</File> </File>
<File> <File>
<FileName>memory.c</FileName> <FileName>memory.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\memory.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\memory.c</FilePath>
</File> </File>
<File> <File>
<FileName>misc.c</FileName> <FileName>misc.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\misc.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\misc.c</FilePath>
</File> </File>
<File> <File>
<FileName>port.c</FileName> <FileName>port.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\port.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\port.c</FilePath>
</File> </File>
<File> <File>
<FileName>pwdbased.c</FileName> <FileName>pwdbased.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\pwdbased.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\pwdbased.c</FilePath>
</File> </File>
<File> <File>
<FileName>rabbit.c</FileName> <FileName>rabbit.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\rabbit.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\rabbit.c</FilePath>
</File> </File>
<File> <File>
<FileName>random.c</FileName> <FileName>random.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\random.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\random.c</FilePath>
</File> </File>
<File> <File>
<FileName>ripemd.c</FileName> <FileName>ripemd.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\ripemd.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ripemd.c</FilePath>
</File> </File>
<File> <File>
<FileName>rsa.c</FileName> <FileName>rsa.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\rsa.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\rsa.c</FilePath>
</File> </File>
<File> <File>
<FileName>sha.c</FileName> <FileName>sha.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\sha.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha.c</FilePath>
</File> </File>
<File> <File>
<FileName>sha256.c</FileName> <FileName>sha256.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\sha256.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha256.c</FilePath>
</File> </File>
<File> <File>
<FileName>sha512.c</FileName> <FileName>sha512.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\sha512.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha512.c</FilePath>
</File> </File>
<File> <File>
<FileName>tfm.c</FileName> <FileName>tfm.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\ctaocrypt\src\tfm.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\tfm.c</FilePath>
</File> </File>
<File> <File>
<FileName>crl.c</FileName> <FileName>crl.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\src\crl.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\crl.c</FilePath>
</File> </File>
<File> <File>
<FileName>internal.c</FileName> <FileName>internal.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\src\internal.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\internal.c</FilePath>
</File> </File>
<File> <File>
<FileName>io.c</FileName> <FileName>io.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\src\io.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\io.c</FilePath>
</File> </File>
<File> <File>
<FileName>keys.c</FileName> <FileName>keys.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\src\keys.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\keys.c</FilePath>
</File> </File>
<File> <File>
<FileName>ocsp.c</FileName> <FileName>ocsp.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\src\ocsp.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\ocsp.c</FilePath>
</File> </File>
<File> <File>
<FileName>sniffer.c</FileName> <FileName>sniffer.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\src\sniffer.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\sniffer.c</FilePath>
</File> </File>
<File> <File>
<FileName>ssl.c</FileName> <FileName>ssl.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\src\ssl.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\ssl.c</FilePath>
</File> </File>
<File> <File>
<FileName>tls.c</FileName> <FileName>tls.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.1\cyassl\src\tls.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\tls.c</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@ -836,25 +867,25 @@
<RTE> <RTE>
<apis> <apis>
<api Cclass="CMSIS" Cgroup="RTOS" exclusive="0"> <api Cclass="CMSIS" Cgroup="RTOS" Cvendor="ARM" exclusive="0">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/> <package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/>
<targetInfos> <targetInfos>
<targetInfo name="CyaSSL-Full"/> <targetInfo name="CyaSSL-Full"/>
</targetInfos> </targetInfos>
</api> </api>
<api Cclass="Drivers" Cgroup="Ethernet MAC" exclusive="0"> <api Cclass="Drivers" Cgroup="Ethernet MAC" Cvendor="Keil" exclusive="0">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/> <package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CyaSSL-Full"/> <targetInfo name="CyaSSL-Full"/>
</targetInfos> </targetInfos>
</api> </api>
<api Cclass="Drivers" Cgroup="Ethernet PHY" exclusive="0"> <api Cclass="Drivers" Cgroup="Ethernet PHY" Cvendor="Keil" exclusive="0">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/> <package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CyaSSL-Full"/> <targetInfo name="CyaSSL-Full"/>
</targetInfos> </targetInfos>
</api> </api>
<api Cclass="Drivers" Cgroup="MCI" exclusive="0"> <api Cclass="Drivers" Cgroup="MCI" Cvendor="Keil" exclusive="0">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/> <package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CyaSSL-Full"/> <targetInfo name="CyaSSL-Full"/>
@ -868,20 +899,20 @@
<targetInfo name="CyaSSL-Full"/> <targetInfo name="CyaSSL-Full"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.73.0" condition="CMSIS Core"> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.3"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos> <targetInfos>
<targetInfo name="CyaSSL-Full"/> <targetInfo name="CyaSSL-Full"/>
</targetInfos> </targetInfos>
</component> </component>
<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="LFN" Cvendor="Keil" Cversion="5.0.5" condition="CMSIS Core with RTOS">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.2"/> <package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.4"/>
<targetInfos> <targetInfos>
<targetInfo name="CyaSSL-Full"/> <targetInfo name="CyaSSL-Full"/>
</targetInfos> </targetInfos>
</component> </component>
<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="5.0.5" condition="File System and MCI 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.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.4"/>
<targetInfos> <targetInfos>
<targetInfo name="CyaSSL-Full"/> <targetInfo name="CyaSSL-Full"/>
</targetInfos> </targetInfos>
@ -958,20 +989,14 @@
<targetInfo name="CyaSSL-Full"/> <targetInfo name="CyaSSL-Full"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.8.1" condition="CyaSSL-Core"> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.9.0" condition="CyaSSL-Core">
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.1"/> <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="2.9.0"/>
<targetInfos> <targetInfos>
<targetInfo name="CyaSSL-Full"/> <targetInfo name="CyaSSL-Full"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="Device" Csub="Timer" Cvendor="wolfSSL" Cversion="2.8.1" condition="wolfCrypt-Core"> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.0" condition="wolfCrypt-Core">
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.1"/> <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="2.9.0"/>
<targetInfos>
<targetInfo name="CyaSSL-Full"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.8.1" condition="wolfCrypt-Core">
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.1"/>
<targetInfos> <targetInfos>
<targetInfo name="CyaSSL-Full"/> <targetInfo name="CyaSSL-Full"/>
</targetInfos> </targetInfos>
@ -980,8 +1005,8 @@
<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">
<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.73.0" condition="CMSIS Core"/> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"/>
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.3"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos> <targetInfos>
<targetInfo name="CyaSSL-Full"/> <targetInfo name="CyaSSL-Full"/>
</targetInfos> </targetInfos>
@ -1094,18 +1119,18 @@
<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\MDK-ARM\CyaSSL\config-Crypt.h"> <file attr="config" category="header" name="cyassl\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="2.8.1" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.4" condition="wolfCrypt-Core"/>
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.1"/> <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="2.9.4"/>
<targetInfos> <targetInfos>
<targetInfo name="CyaSSL-Full"/> <targetInfo name="CyaSSL-Full"/>
</targetInfos> </targetInfos>
</file> </file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-CyaSSL.h"> <file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\Conf\config-CyaSSL.h">
<instance index="0">RTE\wolfSSL\config-CyaSSL.h</instance> <instance index="0">RTE\wolfSSL\config-CyaSSL.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.8.1" condition="CyaSSL-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.9.4" condition="CyaSSL-Core"/>
<package license="cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt" name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.1"/> <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="2.9.4"/>
<targetInfos> <targetInfos>
<targetInfo name="CyaSSL-Full"/> <targetInfo name="CyaSSL-Full"/>
</targetInfos> </targetInfos>
@ -1116,6 +1141,14 @@
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/> <package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/>
<targetInfos/> <targetInfos/>
</file> </file>
<file attr="config" category="header" name="cyassl\cyassl\ctaocrypt\settings.h">
<instance index="0">RTE\wolfSSL\settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.4" 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="2.9.4"/>
<targetInfos>
<targetInfo name="CyaSSL-Full"/>
</targetInfos>
</file>
</files> </files>
</RTE> </RTE>

View File

@ -3,7 +3,7 @@
*---------------------------------------------------------------------------- *----------------------------------------------------------------------------
* Name: RTX_Conf_CM.C * Name: RTX_Conf_CM.C
* Purpose: Configuration of CMSIS RTX Kernel for Cortex-M * Purpose: Configuration of CMSIS RTX Kernel for Cortex-M
* Rev.: V4.70 * Rev.: V4.73
*---------------------------------------------------------------------------- *----------------------------------------------------------------------------
* *
* Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH * Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH
@ -55,28 +55,28 @@
// <i> Defines default stack size for threads with osThreadDef stacksz = 0 // <i> Defines default stack size for threads with osThreadDef stacksz = 0
// <i> Default: 200 // <i> Default: 200
#ifndef OS_STKSIZE #ifndef OS_STKSIZE
#define OS_STKSIZE 250 #define OS_STKSIZE 300
#endif #endif
// <o>Main Thread stack size [bytes] <64-4096:8><#/4> // <o>Main Thread stack size [bytes] <64-32768:8><#/4>
// <i> Defines stack size for main thread. // <i> Defines stack size for main thread.
// <i> Default: 200 // <i> Default: 200
#ifndef OS_MAINSTKSIZE #ifndef OS_MAINSTKSIZE
#define OS_MAINSTKSIZE 250 #define OS_MAINSTKSIZE 1000
#endif #endif
// <o>Number of threads with user-provided stack size <0-250> // <o>Number of threads with user-provided stack size <0-250>
// <i> Defines the number of threads with user-provided stack size. // <i> Defines the number of threads with user-provided stack size.
// <i> Default: 0 // <i> Default: 0
#ifndef OS_PRIVCNT #ifndef OS_PRIVCNT
#define OS_PRIVCNT 2 #define OS_PRIVCNT 0
#endif #endif
// <o>Total stack size [bytes] for threads with user-provided stack size <0-0x10000:8><#/4> // <o>Total stack size [bytes] for threads with user-provided stack size <0-1048576:8><#/4>
// <i> Defines the combined stack size for threads with user-provided stack size. // <i> Defines the combined stack size for threads with user-provided stack size.
// <i> Default: 0 // <i> Default: 0
#ifndef OS_PRIVSTKSIZE #ifndef OS_PRIVSTKSIZE
#define OS_PRIVSTKSIZE 4500 #define OS_PRIVSTKSIZE 6000
#endif #endif
// <q>Check for stack overflow // <q>Check for stack overflow
@ -158,7 +158,7 @@
#define OS_TIMERPRIO 5 #define OS_TIMERPRIO 5
#endif #endif
// <o>Timer Thread stack size [bytes] <64-64000:8><#/4> // <o>Timer Thread stack size [bytes] <64-4096:8><#/4>
// <i> Defines stack size for Timer thread. // <i> Defines stack size for Timer thread.
// <i> Default: 200 // <i> Default: 200
#ifndef OS_TIMERSTKSZ #ifndef OS_TIMERSTKSZ
@ -256,11 +256,30 @@ void os_tick_irqack (void) {
/*--------------------------- os_error --------------------------------------*/ /*--------------------------- os_error --------------------------------------*/
void os_error (uint32_t err_code) { /* OS Error Codes */
/* This function is called when a runtime error is detected. Parameter */ #define OS_ERROR_STACK_OVF 1
/* 'err_code' holds the runtime error code (defined in RTL.H). */ #define OS_ERROR_FIFO_OVF 2
#define OS_ERROR_MBX_OVF 3
extern osThreadId svcThreadGetId (void);
void os_error (uint32_t error_code) {
/* This function is called when a runtime error is detected. */
/* Parameter 'error_code' holds the runtime error code. */
/* HERE: include optional code to be executed on runtime error. */ /* HERE: include optional code to be executed on runtime error. */
switch (error_code) {
case OS_ERROR_STACK_OVF:
/* Stack overflow detected for the currently running task. */
/* Thread can be identified by calling svcThreadGetId(). */
break;
case OS_ERROR_FIFO_OVF:
/* ISR FIFO Queue buffer overflow detected. */
break;
case OS_ERROR_MBX_OVF:
/* Mailbox overflow detected. */
break;
}
for (;;); for (;;);
} }

View File

@ -28,7 +28,7 @@
; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> ; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h> ; </h>
Stack_Size EQU 0x00001000 Stack_Size EQU 0x00000400
AREA STACK, NOINIT, READWRITE, ALIGN=3 AREA STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem SPACE Stack_Size Stack_Mem SPACE Stack_Size
@ -39,7 +39,7 @@ __initial_sp
; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
; </h> ; </h>
Heap_Size EQU 0x0000F000 Heap_Size EQU 0x0000A000
AREA HEAP, NOINIT, READWRITE, ALIGN=3 AREA HEAP, NOINIT, READWRITE, ALIGN=3
__heap_base __heap_base

View File

@ -14,13 +14,13 @@
// <o>Connect to hardware via Driver_ETH# <0-255> // <o>Connect to hardware via Driver_ETH# <0-255>
// <i>Select driver control block for MAC and PHY interface // <i>Select driver control block for MAC and PHY interface
#define ETH0_DRIVER 1 #define ETH0_DRIVER 0
// <h>MAC Address // <h>MAC Address
// <i> Local Ethernet MAC Address // <i> Local Ethernet MAC Address
// <i> Value FF:FF:FF:FF:FF:FF is not allowed. // <i> Value FF:FF:FF:FF:FF:FF is not allowed.
// <i> It is an ethernet Broadcast MAC address. // <i> It is an ethernet Broadcast MAC address.
// <o>Address byte 1 <0x00-0xff:2> // <o>A0dress byte 1 <0x00-0xff:2>
// <i> LSB is an ethernet Multicast bit. // <i> LSB is an ethernet Multicast bit.
// <i> Must be 0 for local MAC address. // <i> Must be 0 for local MAC address.
// <i> Default: 0x1E // <i> Default: 0x1E
@ -61,11 +61,11 @@
// <o>Address byte 3 <0-255> // <o>Address byte 3 <0-255>
// <i> Default: 0 // <i> Default: 0
#define ETH0_IP3 0 #define ETH0_IP3 11
// <o>Address byte 4 <0-255> // <o>Address byte 4 <0-255>
// <i> Default: 100 // <i> Default: 100
#define ETH0_IP4 100 #define ETH0_IP4 101
// </h> // </h>
// <h>Subnet mask // <h>Subnet mask
@ -99,30 +99,30 @@
// <o>Address byte 3 <0-255> // <o>Address byte 3 <0-255>
// <i> Default: 0 // <i> Default: 0
#define ETH0_GW3 0 #define ETH0_GW3 11
// <o>Address byte 4 <0-255> // <o>Address byte 4 <0-255>
// <i> Default: 254 // <i> Default: 254
#define ETH0_GW4 254 #define ETH0_GW4 1
// </h> // </h>
// <h>Primary DNS Server // <h>Primary DNS Server
// <i> Primary DNS Server IP Address // <i> Primary DNS Server IP Address
// <o>Address byte 1 <0-255> // <o>Address byte 1 <0-255>
// <i> Default: 194 // <i> Default: 194
#define ETH0_PRI_DNS1 194 #define ETH0_PRI_DNS1 192
// <o>Address byte 2 <0-255> // <o>Address byte 2 <0-255>
// <i> Default: 25 // <i> Default: 25
#define ETH0_PRI_DNS2 25 #define ETH0_PRI_DNS2 168
// <o>Address byte 3 <0-255> // <o>Address byte 3 <0-255>
// <i> Default: 2 // <i> Default: 2
#define ETH0_PRI_DNS3 2 #define ETH0_PRI_DNS3 11
// <o>Address byte 4 <0-255> // <o>Address byte 4 <0-255>
// <i> Default: 129 // <i> Default: 129
#define ETH0_PRI_DNS4 129 #define ETH0_PRI_DNS4 1
// </h> // </h>
// <h>Secondary DNS Server // <h>Secondary DNS Server
@ -198,7 +198,7 @@
// <i> the DHCP Server on local LAN. // <i> the DHCP Server on local LAN.
// <i> You need to modify also the number of UDP Sockets, // <i> You need to modify also the number of UDP Sockets,
// <i> because DHCP protocol uses one UDP socket to run. // <i> because DHCP protocol uses one UDP socket to run.
#define ETH0_DHCP_ENABLE 1 #define ETH0_DHCP_ENABLE 0
// <s.40>Vendor Class Identifier // <s.40>Vendor Class Identifier
// <i> This value is optional. If specified, it is added // <i> This value is optional. If specified, it is added

View File

@ -0,0 +1,185 @@
/* config-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
// <<< Use Configuration Wizard in Context Menu >>>
// <h> wolfCrypt Configuration
// <h>Cert/Key Strage
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
#define MDK_CONF_CERT_BUFF 0
#if MDK_CONF_CERT_BUFF== 1
#define USE_CERT_BUFFERS_1024
#elif MDK_CONF_CERT_BUFF == 2
#define USE_CERT_BUFFERS_2048
#endif
//</h>
// <h>Crypt Algrithm
// <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
// </h>
// <e>MD2
#define MDK_CONF_MD2 0
#if MDK_CONF_MD2 == 1
#define CYASSL_MD2
#endif
// </e>
// <e>MD4
#define MDK_CONF_MD4 1
#if MDK_CONF_MD4 == 0
#define NO_MD4
#endif
// </e>
// <e>SHA-384
// <i>This has to be with SHA512
#define MDK_CONF_SHA384 0
#if MDK_CONF_SHA384 == 1
#define CYASSL_SHA384
#endif
// </e>
// <e>SHA-512
#define MDK_CONF_SHA512 0
#if MDK_CONF_SHA512 == 1
#define CYASSL_SHA512
#endif
// </e>
// <e>RIPEMD
#define MDK_CONF_RIPEMD 0
#if MDK_CONF_RIPEMD == 1
#define CYASSL_RIPEMD
#endif
// </e>
// <e>HMAC
#define MDK_CONF_HMAC 1
#if MDK_CONF_HMAC == 0
#define NO_HMAC
#endif
// </e>
// <e>HC128
#define MDK_CONF_HC128 0
#if MDK_CONF_HC128 == 1
#define HAVE_HC128
#endif
// </e>
// <e>RABBIT
#define MDK_CONF_RABBIT 1
#if MDK_CONF_RABBI == 0
#define NO_RABBIT
#endif
// </e>
// <e>AEAD
#define MDK_CONF_AEAD 0
#if MDK_CONF_AEAD == 1
#define HAVE_AEAD
#endif
// </e>
// <e>DES3
#define MDK_CONF_DES3 1
#if MDK_CONF_DES3 == 0
#define NO_DES3
#endif
// </e>
// <e>CAMELLIA
#define MDK_CONF_CAMELLIA 0
#if MDK_CONF_CAMELLIA == 1
#define HAVE_CAMELLIA
#endif
// </e>
// <e>DH
// <i>need this for CYASSL_SERVER, OPENSSL_EXTRA
#define MDK_CONF_DH 1
#if MDK_CONF_DH == 0
#define NO_DH
#endif
// </e>
// <e>DSA
#define MDK_CONF_DSA 1
#if MDK_CONF_DSA == 0
#define NO_DSA
#endif
// </e>
// <e>PWDBASED
#define MDK_CONF_PWDBASED 1
#if MDK_CONF_PWDBASED == 0
#define NO_PWDBASED
#endif
// </e>
// <e>ECC
#define MDK_CONF_ECC 0
#if MDK_CONF_ECC == 1
#define HAVE_ECC
#endif
// </e>
// <e>PSK
#define MDK_CONF_PSK 1
#if MDK_CONF_PSK == 0
#define NO_PSK
#endif
// </e>
// <e>AESCCM (Turn off Hardware Crypt)
#define MDK_CONF_AESCCM 0
#if MDK_CONF_AESCCM == 1
#define HAVE_AESCCM
#endif
// </e>
// <e>AESGCM (Turn off Hardware Crypt)
#define MDK_CONF_AESGCM 0
#if MDK_CONF_AESGCM == 1
#define HAVE_AESGCM
#define BUILD_AESGCM
#endif
// </e>
// <e>NTRU (need License, "crypto_ntru.h")
#define MDK_CONF_NTRU 0
#if MDK_CONF_NTRU == 1
#define HAVE_NTRU
#endif
// </e>
// </h>
// <h>Hardware Crypt (See document for usage)
// <e>Hardware RNG
#define MDK_CONF_STM32F2_RNG 0
#if MDK_CONF_STM32F2_RNG == 1
#define STM32F2_RNG
#else
#endif
// </e>
// <e>Hardware Crypt
#define MDK_CONF_STM32F2_CRYPTO 0
#if MDK_CONF_STM32F2_CRYPTO == 1
#define STM32F2_CRYPTO
#endif
// </e>
// </h>
//</h>
// <<< end of configuration section >>>

View File

@ -0,0 +1,144 @@
/* config-RTX-TCP-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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,667 @@
/* settings.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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 */

View File

@ -51,9 +51,15 @@
#include "cavium_common.h" #include "cavium_common.h"
#include "cavium_ioctl.h" #include "cavium_ioctl.h"
#endif #endif
#if defined(CYASSL_MDK_ARM)
extern FILE * CyaSSL_fopen(const char *fname, const char *mode) ;
#define fopen CyaSSL_fopen
#endif
#if defined(USE_CERT_BUFFERS_1024) || defined(USE_CERT_BUFFERS_2048) #if defined(USE_CERT_BUFFERS_1024) || defined(USE_CERT_BUFFERS_2048)
/* include test cert and key buffers for use with NO_FILESYSTEM */ /* include test cert and key buffers for use with NO_FILESYSTEM */
#if defined(CYASSL_MDK_ARM) && !defined(SINGLE_THREADED) #if defined(CYASSL_MDK_ARM)
#include "cert_data.h" /* use certs_test.c for initial data, #include "cert_data.h" /* use certs_test.c for initial data,
so other commands can share the data. */ so other commands can share the data. */
#else #else
@ -61,11 +67,6 @@
#endif #endif
#endif #endif
#if defined(CYASSL_MDK_ARM)
#include <stdlib.h>
extern FILE * CyaSSL_fopen(const char *fname, const char *mode) ;
#define fopen CyaSSL_fopen
#endif
#ifdef HAVE_BLAKE2 #ifdef HAVE_BLAKE2
#include <cyassl/ctaocrypt/blake2.h> #include <cyassl/ctaocrypt/blake2.h>
@ -84,6 +85,7 @@ void bench_rabbit(void);
void bench_aes(int); void bench_aes(int);
void bench_aesgcm(void); void bench_aesgcm(void);
void bench_aesccm(void); void bench_aesccm(void);
void bench_aesctr(void);
void bench_camellia(void); void bench_camellia(void);
void bench_md5(void); void bench_md5(void);
@ -140,7 +142,7 @@ int benchmark_test(void *args)
{ {
#endif #endif
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
int ret = OpenNitroxDevice(CAVIUM_DIRECT, CAVIUM_DEV_ID); int ret = OpenNitroxDevice(CAVIUM_DIRECT, CAVIUM_DEV_ID);
if (ret != 0) { if (ret != 0) {
printf("Cavium OpenNitroxDevice failed\n"); printf("Cavium OpenNitroxDevice failed\n");
@ -154,6 +156,11 @@ int benchmark_test(void *args)
#ifdef HAVE_AESGCM #ifdef HAVE_AESGCM
bench_aesgcm(); bench_aesgcm();
#endif #endif
#ifdef CYASSL_AES_COUNTER
bench_aesctr();
#endif
#ifdef HAVE_AESCCM #ifdef HAVE_AESCCM
bench_aesccm(); bench_aesccm();
#endif #endif
@ -218,23 +225,31 @@ int benchmark_test(void *args)
#ifdef BENCH_EMBEDDED #ifdef BENCH_EMBEDDED
const int numBlocks = 25; /* how many kB/megs to test (en/de)cryption */ enum BenchmarkBounds {
const char blockType[] = "kB"; /* used in printf output */ numBlocks = 25, /* how many kB to test (en/de)cryption */
const int times = 1; /* public key iterations */ ntimes = 1,
genTimes = 5, /* public key iterations */
agreeTimes = 5
};
static const char blockType[] = "kB"; /* used in printf output */
#else #else
const int numBlocks = 5; enum BenchmarkBounds {
const char blockType[] = "megs"; numBlocks = 5, /* how many megs to test (en/de)cryption */
const int times = 100; ntimes = 100,
genTimes = 100,
agreeTimes = 100
};
static const char blockType[] = "megs"; /* used in printf output */
#endif #endif
const byte key[] = static const byte key[] =
{ {
0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef, 0x01,0x23,0x45,0x67,0x89,0xab,0xcd,0xef,
0xfe,0xde,0xba,0x98,0x76,0x54,0x32,0x10, 0xfe,0xde,0xba,0x98,0x76,0x54,0x32,0x10,
0x89,0xab,0xcd,0xef,0x01,0x23,0x45,0x67 0x89,0xab,0xcd,0xef,0x01,0x23,0x45,0x67
}; };
const byte iv[] = static const byte iv[] =
{ {
0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef, 0x12,0x34,0x56,0x78,0x90,0xab,0xcd,0xef,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
@ -245,11 +260,11 @@ const byte iv[] =
/* use kB instead of mB for embedded benchmarking */ /* use kB instead of mB for embedded benchmarking */
#ifdef BENCH_EMBEDDED #ifdef BENCH_EMBEDDED
byte plain [1024]; static byte plain [1024];
byte cipher[1024]; static byte cipher[1024];
#else #else
byte plain [1024*1024]; static byte plain [1024*1024];
byte cipher[1024*1024]; static byte cipher[1024*1024];
#endif #endif
@ -259,13 +274,20 @@ void bench_aes(int show)
Aes enc; Aes enc;
double start, total, persec; double start, total, persec;
int i; int i;
int ret;
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
if (AesInitCavium(&enc, CAVIUM_DEV_ID) != 0) if (AesInitCavium(&enc, CAVIUM_DEV_ID) != 0) {
printf("aes init cavium failed\n"); printf("aes init cavium failed\n");
return;
}
#endif #endif
AesSetKey(&enc, key, 16, iv, AES_ENCRYPTION); ret = AesSetKey(&enc, key, 16, iv, AES_ENCRYPTION);
if (ret != 0) {
printf("AesSetKey failed, ret = %d\n", ret);
return;
}
start = current_time(1); start = current_time(1);
for(i = 0; i < numBlocks; i++) for(i = 0; i < numBlocks; i++)
@ -280,7 +302,7 @@ void bench_aes(int show)
#endif #endif
if (show) if (show)
printf("AES %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("AES %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
AesFreeCavium(&enc); AesFreeCavium(&enc);
@ -289,8 +311,10 @@ void bench_aes(int show)
#endif #endif
byte additional[13]; #if defined(HAVE_AESGCM) || defined(HAVE_AESCCM)
byte tag[16]; static byte additional[13];
static byte tag[16];
#endif
#ifdef HAVE_AESGCM #ifdef HAVE_AESGCM
@ -315,11 +339,38 @@ void bench_aesgcm(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("AES-GCM %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("AES-GCM %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif
#ifdef CYASSL_AES_COUNTER
void bench_aesctr(void)
{
Aes enc;
double start, total, persec;
int i;
AesSetKeyDirect(&enc, key, AES_BLOCK_SIZE, iv, AES_ENCRYPTION);
start = current_time(1);
for(i = 0; i < numBlocks; i++)
AesCtrEncrypt(&enc, plain, cipher, sizeof(plain));
total = current_time(0) - start;
persec = 1 / total * numBlocks;
#ifdef BENCH_EMBEDDED
/* since using kB, convert to MB/s */
persec = persec / 1024;
#endif
printf("AES-CTR %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec);
}
#endif
#ifdef HAVE_AESCCM #ifdef HAVE_AESCCM
void bench_aesccm(void) void bench_aesccm(void)
@ -343,7 +394,7 @@ void bench_aesccm(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("AES-CCM %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("AES-CCM %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif
@ -370,7 +421,7 @@ void bench_camellia(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("Camellia %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("Camellia %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif
@ -381,13 +432,17 @@ void bench_des(void)
{ {
Des3 enc; Des3 enc;
double start, total, persec; double start, total, persec;
int i; int i, ret;
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
if (Des3_InitCavium(&enc, CAVIUM_DEV_ID) != 0) if (Des3_InitCavium(&enc, CAVIUM_DEV_ID) != 0)
printf("des3 init cavium failed\n"); printf("des3 init cavium failed\n");
#endif #endif
Des3_SetKey(&enc, key, iv, DES_ENCRYPTION); ret = Des3_SetKey(&enc, key, iv, DES_ENCRYPTION);
if (ret != 0) {
printf("Des3_SetKey failed, ret = %d\n", ret);
return;
}
start = current_time(1); start = current_time(1);
for(i = 0; i < numBlocks; i++) for(i = 0; i < numBlocks; i++)
@ -401,7 +456,7 @@ void bench_des(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("3DES %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("3DES %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
Des3_FreeCavium(&enc); Des3_FreeCavium(&enc);
@ -435,7 +490,7 @@ void bench_arc4(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("ARC4 %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("ARC4 %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
Arc4FreeCavium(&enc); Arc4FreeCavium(&enc);
@ -464,7 +519,7 @@ void bench_hc128(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("HC128 %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("HC128 %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif /* HAVE_HC128 */ #endif /* HAVE_HC128 */
@ -490,7 +545,7 @@ void bench_rabbit(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("RABBIT %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("RABBIT %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif /* NO_RABBIT */ #endif /* NO_RABBIT */
@ -519,7 +574,7 @@ void bench_md5(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("MD5 %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("MD5 %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif /* NO_MD5 */ #endif /* NO_MD5 */
@ -531,9 +586,13 @@ void bench_sha(void)
Sha hash; Sha hash;
byte digest[SHA_DIGEST_SIZE]; byte digest[SHA_DIGEST_SIZE];
double start, total, persec; double start, total, persec;
int i; int i, ret;
InitSha(&hash); ret = InitSha(&hash);
if (ret != 0) {
printf("InitSha failed, ret = %d\n", ret);
return;
}
start = current_time(1); start = current_time(1);
for(i = 0; i < numBlocks; i++) for(i = 0; i < numBlocks; i++)
@ -548,7 +607,7 @@ void bench_sha(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("SHA %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("SHA %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif /* NO_SHA */ #endif /* NO_SHA */
@ -561,8 +620,13 @@ void bench_sha256(void)
byte digest[SHA256_DIGEST_SIZE]; byte digest[SHA256_DIGEST_SIZE];
double start, total, persec; double start, total, persec;
int i; int i;
int ret;
InitSha256(&hash); ret = InitSha256(&hash);
if (ret != 0) {
printf("InitSha256 failed, ret = %d\n", ret);
return;
}
start = current_time(1); start = current_time(1);
for(i = 0; i < numBlocks; i++) for(i = 0; i < numBlocks; i++)
@ -577,7 +641,7 @@ void bench_sha256(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("SHA-256 %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("SHA-256 %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif
@ -588,9 +652,13 @@ void bench_sha512(void)
Sha512 hash; Sha512 hash;
byte digest[SHA512_DIGEST_SIZE]; byte digest[SHA512_DIGEST_SIZE];
double start, total, persec; double start, total, persec;
int i; int i, ret;
InitSha512(&hash); ret = InitSha512(&hash);
if (ret != 0) {
printf("InitSha512 failed, ret = %d\n", ret);
return;
}
start = current_time(1); start = current_time(1);
for(i = 0; i < numBlocks; i++) for(i = 0; i < numBlocks; i++)
@ -605,7 +673,7 @@ void bench_sha512(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("SHA-512 %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("SHA-512 %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif
@ -633,7 +701,7 @@ void bench_ripemd(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("RIPEMD %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("RIPEMD %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif
@ -662,7 +730,7 @@ void bench_blake2(void)
persec = persec / 1024; persec = persec / 1024;
#endif #endif
printf("BLAKE2b %d %s took %5.3f seconds, %6.2f MB/s\n", numBlocks, printf("BLAKE2b %d %s took %5.3f seconds, %7.3f MB/s\n", numBlocks,
blockType, total, persec); blockType, total, persec);
} }
#endif #endif
@ -670,7 +738,7 @@ void bench_blake2(void)
#if !defined(NO_RSA) || !defined(NO_DH) \ #if !defined(NO_RSA) || !defined(NO_DH) \
|| defined(CYASSL_KEYGEN) || defined(HAVE_ECC) || defined(CYASSL_KEYGEN) || defined(HAVE_ECC)
RNG rng; static RNG rng;
#endif #endif
#ifndef NO_RSA #ifndef NO_RSA
@ -679,7 +747,7 @@ RNG rng;
#if !defined(USE_CERT_BUFFERS_1024) && !defined(USE_CERT_BUFFERS_2048) && \ #if !defined(USE_CERT_BUFFERS_1024) && !defined(USE_CERT_BUFFERS_2048) && \
defined(CYASSL_MDK_SHELL) defined(CYASSL_MDK_SHELL)
static char *certRSAname = "certs/rsa2048.der" ; static char *certRSAname = "certs/rsa2048.der" ;
void set_Bench_RSA_File(char * cert) { certRSAname = cert ; } static void set_Bench_RSA_File(char * cert) { certRSAname = cert ; }
/* set by shell command */ /* set by shell command */
#elif defined(CYASSL_MDK_SHELL) #elif defined(CYASSL_MDK_SHELL)
/* nothing */ /* nothing */
@ -722,7 +790,7 @@ void bench_rsa(void)
fclose(file); fclose(file);
#endif /* USE_CERT_BUFFERS */ #endif /* USE_CERT_BUFFERS */
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
if (RsaInitCavium(&rsaKey, CAVIUM_DEV_ID) != 0) if (RsaInitCavium(&rsaKey, CAVIUM_DEV_ID) != 0)
printf("RSA init cavium failed\n"); printf("RSA init cavium failed\n");
@ -732,20 +800,24 @@ void bench_rsa(void)
printf("InitRNG failed\n"); printf("InitRNG failed\n");
return; return;
} }
InitRsaKey(&rsaKey, 0); ret = InitRsaKey(&rsaKey, 0);
if (ret < 0) {
printf("InitRsaKey failed\n");
return;
}
ret = RsaPrivateKeyDecode(tmp, &idx, &rsaKey, (word32)bytes); ret = RsaPrivateKeyDecode(tmp, &idx, &rsaKey, (word32)bytes);
start = current_time(1); start = current_time(1);
for (i = 0; i < times; i++) for (i = 0; i < ntimes; i++)
ret = RsaPublicEncrypt(message,len,enc,sizeof(enc), &rsaKey, &rng); ret = RsaPublicEncrypt(message,len,enc,sizeof(enc), &rsaKey, &rng);
total = current_time(0) - start; total = current_time(0) - start;
each = total / times; /* per second */ each = total / ntimes; /* per second */
milliEach = each * 1000; /* milliseconds */ milliEach = each * 1000; /* milliseconds */
printf("RSA %d encryption took %6.2f milliseconds, avg over %d" printf("RSA %d encryption took %6.3f milliseconds, avg over %d"
" iterations\n", rsaKeySz, milliEach, times); " iterations\n", rsaKeySz, milliEach, ntimes);
if (ret < 0) { if (ret < 0) {
printf("Rsa Public Encrypt failed\n"); printf("Rsa Public Encrypt failed\n");
@ -754,17 +826,17 @@ void bench_rsa(void)
start = current_time(1); start = current_time(1);
for (i = 0; i < times; i++) { for (i = 0; i < ntimes; i++) {
byte out[512]; /* for up to 4096 bit */ byte out[512]; /* for up to 4096 bit */
RsaPrivateDecrypt(enc, (word32)ret, out, sizeof(out), &rsaKey); RsaPrivateDecrypt(enc, (word32)ret, out, sizeof(out), &rsaKey);
} }
total = current_time(0) - start; total = current_time(0) - start;
each = total / times; /* per second */ each = total / ntimes; /* per second */
milliEach = each * 1000; /* milliseconds */ milliEach = each * 1000; /* milliseconds */
printf("RSA %d decryption took %6.2f milliseconds, avg over %d" printf("RSA %d decryption took %6.3f milliseconds, avg over %d"
" iterations\n", rsaKeySz, milliEach, times); " iterations\n", rsaKeySz, milliEach, ntimes);
FreeRsaKey(&rsaKey); FreeRsaKey(&rsaKey);
#ifdef HAVE_CAVIUM #ifdef HAVE_CAVIUM
@ -790,10 +862,10 @@ static const char *certDHname = "certs/dh2048.der" ;
void bench_dh(void) void bench_dh(void)
{ {
int i; int i, ret;
byte tmp[1024]; byte tmp[1024];
size_t bytes; size_t bytes;
word32 idx = 0, pubSz, privSz, pubSz2, privSz2, agreeSz; word32 idx = 0, pubSz, privSz = 0, pubSz2, privSz2, agreeSz;
byte pub[256]; /* for 2048 bit */ byte pub[256]; /* for 2048 bit */
byte priv[256]; /* for 2048 bit */ byte priv[256]; /* for 2048 bit */
@ -805,7 +877,7 @@ void bench_dh(void)
DhKey dhKey; DhKey dhKey;
int dhKeySz = 2048; /* used in printf */ int dhKeySz = 2048; /* used in printf */
#ifdef USE_CERT_BUFFERS_1024 #ifdef USE_CERT_BUFFERS_1024
XMEMCPY(tmp, dh_key_der_1024, sizeof_dh_key_der_1024); XMEMCPY(tmp, dh_key_der_1024, sizeof_dh_key_der_1024);
bytes = sizeof_dh_key_der_1024; bytes = sizeof_dh_key_der_1024;
@ -821,10 +893,15 @@ void bench_dh(void)
return; return;
} }
ret = InitRng(&rng);
if (ret < 0) {
printf("InitRNG failed\n");
return;
}
bytes = fread(tmp, 1, sizeof(tmp), file); bytes = fread(tmp, 1, sizeof(tmp), file);
#endif /* USE_CERT_BUFFERS */ #endif /* USE_CERT_BUFFERS */
InitDhKey(&dhKey); InitDhKey(&dhKey);
bytes = DhKeyDecode(tmp, &idx, &dhKey, (word32)bytes); bytes = DhKeyDecode(tmp, &idx, &dhKey, (word32)bytes);
if (bytes != 0) { if (bytes != 0) {
@ -837,28 +914,28 @@ void bench_dh(void)
start = current_time(1); start = current_time(1);
for (i = 0; i < times; i++) for (i = 0; i < ntimes; i++)
DhGenerateKeyPair(&dhKey, &rng, priv, &privSz, pub, &pubSz); DhGenerateKeyPair(&dhKey, &rng, priv, &privSz, pub, &pubSz);
total = current_time(0) - start; total = current_time(0) - start;
each = total / times; /* per second */ each = total / ntimes; /* per second */
milliEach = each * 1000; /* milliseconds */ milliEach = each * 1000; /* milliseconds */
printf("DH %d key generation %6.2f milliseconds, avg over %d" printf("DH %d key generation %6.3f milliseconds, avg over %d"
" iterations\n", dhKeySz, milliEach, times); " iterations\n", dhKeySz, milliEach, ntimes);
DhGenerateKeyPair(&dhKey, &rng, priv2, &privSz2, pub2, &pubSz2); DhGenerateKeyPair(&dhKey, &rng, priv2, &privSz2, pub2, &pubSz2);
start = current_time(1); start = current_time(1);
for (i = 0; i < times; i++) for (i = 0; i < ntimes; i++)
DhAgree(&dhKey, agree, &agreeSz, priv, privSz, pub2, pubSz2); DhAgree(&dhKey, agree, &agreeSz, priv, privSz, pub2, pubSz2);
total = current_time(0) - start; total = current_time(0) - start;
each = total / times; /* per second */ each = total / ntimes; /* per second */
milliEach = each * 1000; /* milliseconds */ milliEach = each * 1000; /* milliseconds */
printf("DH %d key agreement %6.2f milliseconds, avg over %d" printf("DH %d key agreement %6.3f milliseconds, avg over %d"
" iterations\n", dhKeySz, milliEach, times); " iterations\n", dhKeySz, milliEach, ntimes);
#if !defined(USE_CERT_BUFFERS_1024) && !defined(USE_CERT_BUFFERS_2048) #if !defined(USE_CERT_BUFFERS_1024) && !defined(USE_CERT_BUFFERS_2048)
fclose(file); fclose(file);
@ -873,7 +950,6 @@ void bench_rsaKeyGen(void)
RsaKey genKey; RsaKey genKey;
double start, total, each, milliEach; double start, total, each, milliEach;
int i; int i;
const int genTimes = 5;
/* 1024 bit */ /* 1024 bit */
start = current_time(1); start = current_time(1);
@ -888,7 +964,7 @@ void bench_rsaKeyGen(void)
each = total / genTimes; /* per second */ each = total / genTimes; /* per second */
milliEach = each * 1000; /* millisconds */ milliEach = each * 1000; /* millisconds */
printf("\n"); printf("\n");
printf("RSA 1024 key generation %6.2f milliseconds, avg over %d" printf("RSA 1024 key generation %6.3f milliseconds, avg over %d"
" iterations\n", milliEach, genTimes); " iterations\n", milliEach, genTimes);
/* 2048 bit */ /* 2048 bit */
@ -903,7 +979,7 @@ void bench_rsaKeyGen(void)
total = current_time(0) - start; total = current_time(0) - start;
each = total / genTimes; /* per second */ each = total / genTimes; /* per second */
milliEach = each * 1000; /* millisconds */ milliEach = each * 1000; /* millisconds */
printf("RSA 2048 key generation %6.2f milliseconds, avg over %d" printf("RSA 2048 key generation %6.3f milliseconds, avg over %d"
" iterations\n", milliEach, genTimes); " iterations\n", milliEach, genTimes);
} }
#endif /* CYASSL_KEY_GEN */ #endif /* CYASSL_KEY_GEN */
@ -913,9 +989,13 @@ void bench_eccKeyGen(void)
{ {
ecc_key genKey; ecc_key genKey;
double start, total, each, milliEach; double start, total, each, milliEach;
int i; int i, ret;
const int genTimes = 5;
ret = InitRng(&rng);
if (ret < 0) {
printf("InitRNG failed\n");
return;
}
/* 256 bit */ /* 256 bit */
start = current_time(1); start = current_time(1);
@ -928,7 +1008,7 @@ void bench_eccKeyGen(void)
each = total / genTimes; /* per second */ each = total / genTimes; /* per second */
milliEach = each * 1000; /* millisconds */ milliEach = each * 1000; /* millisconds */
printf("\n"); printf("\n");
printf("ECC 256 key generation %6.2f milliseconds, avg over %d" printf("ECC 256 key generation %6.3f milliseconds, avg over %d"
" iterations\n", milliEach, genTimes); " iterations\n", milliEach, genTimes);
} }
@ -938,15 +1018,20 @@ void bench_eccKeyAgree(void)
ecc_key genKey, genKey2; ecc_key genKey, genKey2;
double start, total, each, milliEach; double start, total, each, milliEach;
int i, ret; int i, ret;
const int agreeTimes = 5;
byte shared[1024]; byte shared[1024];
byte sig[1024]; byte sig[1024];
byte digest[32]; byte digest[32];
word32 x; word32 x = 0;
ecc_init(&genKey); ecc_init(&genKey);
ecc_init(&genKey2); ecc_init(&genKey2);
ret = InitRng(&rng);
if (ret < 0) {
printf("InitRNG failed\n");
return;
}
ret = ecc_make_key(&rng, 32, &genKey); ret = ecc_make_key(&rng, 32, &genKey);
if (ret != 0) { if (ret != 0) {
printf("ecc_make_key failed\n"); printf("ecc_make_key failed\n");
@ -963,31 +1048,56 @@ void bench_eccKeyAgree(void)
for(i = 0; i < agreeTimes; i++) { for(i = 0; i < agreeTimes; i++) {
x = sizeof(shared); x = sizeof(shared);
ecc_shared_secret(&genKey, &genKey2, shared, &x); ret = ecc_shared_secret(&genKey, &genKey2, shared, &x);
if (ret != 0) {
printf("ecc_shared_secret failed\n");
return;
}
} }
total = current_time(0) - start; total = current_time(0) - start;
each = total / agreeTimes; /* per second */ each = total / agreeTimes; /* per second */
milliEach = each * 1000; /* millisconds */ milliEach = each * 1000; /* millisconds */
printf("EC-DHE key agreement %6.2f milliseconds, avg over %d" printf("EC-DHE key agreement %6.3f milliseconds, avg over %d"
" iterations\n", milliEach, agreeTimes); " iterations\n", milliEach, agreeTimes);
/* make dummy digest */ /* make dummy digest */
for (i = 0; i < (int)sizeof(digest); i++) for (i = 0; i < (int)sizeof(digest); i++)
digest[i] = i; digest[i] = (byte)i;
start = current_time(1); start = current_time(1);
for(i = 0; i < agreeTimes; i++) { for(i = 0; i < agreeTimes; i++) {
x = sizeof(sig); x = sizeof(sig);
ecc_sign_hash(digest, sizeof(digest), sig, &x, &rng, &genKey); ret = ecc_sign_hash(digest, sizeof(digest), sig, &x, &rng, &genKey);
if (ret != 0) {
printf("ecc_sign_hash failed\n");
return;
}
} }
total = current_time(0) - start; total = current_time(0) - start;
each = total / agreeTimes; /* per second */ each = total / agreeTimes; /* per second */
milliEach = each * 1000; /* millisconds */ milliEach = each * 1000; /* millisconds */
printf("EC-DSA sign time %6.2f milliseconds, avg over %d" printf("EC-DSA sign time %6.3f milliseconds, avg over %d"
" iterations\n", milliEach, agreeTimes);
start = current_time(1);
for(i = 0; i < agreeTimes; i++) {
int verify = 0;
ret = ecc_verify_hash(sig, x, digest, sizeof(digest), &verify, &genKey);
if (ret != 0) {
printf("ecc_verify_hash failed\n");
return;
}
}
total = current_time(0) - start;
each = total / agreeTimes; /* per second */
milliEach = each * 1000; /* millisconds */
printf("EC-DSA verify time %6.3f milliseconds, avg over %d"
" iterations\n", milliEach, agreeTimes); " iterations\n", milliEach, agreeTimes);
ecc_free(&genKey2); ecc_free(&genKey2);
@ -1003,13 +1113,13 @@ void bench_eccKeyAgree(void)
double current_time(int reset) double current_time(int reset)
{ {
(void)reset;
static int init = 0; static int init = 0;
static LARGE_INTEGER freq; static LARGE_INTEGER freq;
LARGE_INTEGER count; LARGE_INTEGER count;
(void)reset;
if (!init) { if (!init) {
QueryPerformanceFrequency(&freq); QueryPerformanceFrequency(&freq);
init = 1; init = 1;
@ -1021,44 +1131,58 @@ void bench_eccKeyAgree(void)
} }
#elif defined MICROCHIP_PIC32 #elif defined MICROCHIP_PIC32
#if defined(CYASSL_MICROCHIP_PIC32MZ)
#include <peripheral/timer.h> #define CLOCK 8000000.0
#else
#include <peripheral/timer.h>
#define CLOCK 4000000.0
#endif
double current_time(int reset) double current_time(int reset)
{ {
/* NOTE: core timer tick rate = 40 Mhz, 1 tick = 25 ns */
unsigned int ns; unsigned int ns;
/* should we reset our timer back to zero? Helps prevent timer
rollover */
if (reset) { if (reset) {
WriteCoreTimer(0); WriteCoreTimer(0);
} }
/* get timer in ns */ /* get timer in ns */
ns = ReadCoreTimer() * 25; ns = ReadCoreTimer();
/* return seconds as a double */ /* return seconds as a double */
return ( ns / 1000000000.0 ); return ( ns / CLOCK * 2.0);
} }
#elif defined CYASSL_MDK_ARM #elif defined CYASSL_MDK_ARM
extern double current_time(int reset) ; extern double current_time(int reset) ;
#elif defined FREERTOS
double current_time(int reset)
{
(void) reset;
portTickType tickCount;
/* tick count == ms, if configTICK_RATE_HZ is set to 1000 */
tickCount = xTaskGetTickCount();
return (double)tickCount / 1000;
}
#else #else
#include <sys/time.h> #include <sys/time.h>
double current_time(int reset) double current_time(int reset)
{ {
(void) reset;
struct timeval tv; struct timeval tv;
(void)reset;
gettimeofday(&tv, 0); gettimeofday(&tv, 0);
return (double)tv.tv_sec + (double)tv.tv_usec / 1000000; return (double)tv.tv_sec + (double)tv.tv_usec / 1000000;
} }
#endif /* _WIN32 */ #endif /* _WIN32 */

View File

@ -46,17 +46,9 @@
#endif #endif
#include <cyassl/ssl.h> #include <cyassl/ssl.h>
#ifdef CYASSL_MDK_SHELL
extern void exit_command(void) ;
#define exit(code) exit_command()
#endif
#include <cyassl/test.h> #include <cyassl/test.h>
#include "examples/client/client.h" #include "examples/client/client.h"
#define USE_CYASSL_MEMORY
#ifdef CYASSL_CALLBACKS #ifdef CYASSL_CALLBACKS
int handShakeCB(HandShakeInfo*); int handShakeCB(HandShakeInfo*);
@ -145,10 +137,33 @@ static void Usage(void)
#ifdef SHOW_SIZES #ifdef SHOW_SIZES
printf("-z Print structure sizes\n"); printf("-z Print structure sizes\n");
#endif #endif
#ifdef HAVE_SNI
printf("-S <str> Use Host Name Indication\n"); 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) THREAD_RETURN CYASSL_THREAD client_test(void* args)
{ {
SOCKET_T sockfd = 0; SOCKET_T sockfd = 0;
@ -167,7 +182,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
int input; int input;
int msgSz = (int)strlen(msg); int msgSz = (int)strlen(msg);
int port = yasslPort; word16 port = yasslPort;
char* host = (char*)yasslIP; char* host = (char*)yasslIP;
char* domain = (char*)"www.yassl.com"; char* domain = (char*)"www.yassl.com";
@ -184,6 +199,8 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
int trackMemory = 0; int trackMemory = 0;
int useClientCert = 1; int useClientCert = 1;
int fewerPackets = 0; int fewerPackets = 0;
int atomicUser = 0;
int pkCallbacks = 0;
char* cipherList = NULL; char* cipherList = NULL;
char* verifyCert = (char*)caCert; char* verifyCert = (char*)caCert;
char* ourCert = (char*)cliCert; char* ourCert = (char*)cliCert;
@ -192,6 +209,18 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
#ifdef HAVE_SNI #ifdef HAVE_SNI
char* sniHostName = NULL; char* sniHostName = NULL;
#endif #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; int argc = ((func_args*)args)->argc;
char** argv = ((func_args*)args)->argv; char** argv = ((func_args*)args)->argv;
@ -207,8 +236,13 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
(void)session; (void)session;
(void)sslResume; (void)sslResume;
(void)trackMemory; (void)trackMemory;
(void)atomicUser;
(void)pkCallbacks;
while ((ch = mygetopt(argc, argv, "?gdusmNrtfxh:p:v:l:A:c:k:b:zS:")) != -1){ StackTrap();
while ((ch = mygetopt(argc, argv,
"?gdusmNrtfxUPh:p:v:l:A:c:k:b:zS:L:ToO:")) != -1) {
switch (ch) { switch (ch) {
case '?' : case '?' :
Usage(); Usage();
@ -248,13 +282,25 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
fewerPackets = 1; fewerPackets = 1;
break; break;
case 'U' :
#ifdef ATOMIC_USER
atomicUser = 1;
#endif
break;
case 'P' :
#ifdef HAVE_PK_CALLBACKS
pkCallbacks = 1;
#endif
break;
case 'h' : case 'h' :
host = myoptarg; host = myoptarg;
domain = myoptarg; domain = myoptarg;
break; break;
case 'p' : case 'p' :
port = atoi(myoptarg); port = (word16)atoi(myoptarg);
#if !defined(NO_MAIN_DRIVER) || defined(USE_WINDOWS_API) #if !defined(NO_MAIN_DRIVER) || defined(USE_WINDOWS_API)
if (port == 0) if (port == 0)
err_sys("port number cannot be 0"); err_sys("port number cannot be 0");
@ -313,6 +359,36 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
#endif #endif
break; 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: default:
Usage(); Usage();
exit(MY_EX_USAGE); exit(MY_EX_USAGE);
@ -388,7 +464,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
ctx = CyaSSL_CTX_new(method); ctx = CyaSSL_CTX_new(method);
if (ctx == NULL) if (ctx == NULL)
err_sys("unable to get ctx"); err_sys("unable to get ctx");
if (cipherList) if (cipherList)
if (CyaSSL_CTX_set_cipher_list(ctx, cipherList) != SSL_SUCCESS) if (CyaSSL_CTX_set_cipher_list(ctx, cipherList) != SSL_SUCCESS)
err_sys("client can't set cipher list 1"); err_sys("client can't set cipher list 1");
@ -421,7 +497,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
useClientCert = 0; useClientCert = 0;
} }
#ifdef OPENSSL_EXTRA #if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
CyaSSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack); CyaSSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif #endif
@ -434,6 +510,18 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
} }
#endif #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 #ifdef USER_CA_CB
CyaSSL_CTX_SetCACb(ctx, CaCb); CyaSSL_CTX_SetCACb(ctx, CaCb);
#endif #endif
@ -473,6 +561,16 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
!= SSL_SUCCESS) != SSL_SUCCESS)
err_sys("UseSNI failed"); err_sys("UseSNI failed");
#endif #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) { if (benchmark) {
/* time passed in number of connects give average */ /* time passed in number of connects give average */
@ -511,9 +609,6 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
ssl = CyaSSL_new(ctx); ssl = CyaSSL_new(ctx);
if (ssl == NULL) if (ssl == NULL)
err_sys("unable to get SSL object"); err_sys("unable to get SSL object");
CyaSSL_set_quiet_shutdown(ssl, 1) ;
if (doDTLS) { if (doDTLS) {
SOCKADDR_IN_T addr; SOCKADDR_IN_T addr;
build_addr(&addr, host, port, 1); build_addr(&addr, host, port, 1);
@ -531,6 +626,14 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
err_sys("can't load crl, check crlfile and date validity"); err_sys("can't load crl, check crlfile and date validity");
if (CyaSSL_SetCRL_Cb(ssl, CRL_CallBack) != SSL_SUCCESS) if (CyaSSL_SetCRL_Cb(ssl, CRL_CallBack) != SSL_SUCCESS)
err_sys("can't set crl callback"); 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 #endif
if (matchName && doPeerCheck) if (matchName && doPeerCheck)
CyaSSL_check_domain_name(ssl, domain); CyaSSL_check_domain_name(ssl, domain);
@ -543,7 +646,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
else if (CyaSSL_connect(ssl) != SSL_SUCCESS) { else if (CyaSSL_connect(ssl) != SSL_SUCCESS) {
/* see note at top of README */ /* see note at top of README */
int err = CyaSSL_get_error(ssl, 0); int err = CyaSSL_get_error(ssl, 0);
char buffer[80]; char buffer[CYASSL_MAX_ERROR_SZ];
printf("err = %d, %s\n", err, printf("err = %d, %s\n", err,
CyaSSL_ERR_error_string(err, buffer)); CyaSSL_ERR_error_string(err, buffer));
err_sys("SSL_connect failed"); err_sys("SSL_connect failed");
@ -559,7 +662,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
if (sendGET) { if (sendGET) {
printf("SSL connect ok, sending GET...\n"); printf("SSL connect ok, sending GET...\n");
msgSz = 28; msgSz = 28;
strncpy(msg, "GET / HTTP/1.0\r\n\r\n", msgSz); strncpy(msg, "GET /index.html HTTP/1.0\r\n\r\n", msgSz);
msg[msgSz] = '\0'; msg[msgSz] = '\0';
} }
if (CyaSSL_write(ssl, msg, msgSz) != msgSz) if (CyaSSL_write(ssl, msg, msgSz) != msgSz)
@ -568,32 +671,25 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
input = CyaSSL_read(ssl, reply, sizeof(reply)-1); input = CyaSSL_read(ssl, reply, sizeof(reply)-1);
if (input > 0) { if (input > 0) {
reply[input] = 0; reply[input] = 0;
printf("Server response: %s", reply); printf("Server response: %s\n", reply);
if (sendGET && (input == (sizeof(reply)-1))) { /* get html */ if (sendGET) { /* get html */
while (1) { while (1) {
input = CyaSSL_read(ssl, reply, sizeof(reply)-1); input = CyaSSL_read(ssl, reply, sizeof(reply)-1);
if (input > 0) { if (input > 0) {
reply[input] = 0; reply[input] = 0;
printf("%s", reply); printf("%s\n", reply);
if(input < sizeof(reply)-1)
break ;
} }
else else
break; break;
} }
} }
printf("\n");
} }
else if (input < 0) { else if (input < 0) {
int readErr = CyaSSL_get_error(ssl, 0); int readErr = CyaSSL_get_error(ssl, 0);
if (readErr != SSL_ERROR_WANT_READ) if (readErr != SSL_ERROR_WANT_READ)
err_sys("CyaSSL_read failed"); err_sys("CyaSSL_read failed");
} }
#ifdef CYASSL_CMSIS_RTOS
osDelay(5000) ;
#endif
#ifndef NO_SESSION_CACHE #ifndef NO_SESSION_CACHE
if (resumeSession) { if (resumeSession) {
@ -610,6 +706,10 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
if (doDTLS == 0) /* don't send alert after "break" command */ if (doDTLS == 0) /* don't send alert after "break" command */
CyaSSL_shutdown(ssl); /* echoserver will interpret as new conn */ CyaSSL_shutdown(ssl); /* echoserver will interpret as new conn */
#ifdef ATOMIC_USER
if (atomicUser)
FreeAtomicUser(ssl);
#endif
CyaSSL_free(ssl); CyaSSL_free(ssl);
CloseSocket(sockfd); CloseSocket(sockfd);
@ -711,11 +811,13 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
args.argv = argv; args.argv = argv;
CyaSSL_Init(); CyaSSL_Init();
#if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL) #if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL) && !defined(STACK_TRAP)
CyaSSL_Debugging_ON(); CyaSSL_Debugging_ON();
#endif #endif
if (CurrentDir("client") || CurrentDir("build")) if (CurrentDir("client"))
ChangeDirBack(2); ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
#ifdef HAVE_STACK_SIZE #ifdef HAVE_STACK_SIZE
StackSizeCheck(&args, client_test); StackSizeCheck(&args, client_test);

View File

@ -28,18 +28,18 @@
#include <cyassl/openssl/ssl.h> #include <cyassl/openssl/ssl.h>
#if defined(CYASSL_MDK_ARM) #if defined(CYASSL_MDK_ARM)
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#if defined(CYASSL_MDK5) #if defined(CYASSL_MDK5)
#include "cmsis_os.h" #include "cmsis_os.h"
#include "rl_fs.h" #include "rl_fs.h"
#include "rl_net.h" #include "rl_net.h"
#else #else
#include "rtl.h" #include "rtl.h"
#endif #endif
#include "cyassl_MDK_ARM.h" #include "cyassl_MDK_ARM.h"
#endif #endif
#include <cyassl/test.h> #include <cyassl/test.h>
@ -68,11 +68,11 @@ void echoclient_test(void* args)
int sendSz; int sendSz;
int argc = 0; int argc = 0;
char** argv = 0; char** argv = 0;
int port = yasslPort; word16 port = yasslPort;
((func_args*)args)->return_code = -1; /* error state */ ((func_args*)args)->return_code = -1; /* error state */
#ifndef CYASSL_MDK_ARM #ifndef CYASSL_MDK_SHELL
argc = ((func_args*)args)->argc; argc = ((func_args*)args)->argc;
argv = ((func_args*)args)->argv; argv = ((func_args*)args)->argv;
#endif #endif
@ -104,9 +104,6 @@ void echoclient_test(void* args)
#if defined(NO_MAIN_DRIVER) && !defined(USE_WINDOWS_API) && !defined(CYASSL_MDK_SHELL) #if defined(NO_MAIN_DRIVER) && !defined(USE_WINDOWS_API) && !defined(CYASSL_MDK_SHELL)
port = ((func_args*)args)->signal->port; port = ((func_args*)args)->signal->port;
#endif #endif
#if defined (CYASSL_CALLEE_PORT)
port = CYASSL_CALLEE_PORT ;
#endif
#if defined(CYASSL_DTLS) #if defined(CYASSL_DTLS)
method = DTLSv1_client_method(); method = DTLSv1_client_method();
@ -150,7 +147,7 @@ void echoclient_test(void* args)
#endif #endif
} }
#ifdef OPENSSL_EXTRA #if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
SSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack); SSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif #endif
@ -159,8 +156,8 @@ void echoclient_test(void* args)
#endif #endif
ssl = SSL_new(ctx); ssl = SSL_new(ctx);
CyaSSL_set_quiet_shutdown(ssl, 1) ;
if (doDTLS) { if (doDTLS) {
SOCKADDR_IN_T addr; SOCKADDR_IN_T addr;
build_addr(&addr, yasslIP, port, 1); build_addr(&addr, yasslIP, port, 1);
@ -221,10 +218,6 @@ void echoclient_test(void* args)
#endif #endif
} }
#ifdef CYASSL_CMSIS_RTOS
osDelay(5000) ;
#endif
#ifdef CYASSL_DTLS #ifdef CYASSL_DTLS
strncpy(msg, "break", 6); strncpy(msg, "break", 6);
@ -270,8 +263,10 @@ void echoclient_test(void* args)
CyaSSL_Debugging_ON(); CyaSSL_Debugging_ON();
#endif #endif
if (CurrentDir("echoclient") || CurrentDir("build")) if (CurrentDir("echoclient"))
ChangeDirBack(2); ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
echoclient_test(&args); echoclient_test(&args);
CyaSSL_Cleanup(); CyaSSL_Cleanup();

View File

@ -26,18 +26,18 @@
#include <cyassl/ctaocrypt/settings.h> #include <cyassl/ctaocrypt/settings.h>
#if defined(CYASSL_MDK_ARM) #if defined(CYASSL_MDK_ARM)
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#if defined(CYASSL_MDK5) #if defined(CYASSL_MDK5)
#include "cmsis_os.h" #include "cmsis_os.h"
#include "rl_fs.h" #include "rl_fs.h"
#include "rl_net.h" #include "rl_net.h"
#else #else
#include "rtl.h" #include "rtl.h"
#endif #endif
#include "cyassl_MDK_ARM.h" #include "cyassl_MDK_ARM.h"
#endif #endif
#include <cyassl/ssl.h> #include <cyassl/ssl.h>
@ -56,7 +56,7 @@
#define SVR_COMMAND_SIZE 256 #define SVR_COMMAND_SIZE 256
static void SignalReady(void* args, int port) static void SignalReady(void* args, word16 port)
{ {
#if defined(_POSIX_THREADS) && defined(NO_MAIN_DRIVER) && !defined(__MINGW32__) #if defined(_POSIX_THREADS) && defined(NO_MAIN_DRIVER) && !defined(__MINGW32__)
/* signal ready to tcp_accept */ /* signal ready to tcp_accept */
@ -84,7 +84,7 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
int outCreated = 0; int outCreated = 0;
int shutDown = 0; int shutDown = 0;
int useAnyAddr = 0; int useAnyAddr = 0;
int port = yasslPort; word16 port = yasslPort;
int argc = ((func_args*)args)->argc; int argc = ((func_args*)args)->argc;
char** argv = ((func_args*)args)->argv; char** argv = ((func_args*)args)->argv;
@ -115,7 +115,7 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
#endif #endif
#if defined(NO_MAIN_DRIVER) && !defined(USE_WINDOWS_API) && \ #if defined(NO_MAIN_DRIVER) && !defined(USE_WINDOWS_API) && \
!defined(CYASSL_SNIFFER) && !defined(CYASSL_MDK_ARM) !defined(CYASSL_SNIFFER) && !defined(CYASSL_MDK_SHELL)
port = 0; port = 0;
#endif #endif
#if defined(USE_ANY_ADDR) #if defined(USE_ANY_ADDR)
@ -133,7 +133,7 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
ctx = CyaSSL_CTX_new(method); ctx = CyaSSL_CTX_new(method);
/* CyaSSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF); */ /* CyaSSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF); */
#ifdef OPENSSL_EXTRA #if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
CyaSSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack); CyaSSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif #endif
@ -226,8 +226,6 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
ssl = CyaSSL_new(ctx); ssl = CyaSSL_new(ctx);
if (ssl == NULL) err_sys("SSL_new failed"); if (ssl == NULL) err_sys("SSL_new failed");
CyaSSL_set_quiet_shutdown(ssl, 1) ;
CyaSSL_set_fd(ssl, clientfd); CyaSSL_set_fd(ssl, clientfd);
#if !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA) #if !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA)
CyaSSL_SetTmpDH_file(ssl, dhParam, SSL_FILETYPE_PEM); CyaSSL_SetTmpDH_file(ssl, dhParam, SSL_FILETYPE_PEM);
@ -313,9 +311,7 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
SignalReady(args, port); SignalReady(args, port);
#endif #endif
} }
#ifdef CYASSL_CMSIS_RTOS
osDelay(5000) ;
#endif
CloseSocket(sockfd); CloseSocket(sockfd);
CyaSSL_CTX_free(ctx); CyaSSL_CTX_free(ctx);
@ -351,8 +347,10 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
#if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL) #if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL)
CyaSSL_Debugging_ON(); CyaSSL_Debugging_ON();
#endif #endif
if (CurrentDir("echoserver") || CurrentDir("build")) if (CurrentDir("echoserver"))
ChangeDirBack(2); ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
echoserver_test(&args); echoserver_test(&args);
CyaSSL_Cleanup(); CyaSSL_Cleanup();

View File

@ -79,9 +79,10 @@ char* myoptarg = NULL;
int main() int main()
{ {
void *arg = NULL ; void *arg = NULL ;
init_time() ;
init_filesystem (); init_filesystem ();
net_initialize() ; net_initialize() ;
init_time() ;
osThreadCreate (osThread (tcp_poll), NULL); osThreadCreate (osThread (tcp_poll), NULL);
osDelay(10000) ; /* wait for DHCP */ osDelay(10000) ; /* wait for DHCP */
#if defined(DEBUG_CYASSL) #if defined(DEBUG_CYASSL)

View File

@ -31,27 +31,20 @@
#endif #endif
#if defined(CYASSL_MDK_ARM) #if defined(CYASSL_MDK_ARM)
#include <stdio.h> #include <stdio.h>
#include <string.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
#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/openssl/ssl.h>
#ifdef CYASSL_MDK_SHELL
extern void exit_command(void) ;
#define exit(code) exit_command()
#endif
#include <cyassl/test.h> #include <cyassl/test.h>
#include "examples/server/server.h" #include "examples/server/server.h"
@ -137,6 +130,13 @@ static void Usage(void)
printf("-f Fewer packets/group messages\n"); printf("-f Fewer packets/group messages\n");
printf("-N Use Non-blocking sockets\n"); printf("-N Use Non-blocking sockets\n");
printf("-S <str> Use Host Name Indication\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) THREAD_RETURN CYASSL_THREAD server_test(void* args)
@ -153,15 +153,16 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
int idx; int idx;
int ch; int ch;
int version = SERVER_DEFAULT_VERSION; int version = SERVER_DEFAULT_VERSION;
int doCliCertCheck = 1; int doCliCertCheck = 0; /* = 0 for no Realtime Clock environment */
int useAnyAddr = 0; int useAnyAddr = 0;
int port = yasslPort; word16 port = yasslPort;
int usePsk = 0; int usePsk = 0;
int doDTLS = 0; int doDTLS = 0;
int useNtruKey = 0; int useNtruKey = 0;
int nonBlocking = 0; int nonBlocking = 0;
int trackMemory = 0; int trackMemory = 0;
int fewerPackets = 0; int fewerPackets = 0;
int pkCallbacks = 0;
char* cipherList = NULL; char* cipherList = NULL;
char* verifyCert = (char*)cliCert; char* verifyCert = (char*)cliCert;
char* ourCert = (char*)svrCert; char* ourCert = (char*)svrCert;
@ -173,6 +174,11 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
char* sniHostName = NULL; char* sniHostName = NULL;
#endif #endif
#ifdef HAVE_OCSP
int useOcsp = 0;
char* ocspUrl = NULL;
#endif
((func_args*)args)->return_code = -1; /* error state */ ((func_args*)args)->return_code = -1; /* error state */
#ifdef NO_RSA #ifdef NO_RSA
@ -181,8 +187,9 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
ourKey = (char*)eccKey; ourKey = (char*)eccKey;
#endif #endif
(void)trackMemory; (void)trackMemory;
(void)pkCallbacks;
while ((ch = mygetopt(argc, argv, "?dbstnNufp:v:l:A:c:k:S:")) != -1) { while ((ch = mygetopt(argc, argv, "?dbstnNufPp:v:l:A:c:k:S:oO:")) != -1) {
switch (ch) { switch (ch) {
case '?' : case '?' :
Usage(); Usage();
@ -218,8 +225,14 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
fewerPackets = 1; fewerPackets = 1;
break; break;
case 'P' :
#ifdef HAVE_PK_CALLBACKS
pkCallbacks = 1;
#endif
break;
case 'p' : case 'p' :
port = atoi(myoptarg); port = (word16)atoi(myoptarg);
#if !defined(NO_MAIN_DRIVER) || defined(USE_WINDOWS_API) #if !defined(NO_MAIN_DRIVER) || defined(USE_WINDOWS_API)
if (port == 0) if (port == 0)
err_sys("port number cannot be 0"); err_sys("port number cannot be 0");
@ -260,6 +273,19 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
#endif #endif
break; break;
case 'o' :
#ifdef HAVE_OCSP
useOcsp = 1;
#endif
break;
case 'O' :
#ifdef HAVE_OCSP
useOcsp = 1;
ocspUrl = myoptarg;
#endif
break;
default: default:
Usage(); Usage();
exit(MY_EX_USAGE); exit(MY_EX_USAGE);
@ -347,13 +373,13 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
usePsk = 1; usePsk = 1;
#endif #endif
#ifdef OPENSSL_EXTRA
SSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif
if (fewerPackets) if (fewerPackets)
CyaSSL_CTX_set_group_messages(ctx); 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 !defined(NO_FILESYSTEM) && !defined(NO_CERTS)
if (!usePsk) { if (!usePsk) {
if (SSL_CTX_use_certificate_file(ctx, ourCert, SSL_FILETYPE_PEM) if (SSL_CTX_use_certificate_file(ctx, ourCert, SSL_FILETYPE_PEM)
@ -376,8 +402,8 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
if (!useNtruKey && !usePsk) { if (!useNtruKey && !usePsk) {
if (SSL_CTX_use_PrivateKey_file(ctx, ourKey, SSL_FILETYPE_PEM) if (SSL_CTX_use_PrivateKey_file(ctx, ourKey, SSL_FILETYPE_PEM)
!= SSL_SUCCESS) != SSL_SUCCESS)
err_sys("can't load server cert file, check file and run from" err_sys("can't load server private key file, check file and run "
" CyaSSL home dir"); "from CyaSSL home dir");
} }
#endif #endif
@ -417,27 +443,38 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
#endif #endif
#ifdef HAVE_SNI #ifdef HAVE_SNI
if (sniHostName) { if (sniHostName)
if (CyaSSL_CTX_UseSNI(ctx, CYASSL_SNI_HOST_NAME, sniHostName, if (CyaSSL_CTX_UseSNI(ctx, CYASSL_SNI_HOST_NAME, sniHostName,
XSTRLEN(sniHostName)) != SSL_SUCCESS) XSTRLEN(sniHostName)) != SSL_SUCCESS)
err_sys("UseSNI failed"); err_sys("UseSNI failed");
else
CyaSSL_CTX_SNI_SetOptions(ctx, CYASSL_SNI_HOST_NAME,
CYASSL_SNI_ABORT_ON_MISMATCH);
}
#endif #endif
ssl = SSL_new(ctx); ssl = SSL_new(ctx);
if (ssl == NULL) if (ssl == NULL)
err_sys("unable to get SSL"); err_sys("unable to get SSL");
CyaSSL_set_quiet_shutdown(ssl, 1) ;
#ifdef HAVE_CRL #ifdef HAVE_CRL
CyaSSL_EnableCRL(ssl, 0); CyaSSL_EnableCRL(ssl, 0);
CyaSSL_LoadCRL(ssl, crlPemDir, SSL_FILETYPE_PEM, CYASSL_CRL_MONITOR | CyaSSL_LoadCRL(ssl, crlPemDir, SSL_FILETYPE_PEM, CYASSL_CRL_MONITOR |
CYASSL_CRL_START_MON); CYASSL_CRL_START_MON);
CyaSSL_SetCRL_Cb(ssl, CRL_CallBack); CyaSSL_SetCRL_Cb(ssl, CRL_CallBack);
#endif #endif
osDelay(5000) ; #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); tcp_accept(&sockfd, &clientfd, (func_args*)args, port, useAnyAddr, doDTLS);
if (!doDTLS) if (!doDTLS)
CloseSocket(sockfd); CloseSocket(sockfd);
@ -450,7 +487,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
SetDH(ssl); /* repick suites with DHE, higher priority than PSK */ SetDH(ssl); /* repick suites with DHE, higher priority than PSK */
#endif #endif
} }
osDelay(5000) ;
#ifndef CYASSL_CALLBACKS #ifndef CYASSL_CALLBACKS
if (nonBlocking) { if (nonBlocking) {
CyaSSL_set_using_nonblock(ssl, 1); CyaSSL_set_using_nonblock(ssl, 1);
@ -458,7 +495,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
NonBlockingSSL_Accept(ssl); NonBlockingSSL_Accept(ssl);
} else if (SSL_accept(ssl) != SSL_SUCCESS) { } else if (SSL_accept(ssl) != SSL_SUCCESS) {
int err = SSL_get_error(ssl, 0); int err = SSL_get_error(ssl, 0);
char buffer[80]; char buffer[CYASSL_MAX_ERROR_SZ];
printf("error = %d, %s\n", err, ERR_error_string(err, buffer)); printf("error = %d, %s\n", err, ERR_error_string(err, buffer));
err_sys("SSL_accept failed"); err_sys("SSL_accept failed");
} }
@ -466,7 +503,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
NonBlockingSSL_Accept(ssl); NonBlockingSSL_Accept(ssl);
#endif #endif
showPeer(ssl); showPeer(ssl);
osDelay(5000) ;
idx = SSL_read(ssl, input, sizeof(input)-1); idx = SSL_read(ssl, input, sizeof(input)-1);
if (idx > 0) { if (idx > 0) {
input[idx] = 0; input[idx] = 0;
@ -482,6 +519,10 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
if (SSL_write(ssl, msg, sizeof(msg)) != sizeof(msg)) if (SSL_write(ssl, msg, sizeof(msg)) != sizeof(msg))
err_sys("SSL_write failed"); err_sys("SSL_write failed");
#if defined(CYASSL_MDK_SHELL) && defined(HAVE_MDK_RTX)
os_dly_wait(500) ;
#endif
SSL_shutdown(ssl); SSL_shutdown(ssl);
SSL_free(ssl); SSL_free(ssl);
SSL_CTX_free(ctx); SSL_CTX_free(ctx);
@ -520,8 +561,10 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
#if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL) #if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL)
CyaSSL_Debugging_ON(); CyaSSL_Debugging_ON();
#endif #endif
if (CurrentDir("server") || CurrentDir("build")) if (CurrentDir("server"))
ChangeDirBack(2); ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
#ifdef HAVE_STACK_SIZE #ifdef HAVE_STACK_SIZE
StackSizeCheck(&args, server_test); StackSizeCheck(&args, server_test);

View File

@ -96,7 +96,6 @@ extern void ctaocrypt_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) ;
extern void time_main(void *args) ;
extern void ipaddr_comm(void *args) ; extern void ipaddr_comm(void *args) ;
extern void stack_comm(void *args) ; extern void stack_comm(void *args) ;
extern void for_command(void *args) ; extern void for_command(void *args) ;
@ -214,7 +213,6 @@ static struct {
"test", ctaocrypt_test, "test", ctaocrypt_test,
"client", client_test, "client", client_test,
"server", server_test, "server", server_test,
"time", time_main, /* get/set RTC: [-d mm/dd/yyyy] [-t hh:mm:ss]*/
"ipaddr", ipaddr_comm, /* TBD */ "ipaddr", ipaddr_comm, /* TBD */
"stack", stack_comm, /* On/Off check stack size */ "stack", stack_comm, /* On/Off check stack size */
"for", for_command, /* iterate next command X times */ "for", for_command, /* iterate next command X times */
@ -470,7 +468,6 @@ static void dbg_comm(void *args)
static void help_comm(void *args) static void help_comm(void *args)
{ {
static char *commands[] = { static char *commands[] = {
"time [-d mm/dd/yyyy][-t hh:mm:ss] : set/get time, for cert validation",
"test", "test",
"benchmark", "benchmark",
"echoserver& : simple echo server in background mode", "echoserver& : simple echo server in background mode",
@ -604,7 +601,6 @@ void shell_main(void *arg) {
#if defined(HAVE_KEIL_RTX) #if defined(HAVE_KEIL_RTX)
InitMutex(&command_mutex) ; InitMutex(&command_mutex) ;
#endif #endif
time_main(NULL) ;
help_comm(NULL) ; help_comm(NULL) ;
printf("Starting Shell\n") ; printf("Starting Shell\n") ;
@ -617,14 +613,14 @@ void shell_main(void *arg) {
#if defined(HAVE_KEIL_RTX) && !defined(CYASSL_CMSIS_RTOS) #if defined(HAVE_KEIL_RTX) && !defined(CYASSL_CMSIS_RTOS)
UnLockMutex((CyaSSL_Mutex *)&command_mutex) ; UnLockMutex((CyaSSL_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) ;
#else #else
#if defined(CYASSL_CMSIS_RTOS) #if defined(CYASSL_CMSIS_RTOS)
UnLockMutex((CyaSSL_Mutex *)&command_mutex) ; UnLockMutex((CyaSSL_Mutex *)&command_mutex) ;
osThreadCreate (osThread (command_invoke) , &args); osThreadCreate (osThread (command_invoke) , &args);
#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((CyaSSL_Mutex *)&command_mutex) ;

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,82 @@
/* time-STM32F2.c
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "time.h"
#define PERIPH_BASE ((uint32_t)0x40000000)
/*-----------------------------------------------------------------------------
* initialize RTC
*----------------------------------------------------------------------------*/
#include "stm32f2xx.h"
#define assert_param(a)
#if 0
#define RTC_RSF_MASK ((uint32_t)0xFFFFFF5F)
#define SYNCHRO_TIMEOUT ((uint32_t) 0x00008000)
#define Bcd2ToByte(v) \
((((uint8_t)(v & (uint8_t)0xF0) >> (uint8_t)0x4) * 10) + (v & (uint8_t)0x0F))
#define RTC_TR_RESERVED_MASK ((uint32_t)0x007F7F7F)
#define RTC_TR_MNT ((uint32_t)0x00007000)
#define RTC_TR_MNU ((uint32_t)0x00000F00)
#define PWR_OFFSET (PWR_BASE - PERIPH_BASE)
#define CR_OFFSET (PWR_OFFSET + 0x00)
#define DBP_BitNumber 0x08
#define CR_DBP_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (DBP_BitNumber * 4))
#define RTC_INIT_MASK ((uint32_t)0xFFFFFFFF)
#define INITMODE_TIMEOUT ((uint32_t) 0x00010000)
#endif
/*-----------------------------------------------------------------------------
* initialize TIM
*----------------------------------------------------------------------------*/
#define RCC_APB1Periph_TIM2 ((uint32_t)0x00000001)
void init_time(void)
{
uint16_t tmpcr1 = 0;
((uint32_t *)RCC)[0x10] |= RCC_APB1Periph_TIM2 ;
tmpcr1 = TIM2->CR1 ;
tmpcr1 &= (uint16_t) (~(((uint16_t)0x0010) | ((uint16_t)0x0060) ));
/* CR1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS) */
tmpcr1 |= (uint16_t)0x0000 ; /* CR1 |= TIM_CounterMode_Up */
TIM2->CR1= tmpcr1 ;
TIM2->ARR = 0xffffffff ; /* ARR= TIM_Period */
TIM2->PSC = 60 ; /* PSC = TIM_Prescaler */
TIM2->EGR = ((uint16_t)0x0001) ; /* EGR = TIM_PSCReloadMode_Immediate */
*(uint16_t *)(PERIPH_BASE+0x0) |=((uint16_t)0x0001) ;
/* TIM_Cmd(TIM2, ENABLE) ; */
}
double current_time()
{
return ((double)TIM2->CNT/1000000.0) ;
}

View File

@ -0,0 +1,34 @@
/* time-dummy.c.c
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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 ; }

View File

@ -1,7 +1,7 @@
This program is echo client with CyaSSL/wolfCrypt library. This program is echo client with CyaSSL/wolfCrypt library.
In order to run this program, In order to run this program,
Copy {PACK}\wolfSSL\CyaSSL\2.8.0\cyassl\certs folder and files to the SD memory. Copy {PACK}\wolfSSL\CyaSSL\{version}\cyassl\certs folder and files to the SD memory.
Set config-EchoClient.h configuration file for the Callee IP or Port number. Set config-EchoClient.h configuration file for the Callee IP or Port number.
For further configuration, refer config-Crypt.h and config-CyaSSL.h. For further configuration, refer config-Crypt.h and config-CyaSSL.h.

File diff suppressed because it is too large Load Diff

View File

@ -139,6 +139,8 @@
<RestoreFunctions>0</RestoreFunctions> <RestoreFunctions>0</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox> <RestoreToolbox>1</RestoreToolbox>
<RestoreTracepoints>1</RestoreTracepoints> <RestoreTracepoints>1</RestoreTracepoints>
<RestoreTracepoints>1</RestoreTracepoints>
<RestoreTracepoints>1</RestoreTracepoints>
</Target> </Target>
<RunDebugAfterBuild>0</RunDebugAfterBuild> <RunDebugAfterBuild>0</RunDebugAfterBuild>
<TargetSelection>8</TargetSelection> <TargetSelection>8</TargetSelection>
@ -353,9 +355,11 @@
<wLevel>0</wLevel> <wLevel>0</wLevel>
<uThumb>0</uThumb> <uThumb>0</uThumb>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<uC99>0</uC99>
<useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define>HAVE_CONFIG_H MDK_CONF_EchoClient CYASSL_STM32F2xx</Define> <Define>HAVE_CONFIG_H MDK_CONF_EchoClient</Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath></IncludePath> <IncludePath></IncludePath>
</VariousControls> </VariousControls>
@ -369,6 +373,7 @@
<SwStkChk>0</SwStkChk> <SwStkChk>0</SwStkChk>
<NoWarn>0</NoWarn> <NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define></Define> <Define></Define>
@ -385,6 +390,7 @@
<useFile>0</useFile> <useFile>0</useFile>
<TextAddressRange>0x08000000</TextAddressRange> <TextAddressRange>0x08000000</TextAddressRange>
<DataAddressRange>0x20000000</DataAddressRange> <DataAddressRange>0x20000000</DataAddressRange>
<pXoBase></pXoBase>
<ScatterFile></ScatterFile> <ScatterFile></ScatterFile>
<IncludeLibs></IncludeLibs> <IncludeLibs></IncludeLibs>
<IncludeLibsPath></IncludeLibsPath> <IncludeLibsPath></IncludeLibsPath>
@ -413,11 +419,6 @@
<Group> <Group>
<GroupName>Configuration</GroupName> <GroupName>Configuration</GroupName>
<Files> <Files>
<File>
<FileName>config-EchoClient.h</FileName>
<FileType>5</FileType>
<FilePath>.\config-EchoClient.h</FilePath>
</File>
<File> <File>
<FileName>config-CyaSSL.h</FileName> <FileName>config-CyaSSL.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
@ -428,6 +429,11 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath> <FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath>
</File> </File>
<File>
<FileName>Net_Config_ETH_0.h</FileName>
<FileType>5</FileType>
<FilePath>.\RTE\Network\Net_Config_ETH_0.h</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -441,18 +447,28 @@
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::CMSIS</GroupName> <GroupName>Devices</GroupName>
<Files> <Files>
<File> <File>
<FileName>RTX_CM3.lib</FileName> <FileName>time-dummy.c</FileName>
<FileType>4</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\ARM\CMSIS\3.20.3\CMSIS_RTX\Lib\ARM\RTX_CM3.lib</FilePath> <FilePath>.\time-dummy.c</FilePath>
</File> </File>
</Files>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
<Files>
<File> <File>
<FileName>RTX_Conf_CM.c</FileName> <FileName>RTX_Conf_CM.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath> <FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath>
</File> </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> </Files>
</Group> </Group>
<Group> <Group>
@ -488,11 +504,6 @@
<Group> <Group>
<GroupName>::Drivers</GroupName> <GroupName>::Drivers</GroupName>
<Files> <Files>
<File>
<FileName>PHY_ST802RT1.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\Network\Driver\PHY_ST802RT1.c</FilePath>
</File>
<File> <File>
<FileName>EMAC_STM32F2xx.c</FileName> <FileName>EMAC_STM32F2xx.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -503,16 +514,16 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.4\RTE_Driver\MCI_STM32F2xx.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.4\RTE_Driver\MCI_STM32F2xx.c</FilePath>
</File> </File>
<File>
<FileName>PHY_ST802RT1.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\Network\Driver\PHY_ST802RT1.c</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::File System</GroupName> <GroupName>::File System</GroupName>
<Files> <Files>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
<File> <File>
<FileName>FS_Config.c</FileName> <FileName>FS_Config.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -523,16 +534,16 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath> <FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath>
</File> </File>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::Network</GroupName> <GroupName>::Network</GroupName>
<Files> <Files>
<File>
<FileName>Net_Dbg_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\Network\Lib\ARM\Net_Dbg_CM3_L.lib</FilePath>
</File>
<File> <File>
<FileName>Net_Config.c</FileName> <FileName>Net_Config.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -568,221 +579,16 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>RTE\Network\Net_Debug.c</FilePath> <FilePath>RTE\Network\Net_Debug.c</FilePath>
</File> </File>
<File>
<FileName>Net_Dbg_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\Network\Lib\ARM\Net_Dbg_CM3_L.lib</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::wolfSSL</GroupName> <GroupName>::wolfSSL</GroupName>
<Files> <Files>
<File>
<FileName>cyassl_MDK_ARM.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\cyassl_MDK_ARM.c</FilePath>
</File>
<File>
<FileName>time-STM32F2xx.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib\time-STM32F2xx.c</FilePath>
</File>
<File>
<FileName>aes.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\aes.c</FilePath>
</File>
<File>
<FileName>arc4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\arc4.c</FilePath>
</File>
<File>
<FileName>asm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\asm.c</FilePath>
</File>
<File>
<FileName>asn.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\asn.c</FilePath>
</File>
<File>
<FileName>blake2b.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\blake2b.c</FilePath>
</File>
<File>
<FileName>camellia.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\camellia.c</FilePath>
</File>
<File>
<FileName>coding.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\coding.c</FilePath>
</File>
<File>
<FileName>compress.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\compress.c</FilePath>
</File>
<File>
<FileName>des3.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\des3.c</FilePath>
</File>
<File>
<FileName>dh.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\dh.c</FilePath>
</File>
<File>
<FileName>dsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\dsa.c</FilePath>
</File>
<File>
<FileName>ecc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ecc.c</FilePath>
</File>
<File>
<FileName>ecc_fp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ecc_fp.c</FilePath>
</File>
<File>
<FileName>error.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\error.c</FilePath>
</File>
<File>
<FileName>hc128.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\hc128.c</FilePath>
</File>
<File>
<FileName>hmac.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\hmac.c</FilePath>
</File>
<File>
<FileName>integer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\integer.c</FilePath>
</File>
<File>
<FileName>logging.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\logging.c</FilePath>
</File>
<File>
<FileName>md2.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md2.c</FilePath>
</File>
<File>
<FileName>md4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md4.c</FilePath>
</File>
<File>
<FileName>md5.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md5.c</FilePath>
</File>
<File>
<FileName>memory.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\memory.c</FilePath>
</File>
<File>
<FileName>misc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\misc.c</FilePath>
</File>
<File>
<FileName>pwdbased.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\pwdbased.c</FilePath>
</File>
<File>
<FileName>rabbit.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\rabbit.c</FilePath>
</File>
<File>
<FileName>random.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\random.c</FilePath>
</File>
<File>
<FileName>ripemd.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ripemd.c</FilePath>
</File>
<File>
<FileName>rsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\rsa.c</FilePath>
</File>
<File>
<FileName>sha.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha.c</FilePath>
</File>
<File>
<FileName>sha256.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha256.c</FilePath>
</File>
<File>
<FileName>sha512.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha512.c</FilePath>
</File>
<File>
<FileName>tfm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\tfm.c</FilePath>
</File>
<File>
<FileName>crl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\crl.c</FilePath>
</File>
<File>
<FileName>internal.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\internal.c</FilePath>
</File>
<File>
<FileName>io.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\io.c</FilePath>
</File>
<File>
<FileName>keys.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\keys.c</FilePath>
</File>
<File>
<FileName>ocsp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\ocsp.c</FilePath>
</File>
<File>
<FileName>sniffer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\sniffer.c</FilePath>
</File>
<File>
<FileName>ssl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\ssl.c</FilePath>
</File>
<File>
<FileName>tls.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\tls.c</FilePath>
</File>
<File> <File>
<FileName>config-Crypt.h</FileName> <FileName>config-Crypt.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
@ -794,9 +600,219 @@
<FilePath>RTE\wolfSSL\config-CyaSSL.h</FilePath> <FilePath>RTE\wolfSSL\config-CyaSSL.h</FilePath>
</File> </File>
<File> <File>
<FileName>config.h</FileName> <FileName>aes.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\aes.c</FilePath>
</File>
<File>
<FileName>arc4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\arc4.c</FilePath>
</File>
<File>
<FileName>asm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\asm.c</FilePath>
</File>
<File>
<FileName>asn.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\asn.c</FilePath>
</File>
<File>
<FileName>blake2b.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\blake2b.c</FilePath>
</File>
<File>
<FileName>camellia.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\camellia.c</FilePath>
</File>
<File>
<FileName>coding.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\coding.c</FilePath>
</File>
<File>
<FileName>compress.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\compress.c</FilePath>
</File>
<File>
<FileName>des3.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\des3.c</FilePath>
</File>
<File>
<FileName>dh.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\dh.c</FilePath>
</File>
<File>
<FileName>dsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\dsa.c</FilePath>
</File>
<File>
<FileName>ecc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\ecc.c</FilePath>
</File>
<File>
<FileName>ecc_fp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\ecc_fp.c</FilePath>
</File>
<File>
<FileName>error.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\error.c</FilePath>
</File>
<File>
<FileName>hc128.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\hc128.c</FilePath>
</File>
<File>
<FileName>hmac.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\hmac.c</FilePath>
</File>
<File>
<FileName>integer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\integer.c</FilePath>
</File>
<File>
<FileName>logging.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\logging.c</FilePath>
</File>
<File>
<FileName>md2.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\md2.c</FilePath>
</File>
<File>
<FileName>md4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\md4.c</FilePath>
</File>
<File>
<FileName>md5.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\md5.c</FilePath>
</File>
<File>
<FileName>memory.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\memory.c</FilePath>
</File>
<File>
<FileName>misc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\misc.c</FilePath>
</File>
<File>
<FileName>port.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\port.c</FilePath>
</File>
<File>
<FileName>pwdbased.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\pwdbased.c</FilePath>
</File>
<File>
<FileName>rabbit.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\rabbit.c</FilePath>
</File>
<File>
<FileName>random.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\random.c</FilePath>
</File>
<File>
<FileName>ripemd.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\ripemd.c</FilePath>
</File>
<File>
<FileName>rsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\rsa.c</FilePath>
</File>
<File>
<FileName>sha.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\sha.c</FilePath>
</File>
<File>
<FileName>sha256.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\sha256.c</FilePath>
</File>
<File>
<FileName>sha512.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\sha512.c</FilePath>
</File>
<File>
<FileName>tfm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\tfm.c</FilePath>
</File>
<File>
<FileName>crl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\crl.c</FilePath>
</File>
<File>
<FileName>internal.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\internal.c</FilePath>
</File>
<File>
<FileName>io.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\io.c</FilePath>
</File>
<File>
<FileName>keys.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\keys.c</FilePath>
</File>
<File>
<FileName>ocsp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\ocsp.c</FilePath>
</File>
<File>
<FileName>sniffer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\sniffer.c</FilePath>
</File>
<File>
<FileName>ssl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\ssl.c</FilePath>
</File>
<File>
<FileName>tls.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\tls.c</FilePath>
</File>
<File>
<FileName>settings.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>RTE\wolfSSL\config.h</FilePath> <FilePath>RTE\wolfSSL\settings.h</FilePath>
</File>
<File>
<FileName>cyassl_MDK_ARM.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\IDE\MDK5-ARM\Src\cyassl_MDK_ARM.c</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@ -806,25 +822,25 @@
<RTE> <RTE>
<apis> <apis>
<api Cclass="CMSIS" Cgroup="RTOS" Cvendor="ARM" exclusive="0"> <api Cclass="CMSIS" Cgroup="RTOS" exclusive="0">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/> <package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
</targetInfos> </targetInfos>
</api> </api>
<api Cclass="Drivers" Cgroup="Ethernet MAC" Cvendor="Keil" exclusive="0"> <api Cclass="Drivers" Cgroup="Ethernet MAC" exclusive="0">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/> <package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
</targetInfos> </targetInfos>
</api> </api>
<api Cclass="Drivers" Cgroup="Ethernet PHY" Cvendor="Keil" exclusive="0"> <api Cclass="Drivers" Cgroup="Ethernet PHY" exclusive="0">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/> <package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
</targetInfos> </targetInfos>
</api> </api>
<api Cclass="Drivers" Cgroup="MCI" Cvendor="Keil" exclusive="0"> <api Cclass="Drivers" Cgroup="MCI" exclusive="0">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/> <package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
@ -838,20 +854,20 @@
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.73.0" condition="CMSIS Core"> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.3"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
</targetInfos> </targetInfos>
</component> </component>
<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="LFN" Cvendor="Keil" Cversion="5.0.5" condition="CMSIS Core with RTOS">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.2"/> <package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.4"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
</targetInfos> </targetInfos>
</component> </component>
<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="5.0.5" condition="File System and MCI 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.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.4"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
</targetInfos> </targetInfos>
@ -928,20 +944,14 @@
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.8.0" condition="CyaSSL-Core"> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.9.0" condition="CyaSSL-Core">
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.0"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="Device" Csub="Timer" Cvendor="wolfSSL" Cversion="2.8.0" condition="wolfCrypt-Core"> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.0" condition="wolfCrypt-Core">
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.0"/>
<targetInfos>
<targetInfo name="EchoClient"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.8.0" condition="wolfCrypt-Core">
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
</targetInfos> </targetInfos>
@ -950,8 +960,8 @@
<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">
<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.73.0" condition="CMSIS Core"/> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"/>
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.3"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
</targetInfos> </targetInfos>
@ -1078,24 +1088,30 @@
</file> </file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-Crypt.h"> <file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\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="2.8.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.0"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
</targetInfos> </targetInfos>
</file> </file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-CyaSSL.h"> <file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-CyaSSL.h">
<instance index="0">RTE\wolfSSL\config-CyaSSL.h</instance> <instance index="0">RTE\wolfSSL\config-CyaSSL.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.8.0" condition="CyaSSL-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.9.0" condition="CyaSSL-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.0"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
</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">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="2.8.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.8.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/> <package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="cyassl\cyassl\ctaocrypt\settings.h">
<instance index="0">RTE\wolfSSL\settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.0" 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="2.9.0"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoClient"/> <targetInfo name="EchoClient"/>
</targetInfos> </targetInfos>

View File

@ -3,7 +3,7 @@
*---------------------------------------------------------------------------- *----------------------------------------------------------------------------
* Name: RTX_Conf_CM.C * Name: RTX_Conf_CM.C
* Purpose: Configuration of CMSIS RTX Kernel for Cortex-M * Purpose: Configuration of CMSIS RTX Kernel for Cortex-M
* Rev.: V4.70 * Rev.: V4.73
*---------------------------------------------------------------------------- *----------------------------------------------------------------------------
* *
* Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH * Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH
@ -48,17 +48,17 @@
// <i> Defines max. number of threads that will run at the same time. // <i> Defines max. number of threads that will run at the same time.
// <i> Default: 6 // <i> Default: 6
#ifndef OS_TASKCNT #ifndef OS_TASKCNT
#define OS_TASKCNT 5 #define OS_TASKCNT 6
#endif #endif
// <o>Default Thread stack size [bytes] <64-4096:8><#/4> // <o>Default Thread stack size [bytes] <64-4096:8><#/4>
// <i> Defines default stack size for threads with osThreadDef stacksz = 0 // <i> Defines default stack size for threads with osThreadDef stacksz = 0
// <i> Default: 200 // <i> Default: 200
#ifndef OS_STKSIZE #ifndef OS_STKSIZE
#define OS_STKSIZE 250 #define OS_STKSIZE 300
#endif #endif
// <o>Main Thread stack size [bytes] <64-20000:8><#/4> // <o>Main Thread stack size [bytes] <64-32768:8><#/4>
// <i> Defines stack size for main thread. // <i> Defines stack size for main thread.
// <i> Default: 200 // <i> Default: 200
#ifndef OS_MAINSTKSIZE #ifndef OS_MAINSTKSIZE
@ -69,10 +69,10 @@
// <i> Defines the number of threads with user-provided stack size. // <i> Defines the number of threads with user-provided stack size.
// <i> Default: 0 // <i> Default: 0
#ifndef OS_PRIVCNT #ifndef OS_PRIVCNT
#define OS_PRIVCNT 2 #define OS_PRIVCNT 0
#endif #endif
// <o>Total stack size [bytes] for threads with user-provided stack size <0-0x10000:8><#/4> // <o>Total stack size [bytes] for threads with user-provided stack size <0-1048576:8><#/4>
// <i> Defines the combined stack size for threads with user-provided stack size. // <i> Defines the combined stack size for threads with user-provided stack size.
// <i> Default: 0 // <i> Default: 0
#ifndef OS_PRIVSTKSIZE #ifndef OS_PRIVSTKSIZE
@ -158,7 +158,7 @@
#define OS_TIMERPRIO 5 #define OS_TIMERPRIO 5
#endif #endif
// <o>Timer Thread stack size [bytes] <64-64000:8><#/4> // <o>Timer Thread stack size [bytes] <64-4096:8><#/4>
// <i> Defines stack size for Timer thread. // <i> Defines stack size for Timer thread.
// <i> Default: 200 // <i> Default: 200
#ifndef OS_TIMERSTKSZ #ifndef OS_TIMERSTKSZ
@ -256,11 +256,30 @@ void os_tick_irqack (void) {
/*--------------------------- os_error --------------------------------------*/ /*--------------------------- os_error --------------------------------------*/
void os_error (uint32_t err_code) { /* OS Error Codes */
/* This function is called when a runtime error is detected. Parameter */ #define OS_ERROR_STACK_OVF 1
/* 'err_code' holds the runtime error code (defined in RTL.H). */ #define OS_ERROR_FIFO_OVF 2
#define OS_ERROR_MBX_OVF 3
extern osThreadId svcThreadGetId (void);
void os_error (uint32_t error_code) {
/* This function is called when a runtime error is detected. */
/* Parameter 'error_code' holds the runtime error code. */
/* HERE: include optional code to be executed on runtime error. */ /* HERE: include optional code to be executed on runtime error. */
switch (error_code) {
case OS_ERROR_STACK_OVF:
/* Stack overflow detected for the currently running task. */
/* Thread can be identified by calling svcThreadGetId(). */
break;
case OS_ERROR_FIFO_OVF:
/* ISR FIFO Queue buffer overflow detected. */
break;
case OS_ERROR_MBX_OVF:
/* Mailbox overflow detected. */
break;
}
for (;;); for (;;);
} }

View File

@ -14,7 +14,7 @@
// <o>Connect to hardware via Driver_ETH# <0-255> // <o>Connect to hardware via Driver_ETH# <0-255>
// <i>Select driver control block for MAC and PHY interface // <i>Select driver control block for MAC and PHY interface
#define ETH0_DRIVER 1 #define ETH0_DRIVER 0
// <h>MAC Address // <h>MAC Address
// <i> Local Ethernet MAC Address // <i> Local Ethernet MAC Address
@ -61,11 +61,11 @@
// <o>Address byte 3 <0-255> // <o>Address byte 3 <0-255>
// <i> Default: 0 // <i> Default: 0
#define ETH0_IP3 0 #define ETH0_IP3 11
// <o>Address byte 4 <0-255> // <o>Address byte 4 <0-255>
// <i> Default: 100 // <i> Default: 100
#define ETH0_IP4 100 #define ETH0_IP4 101
// </h> // </h>
// <h>Subnet mask // <h>Subnet mask
@ -99,30 +99,30 @@
// <o>Address byte 3 <0-255> // <o>Address byte 3 <0-255>
// <i> Default: 0 // <i> Default: 0
#define ETH0_GW3 0 #define ETH0_GW3 11
// <o>Address byte 4 <0-255> // <o>Address byte 4 <0-255>
// <i> Default: 254 // <i> Default: 254
#define ETH0_GW4 254 #define ETH0_GW4 1
// </h> // </h>
// <h>Primary DNS Server // <h>Primary DNS Server
// <i> Primary DNS Server IP Address // <i> Primary DNS Server IP Address
// <o>Address byte 1 <0-255> // <o>Address byte 1 <0-255>
// <i> Default: 194 // <i> Default: 194
#define ETH0_PRI_DNS1 194 #define ETH0_PRI_DNS1 192
// <o>Address byte 2 <0-255> // <o>Address byte 2 <0-255>
// <i> Default: 25 // <i> Default: 25
#define ETH0_PRI_DNS2 25 #define ETH0_PRI_DNS2 168
// <o>Address byte 3 <0-255> // <o>Address byte 3 <0-255>
// <i> Default: 2 // <i> Default: 2
#define ETH0_PRI_DNS3 2 #define ETH0_PRI_DNS3 11
// <o>Address byte 4 <0-255> // <o>Address byte 4 <0-255>
// <i> Default: 129 // <i> Default: 129
#define ETH0_PRI_DNS4 129 #define ETH0_PRI_DNS4 1
// </h> // </h>
// <h>Secondary DNS Server // <h>Secondary DNS Server
@ -190,7 +190,7 @@
// <i> accessed by his name on the local LAN using NBNS protocol. // <i> accessed by his name on the local LAN using NBNS protocol.
// <i> You need to modify also the number of UDP Sockets, // <i> You need to modify also the number of UDP Sockets,
// <i> because NBNS protocol uses one UDP socket to run. // <i> because NBNS protocol uses one UDP socket to run.
#define ETH0_NBNS_ENABLE 1 #define ETH0_NBNS_ENABLE 0
// <e>Dynamic Host Configuration // <e>Dynamic Host Configuration
// <i> When this option is enabled, local IP address, Net Mask // <i> When this option is enabled, local IP address, Net Mask

View File

@ -15,6 +15,6 @@
// <o>Number of UDP Sockets <1-20> // <o>Number of UDP Sockets <1-20>
// <i> Number of available UDP sockets // <i> Number of available UDP sockets
// <i> Default: 5 // <i> Default: 5
#define UDP_NUM_SOCKS 10 #define UDP_NUM_SOCKS 15
// </h> // </h>

View File

@ -52,7 +52,7 @@
// <o>TCP Debug <0=> Off <1=> Errors only <2=> Full debug // <o>TCP Debug <0=> Off <1=> Errors only <2=> Full debug
// <i> Turn On/Off TCP debug messages // <i> Turn On/Off TCP debug messages
#define DBG_TCP 1 #define DBG_TCP 2
// <o>NBNS Debug <0=> Off <1=> Errors only <2=> Full debug // <o>NBNS Debug <0=> Off <1=> Errors only <2=> Full debug
// <i> Turn On/Off NetBIOS Name Service debug messages // <i> Turn On/Off NetBIOS Name Service debug messages

View File

@ -0,0 +1,185 @@
/* config-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
// <<< Use Configuration Wizard in Context Menu >>>
// <h> wolfCrypt Configuration
// <h>Cert/Key Strage
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
#define MDK_CONF_CERT_BUFF 0
#if MDK_CONF_CERT_BUFF== 1
#define USE_CERT_BUFFERS_1024
#elif MDK_CONF_CERT_BUFF == 2
#define USE_CERT_BUFFERS_2048
#endif
//</h>
// <h>Crypt Algrithm
// <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
// </h>
// <e>MD2
#define MDK_CONF_MD2 0
#if MDK_CONF_MD2 == 1
#define CYASSL_MD2
#endif
// </e>
// <e>MD4
#define MDK_CONF_MD4 1
#if MDK_CONF_MD4 == 0
#define NO_MD4
#endif
// </e>
// <e>SHA-384
// <i>This has to be with SHA512
#define MDK_CONF_SHA384 0
#if MDK_CONF_SHA384 == 1
#define CYASSL_SHA384
#endif
// </e>
// <e>SHA-512
#define MDK_CONF_SHA512 0
#if MDK_CONF_SHA512 == 1
#define CYASSL_SHA512
#endif
// </e>
// <e>RIPEMD
#define MDK_CONF_RIPEMD 0
#if MDK_CONF_RIPEMD == 1
#define CYASSL_RIPEMD
#endif
// </e>
// <e>HMAC
#define MDK_CONF_HMAC 1
#if MDK_CONF_HMAC == 0
#define NO_HMAC
#endif
// </e>
// <e>HC128
#define MDK_CONF_HC128 0
#if MDK_CONF_HC128 == 1
#define HAVE_HC128
#endif
// </e>
// <e>RABBIT
#define MDK_CONF_RABBIT 1
#if MDK_CONF_RABBI == 0
#define NO_RABBIT
#endif
// </e>
// <e>AEAD
#define MDK_CONF_AEAD 0
#if MDK_CONF_AEAD == 1
#define HAVE_AEAD
#endif
// </e>
// <e>DES3
#define MDK_CONF_DES3 1
#if MDK_CONF_DES3 == 0
#define NO_DES3
#endif
// </e>
// <e>CAMELLIA
#define MDK_CONF_CAMELLIA 0
#if MDK_CONF_CAMELLIA == 1
#define HAVE_CAMELLIA
#endif
// </e>
// <e>DH
// <i>need this for CYASSL_SERVER, OPENSSL_EXTRA
#define MDK_CONF_DH 1
#if MDK_CONF_DH == 0
#define NO_DH
#endif
// </e>
// <e>DSA
#define MDK_CONF_DSA 1
#if MDK_CONF_DSA == 0
#define NO_DSA
#endif
// </e>
// <e>PWDBASED
#define MDK_CONF_PWDBASED 1
#if MDK_CONF_PWDBASED == 0
#define NO_PWDBASED
#endif
// </e>
// <e>ECC
#define MDK_CONF_ECC 0
#if MDK_CONF_ECC == 1
#define HAVE_ECC
#endif
// </e>
// <e>PSK
#define MDK_CONF_PSK 1
#if MDK_CONF_PSK == 0
#define NO_PSK
#endif
// </e>
// <e>AESCCM (Turn off Hardware Crypt)
#define MDK_CONF_AESCCM 0
#if MDK_CONF_AESCCM == 1
#define HAVE_AESCCM
#endif
// </e>
// <e>AESGCM (Turn off Hardware Crypt)
#define MDK_CONF_AESGCM 0
#if MDK_CONF_AESGCM == 1
#define HAVE_AESGCM
#define BUILD_AESGCM
#endif
// </e>
// <e>NTRU (need License, "crypto_ntru.h")
#define MDK_CONF_NTRU 0
#if MDK_CONF_NTRU == 1
#define HAVE_NTRU
#endif
// </e>
// </h>
// <h>Hardware Crypt (See document for usage)
// <e>Hardware RNG
#define MDK_CONF_STM32F2_RNG 0
#if MDK_CONF_STM32F2_RNG == 1
#define STM32F2_RNG
#else
#endif
// </e>
// <e>Hardware Crypt
#define MDK_CONF_STM32F2_CRYPTO 0
#if MDK_CONF_STM32F2_CRYPTO == 1
#define STM32F2_CRYPTO
#endif
// </e>
// </h>
//</h>
// <<< end of configuration section >>>

View File

@ -0,0 +1,144 @@
/* config-RTX-TCP-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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,627 @@
/* settings.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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 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 */
#include <cyassl/ctaocrypt/visibility.h>
#ifdef IPHONE
#define SIZEOF_LONG_LONG 8
#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
#ifdef MICROCHIP_PIC32
#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 MICROCHIP_TCPIP_V5
/* include timer functions */
#include "TCPIP Stack/TCPIP.h"
#endif
#ifdef MICROCHIP_TCPIP
/* include timer, NTP functions */
#include "system/system_services.h"
#ifdef MICROCHIP_MPLAB_HARMONY
#include "tcpip/tcpip.h"
#else
#include "tcpip/sntp.h"
#endif
#endif
#ifdef MBED
#define SINGLE_THREADED
#define CYASSL_USER_IO
#define NO_WRITEV
#define NO_DEV_RANDOM
#define NO_SHA512
#define NO_DH
#define NO_DSA
#define NO_HC128
#endif /* MBED */
#ifdef CYASSL_TYTO
#include "rand.h"
#define FREERTOS
#define NO_FILESYSTEM
#define CYASSL_USER_IO
#define NO_DEV_RANDOM
#define HAVE_ECC
#define HAVE_ECC_ENCRYPT
#define ECC_SHAMIR
#define HAVE_HKDF
#define USE_FAST_MATH
#define TFM_TIMING_RESISTANT
#define FP_MAX_BITS 512
#define NO_OLD_TLS
#define NO_MD4
#define NO_RABBIT
#define NO_HC128
#define NO_RSA
#define NO_DSA
#define NO_PWDBASED
#define NO_PSK
#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)
#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 */

View File

@ -0,0 +1,34 @@
/* config-RTX-TCP-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Build Target: Simple Client
// <s.15>Callee IP Address
// <i> Default: "192.168.1.100"
#define CYASSL_CALLEE_IP "192.168.11.3"
// <o>Callee Port Number
// <i> Default: "11111"
#define CYASSL_CALLEE_PORT 443
// </h>
// <<< end of configuration section >>>

View File

@ -28,18 +28,18 @@
#include <cyassl/openssl/ssl.h> #include <cyassl/openssl/ssl.h>
#if defined(CYASSL_MDK_ARM) #if defined(CYASSL_MDK_ARM)
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#if defined(CYASSL_MDK5) #if defined(CYASSL_MDK5)
#include "cmsis_os.h" #include "cmsis_os.h"
#include "rl_fs.h" #include "rl_fs.h"
#include "rl_net.h" #include "rl_net.h"
#else #else
#include "rtl.h" #include "rtl.h"
#endif #endif
#include "cyassl_MDK_ARM.h" #include "cyassl_MDK_ARM.h"
#endif #endif
#include <cyassl/test.h> #include <cyassl/test.h>
@ -68,11 +68,11 @@ void echoclient_test(void* args)
int sendSz; int sendSz;
int argc = 0; int argc = 0;
char** argv = 0; char** argv = 0;
int port = yasslPort; word16 port = yasslPort;
((func_args*)args)->return_code = -1; /* error state */ ((func_args*)args)->return_code = -1; /* error state */
#ifndef CYASSL_MDK_ARM #ifndef CYASSL_MDK_SHELL
argc = ((func_args*)args)->argc; argc = ((func_args*)args)->argc;
argv = ((func_args*)args)->argv; argv = ((func_args*)args)->argv;
#endif #endif
@ -104,9 +104,6 @@ void echoclient_test(void* args)
#if defined(NO_MAIN_DRIVER) && !defined(USE_WINDOWS_API) && !defined(CYASSL_MDK_SHELL) #if defined(NO_MAIN_DRIVER) && !defined(USE_WINDOWS_API) && !defined(CYASSL_MDK_SHELL)
port = ((func_args*)args)->signal->port; port = ((func_args*)args)->signal->port;
#endif #endif
#if defined (CYASSL_CALLEE_PORT)
port = CYASSL_CALLEE_PORT ;
#endif
#if defined(CYASSL_DTLS) #if defined(CYASSL_DTLS)
method = DTLSv1_client_method(); method = DTLSv1_client_method();
@ -150,7 +147,7 @@ void echoclient_test(void* args)
#endif #endif
} }
#ifdef OPENSSL_EXTRA #if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
SSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack); SSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif #endif
@ -159,8 +156,8 @@ void echoclient_test(void* args)
#endif #endif
ssl = SSL_new(ctx); ssl = SSL_new(ctx);
CyaSSL_set_quiet_shutdown(ssl, 1) ;
if (doDTLS) { if (doDTLS) {
SOCKADDR_IN_T addr; SOCKADDR_IN_T addr;
build_addr(&addr, yasslIP, port, 1); build_addr(&addr, yasslIP, port, 1);
@ -221,10 +218,6 @@ void echoclient_test(void* args)
#endif #endif
} }
#ifdef CYASSL_CMSIS_RTOS
osDelay(5000) ;
#endif
#ifdef CYASSL_DTLS #ifdef CYASSL_DTLS
strncpy(msg, "break", 6); strncpy(msg, "break", 6);
@ -270,8 +263,10 @@ void echoclient_test(void* args)
CyaSSL_Debugging_ON(); CyaSSL_Debugging_ON();
#endif #endif
if (CurrentDir("echoclient") || CurrentDir("build")) if (CurrentDir("echoclient"))
ChangeDirBack(2); ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
echoclient_test(&args); echoclient_test(&args);
CyaSSL_Cleanup(); CyaSSL_Cleanup();

View File

@ -86,7 +86,6 @@ char* myoptarg = NULL;
int main() int main()
{ {
void *args = NULL ; void *args = NULL ;
init_time() ;
init_filesystem (); init_filesystem ();
net_initialize() ; net_initialize() ;
osThreadCreate (osThread (tcp_poll), NULL); osThreadCreate (osThread (tcp_poll), NULL);

View File

@ -0,0 +1,34 @@
/* time-dummy.c.c
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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 ; }

View File

@ -1,7 +1,7 @@
This program is echo server with CyaSSL/wolfCrypt library. This program is echo server with CyaSSL/wolfCrypt library.
In order to run this program, In order to run this program,
Copy {PACK}\wolfSSL\CyaSSL\2.8.0\cyassl\certs folder and files to the SD memory. Copy {PACK}\wolfSSL\CyaSSL\{version}\cyassl\certs folder and files to the SD memory.
Set the server IP address in Net_Config_ETH_0.h Set the server IP address in Net_Config_ETH_0.h
The server default port is 11111, defined in test.h. The server default port is 11111, defined in test.h.

File diff suppressed because it is too large Load Diff

View File

@ -139,6 +139,8 @@
<RestoreFunctions>0</RestoreFunctions> <RestoreFunctions>0</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox> <RestoreToolbox>1</RestoreToolbox>
<RestoreTracepoints>1</RestoreTracepoints> <RestoreTracepoints>1</RestoreTracepoints>
<RestoreTracepoints>1</RestoreTracepoints>
<RestoreTracepoints>1</RestoreTracepoints>
</Target> </Target>
<RunDebugAfterBuild>0</RunDebugAfterBuild> <RunDebugAfterBuild>0</RunDebugAfterBuild>
<TargetSelection>8</TargetSelection> <TargetSelection>8</TargetSelection>
@ -353,9 +355,11 @@
<wLevel>0</wLevel> <wLevel>0</wLevel>
<uThumb>0</uThumb> <uThumb>0</uThumb>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<uC99>0</uC99>
<useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define>HAVE_CONFIG_H MDK_CONF_SimpleClient CYASSL_STM32F2xx</Define> <Define>HAVE_CONFIG_H MDK_CONF_SimpleClient</Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath></IncludePath> <IncludePath></IncludePath>
</VariousControls> </VariousControls>
@ -369,6 +373,7 @@
<SwStkChk>0</SwStkChk> <SwStkChk>0</SwStkChk>
<NoWarn>0</NoWarn> <NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define></Define> <Define></Define>
@ -385,6 +390,7 @@
<useFile>0</useFile> <useFile>0</useFile>
<TextAddressRange>0x08000000</TextAddressRange> <TextAddressRange>0x08000000</TextAddressRange>
<DataAddressRange>0x20000000</DataAddressRange> <DataAddressRange>0x20000000</DataAddressRange>
<pXoBase></pXoBase>
<ScatterFile></ScatterFile> <ScatterFile></ScatterFile>
<IncludeLibs></IncludeLibs> <IncludeLibs></IncludeLibs>
<IncludeLibsPath></IncludeLibsPath> <IncludeLibsPath></IncludeLibsPath>
@ -423,6 +429,11 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath> <FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath>
</File> </File>
<File>
<FileName>Net_Config_ETH_0.h</FileName>
<FileType>5</FileType>
<FilePath>.\RTE\Network\Net_Config_ETH_0.h</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -436,18 +447,28 @@
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::CMSIS</GroupName> <GroupName>Devices</GroupName>
<Files> <Files>
<File> <File>
<FileName>RTX_CM3.lib</FileName> <FileName>time-dummy.c</FileName>
<FileType>4</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\ARM\CMSIS\3.20.3\CMSIS_RTX\Lib\ARM\RTX_CM3.lib</FilePath> <FilePath>.\time-dummy.c</FilePath>
</File> </File>
</Files>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
<Files>
<File> <File>
<FileName>RTX_Conf_CM.c</FileName> <FileName>RTX_Conf_CM.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath> <FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath>
</File> </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> </Files>
</Group> </Group>
<Group> <Group>
@ -483,11 +504,6 @@
<Group> <Group>
<GroupName>::Drivers</GroupName> <GroupName>::Drivers</GroupName>
<Files> <Files>
<File>
<FileName>PHY_ST802RT1.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\Network\Driver\PHY_ST802RT1.c</FilePath>
</File>
<File> <File>
<FileName>EMAC_STM32F2xx.c</FileName> <FileName>EMAC_STM32F2xx.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -498,16 +514,16 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.4\RTE_Driver\MCI_STM32F2xx.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.4\RTE_Driver\MCI_STM32F2xx.c</FilePath>
</File> </File>
<File>
<FileName>PHY_ST802RT1.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\Network\Driver\PHY_ST802RT1.c</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::File System</GroupName> <GroupName>::File System</GroupName>
<Files> <Files>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
<File> <File>
<FileName>FS_Config.c</FileName> <FileName>FS_Config.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -518,16 +534,16 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath> <FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath>
</File> </File>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::Network</GroupName> <GroupName>::Network</GroupName>
<Files> <Files>
<File>
<FileName>Net_Dbg_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\Network\Lib\ARM\Net_Dbg_CM3_L.lib</FilePath>
</File>
<File> <File>
<FileName>Net_Config.c</FileName> <FileName>Net_Config.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -563,221 +579,16 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>RTE\Network\Net_Debug.c</FilePath> <FilePath>RTE\Network\Net_Debug.c</FilePath>
</File> </File>
<File>
<FileName>Net_Dbg_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\Network\Lib\ARM\Net_Dbg_CM3_L.lib</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::wolfSSL</GroupName> <GroupName>::wolfSSL</GroupName>
<Files> <Files>
<File>
<FileName>cyassl_MDK_ARM.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\cyassl_MDK_ARM.c</FilePath>
</File>
<File>
<FileName>time-STM32F2xx.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib\time-STM32F2xx.c</FilePath>
</File>
<File>
<FileName>aes.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\aes.c</FilePath>
</File>
<File>
<FileName>arc4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\arc4.c</FilePath>
</File>
<File>
<FileName>asm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\asm.c</FilePath>
</File>
<File>
<FileName>asn.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\asn.c</FilePath>
</File>
<File>
<FileName>blake2b.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\blake2b.c</FilePath>
</File>
<File>
<FileName>camellia.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\camellia.c</FilePath>
</File>
<File>
<FileName>coding.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\coding.c</FilePath>
</File>
<File>
<FileName>compress.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\compress.c</FilePath>
</File>
<File>
<FileName>des3.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\des3.c</FilePath>
</File>
<File>
<FileName>dh.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\dh.c</FilePath>
</File>
<File>
<FileName>dsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\dsa.c</FilePath>
</File>
<File>
<FileName>ecc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ecc.c</FilePath>
</File>
<File>
<FileName>ecc_fp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ecc_fp.c</FilePath>
</File>
<File>
<FileName>error.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\error.c</FilePath>
</File>
<File>
<FileName>hc128.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\hc128.c</FilePath>
</File>
<File>
<FileName>hmac.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\hmac.c</FilePath>
</File>
<File>
<FileName>integer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\integer.c</FilePath>
</File>
<File>
<FileName>logging.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\logging.c</FilePath>
</File>
<File>
<FileName>md2.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md2.c</FilePath>
</File>
<File>
<FileName>md4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md4.c</FilePath>
</File>
<File>
<FileName>md5.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md5.c</FilePath>
</File>
<File>
<FileName>memory.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\memory.c</FilePath>
</File>
<File>
<FileName>misc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\misc.c</FilePath>
</File>
<File>
<FileName>pwdbased.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\pwdbased.c</FilePath>
</File>
<File>
<FileName>rabbit.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\rabbit.c</FilePath>
</File>
<File>
<FileName>random.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\random.c</FilePath>
</File>
<File>
<FileName>ripemd.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ripemd.c</FilePath>
</File>
<File>
<FileName>rsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\rsa.c</FilePath>
</File>
<File>
<FileName>sha.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha.c</FilePath>
</File>
<File>
<FileName>sha256.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha256.c</FilePath>
</File>
<File>
<FileName>sha512.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha512.c</FilePath>
</File>
<File>
<FileName>tfm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\tfm.c</FilePath>
</File>
<File>
<FileName>crl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\crl.c</FilePath>
</File>
<File>
<FileName>internal.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\internal.c</FilePath>
</File>
<File>
<FileName>io.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\io.c</FilePath>
</File>
<File>
<FileName>keys.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\keys.c</FilePath>
</File>
<File>
<FileName>ocsp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\ocsp.c</FilePath>
</File>
<File>
<FileName>sniffer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\sniffer.c</FilePath>
</File>
<File>
<FileName>ssl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\ssl.c</FilePath>
</File>
<File>
<FileName>tls.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\tls.c</FilePath>
</File>
<File> <File>
<FileName>config-Crypt.h</FileName> <FileName>config-Crypt.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
@ -789,9 +600,219 @@
<FilePath>RTE\wolfSSL\config-CyaSSL.h</FilePath> <FilePath>RTE\wolfSSL\config-CyaSSL.h</FilePath>
</File> </File>
<File> <File>
<FileName>config.h</FileName> <FileName>aes.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\aes.c</FilePath>
</File>
<File>
<FileName>arc4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\arc4.c</FilePath>
</File>
<File>
<FileName>asm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\asm.c</FilePath>
</File>
<File>
<FileName>asn.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\asn.c</FilePath>
</File>
<File>
<FileName>blake2b.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\blake2b.c</FilePath>
</File>
<File>
<FileName>camellia.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\camellia.c</FilePath>
</File>
<File>
<FileName>coding.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\coding.c</FilePath>
</File>
<File>
<FileName>compress.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\compress.c</FilePath>
</File>
<File>
<FileName>des3.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\des3.c</FilePath>
</File>
<File>
<FileName>dh.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\dh.c</FilePath>
</File>
<File>
<FileName>dsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\dsa.c</FilePath>
</File>
<File>
<FileName>ecc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\ecc.c</FilePath>
</File>
<File>
<FileName>ecc_fp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\ecc_fp.c</FilePath>
</File>
<File>
<FileName>error.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\error.c</FilePath>
</File>
<File>
<FileName>hc128.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\hc128.c</FilePath>
</File>
<File>
<FileName>hmac.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\hmac.c</FilePath>
</File>
<File>
<FileName>integer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\integer.c</FilePath>
</File>
<File>
<FileName>logging.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\logging.c</FilePath>
</File>
<File>
<FileName>md2.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\md2.c</FilePath>
</File>
<File>
<FileName>md4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\md4.c</FilePath>
</File>
<File>
<FileName>md5.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\md5.c</FilePath>
</File>
<File>
<FileName>memory.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\memory.c</FilePath>
</File>
<File>
<FileName>misc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\misc.c</FilePath>
</File>
<File>
<FileName>port.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\port.c</FilePath>
</File>
<File>
<FileName>pwdbased.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\pwdbased.c</FilePath>
</File>
<File>
<FileName>rabbit.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\rabbit.c</FilePath>
</File>
<File>
<FileName>random.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\random.c</FilePath>
</File>
<File>
<FileName>ripemd.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\ripemd.c</FilePath>
</File>
<File>
<FileName>rsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\rsa.c</FilePath>
</File>
<File>
<FileName>sha.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\sha.c</FilePath>
</File>
<File>
<FileName>sha256.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\sha256.c</FilePath>
</File>
<File>
<FileName>sha512.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\sha512.c</FilePath>
</File>
<File>
<FileName>tfm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\ctaocrypt\src\tfm.c</FilePath>
</File>
<File>
<FileName>crl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\crl.c</FilePath>
</File>
<File>
<FileName>internal.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\internal.c</FilePath>
</File>
<File>
<FileName>io.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\io.c</FilePath>
</File>
<File>
<FileName>keys.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\keys.c</FilePath>
</File>
<File>
<FileName>ocsp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\ocsp.c</FilePath>
</File>
<File>
<FileName>sniffer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\sniffer.c</FilePath>
</File>
<File>
<FileName>ssl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\ssl.c</FilePath>
</File>
<File>
<FileName>tls.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\src\tls.c</FilePath>
</File>
<File>
<FileName>settings.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>RTE\wolfSSL\config.h</FilePath> <FilePath>RTE\wolfSSL\settings.h</FilePath>
</File>
<File>
<FileName>cyassl_MDK_ARM.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.0\cyassl\IDE\MDK5-ARM\Src\cyassl_MDK_ARM.c</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@ -833,20 +854,20 @@
<targetInfo name="EchoServer"/> <targetInfo name="EchoServer"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.73.0" condition="CMSIS Core"> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.3"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoServer"/> <targetInfo name="EchoServer"/>
</targetInfos> </targetInfos>
</component> </component>
<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="LFN" Cvendor="Keil" Cversion="5.0.5" condition="CMSIS Core with RTOS">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.2"/> <package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.4"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoServer"/> <targetInfo name="EchoServer"/>
</targetInfos> </targetInfos>
</component> </component>
<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="5.0.5" condition="File System and MCI 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.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.4"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoServer"/> <targetInfo name="EchoServer"/>
</targetInfos> </targetInfos>
@ -923,20 +944,14 @@
<targetInfo name="EchoServer"/> <targetInfo name="EchoServer"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.8.0" condition="CyaSSL-Core"> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.9.0" condition="CyaSSL-Core">
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.0"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoServer"/> <targetInfo name="EchoServer"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="Device" Csub="Timer" Cvendor="wolfSSL" Cversion="2.8.0" condition="wolfCrypt-Core"> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.0" condition="wolfCrypt-Core">
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.0"/>
<targetInfos>
<targetInfo name="EchoServer"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.8.0" condition="wolfCrypt-Core">
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoServer"/> <targetInfo name="EchoServer"/>
</targetInfos> </targetInfos>
@ -945,8 +960,8 @@
<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">
<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.73.0" condition="CMSIS Core"/> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"/>
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.3"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoServer"/> <targetInfo name="EchoServer"/>
</targetInfos> </targetInfos>
@ -1073,24 +1088,30 @@
</file> </file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-Crypt.h"> <file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\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="2.8.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.0"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoServer"/> <targetInfo name="EchoServer"/>
</targetInfos> </targetInfos>
</file> </file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-CyaSSL.h"> <file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-CyaSSL.h">
<instance index="0">RTE\wolfSSL\config-CyaSSL.h</instance> <instance index="0">RTE\wolfSSL\config-CyaSSL.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.8.0" condition="CyaSSL-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.9.0" condition="CyaSSL-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.0"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoServer"/> <targetInfo name="EchoServer"/>
</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">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="2.8.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.8.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/> <package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="cyassl\cyassl\ctaocrypt\settings.h">
<instance index="0">RTE\wolfSSL\settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.0" 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="2.9.0"/>
<targetInfos> <targetInfos>
<targetInfo name="EchoServer"/> <targetInfo name="EchoServer"/>
</targetInfos> </targetInfos>

View File

@ -3,7 +3,7 @@
*---------------------------------------------------------------------------- *----------------------------------------------------------------------------
* Name: RTX_Conf_CM.C * Name: RTX_Conf_CM.C
* Purpose: Configuration of CMSIS RTX Kernel for Cortex-M * Purpose: Configuration of CMSIS RTX Kernel for Cortex-M
* Rev.: V4.70 * Rev.: V4.73
*---------------------------------------------------------------------------- *----------------------------------------------------------------------------
* *
* Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH * Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH
@ -48,17 +48,17 @@
// <i> Defines max. number of threads that will run at the same time. // <i> Defines max. number of threads that will run at the same time.
// <i> Default: 6 // <i> Default: 6
#ifndef OS_TASKCNT #ifndef OS_TASKCNT
#define OS_TASKCNT 5 #define OS_TASKCNT 6
#endif #endif
// <o>Default Thread stack size [bytes] <64-4096:8><#/4> // <o>Default Thread stack size [bytes] <64-4096:8><#/4>
// <i> Defines default stack size for threads with osThreadDef stacksz = 0 // <i> Defines default stack size for threads with osThreadDef stacksz = 0
// <i> Default: 200 // <i> Default: 200
#ifndef OS_STKSIZE #ifndef OS_STKSIZE
#define OS_STKSIZE 250 #define OS_STKSIZE 300
#endif #endif
// <o>Main Thread stack size [bytes] <64-20000:8><#/4> // <o>Main Thread stack size [bytes] <64-32768:8><#/4>
// <i> Defines stack size for main thread. // <i> Defines stack size for main thread.
// <i> Default: 200 // <i> Default: 200
#ifndef OS_MAINSTKSIZE #ifndef OS_MAINSTKSIZE
@ -69,10 +69,10 @@
// <i> Defines the number of threads with user-provided stack size. // <i> Defines the number of threads with user-provided stack size.
// <i> Default: 0 // <i> Default: 0
#ifndef OS_PRIVCNT #ifndef OS_PRIVCNT
#define OS_PRIVCNT 2 #define OS_PRIVCNT 0
#endif #endif
// <o>Total stack size [bytes] for threads with user-provided stack size <0-0x10000:8><#/4> // <o>Total stack size [bytes] for threads with user-provided stack size <0-1048576:8><#/4>
// <i> Defines the combined stack size for threads with user-provided stack size. // <i> Defines the combined stack size for threads with user-provided stack size.
// <i> Default: 0 // <i> Default: 0
#ifndef OS_PRIVSTKSIZE #ifndef OS_PRIVSTKSIZE
@ -158,7 +158,7 @@
#define OS_TIMERPRIO 5 #define OS_TIMERPRIO 5
#endif #endif
// <o>Timer Thread stack size [bytes] <64-64000:8><#/4> // <o>Timer Thread stack size [bytes] <64-4096:8><#/4>
// <i> Defines stack size for Timer thread. // <i> Defines stack size for Timer thread.
// <i> Default: 200 // <i> Default: 200
#ifndef OS_TIMERSTKSZ #ifndef OS_TIMERSTKSZ
@ -256,11 +256,30 @@ void os_tick_irqack (void) {
/*--------------------------- os_error --------------------------------------*/ /*--------------------------- os_error --------------------------------------*/
void os_error (uint32_t err_code) { /* OS Error Codes */
/* This function is called when a runtime error is detected. Parameter */ #define OS_ERROR_STACK_OVF 1
/* 'err_code' holds the runtime error code (defined in RTL.H). */ #define OS_ERROR_FIFO_OVF 2
#define OS_ERROR_MBX_OVF 3
extern osThreadId svcThreadGetId (void);
void os_error (uint32_t error_code) {
/* This function is called when a runtime error is detected. */
/* Parameter 'error_code' holds the runtime error code. */
/* HERE: include optional code to be executed on runtime error. */ /* HERE: include optional code to be executed on runtime error. */
switch (error_code) {
case OS_ERROR_STACK_OVF:
/* Stack overflow detected for the currently running task. */
/* Thread can be identified by calling svcThreadGetId(). */
break;
case OS_ERROR_FIFO_OVF:
/* ISR FIFO Queue buffer overflow detected. */
break;
case OS_ERROR_MBX_OVF:
/* Mailbox overflow detected. */
break;
}
for (;;); for (;;);
} }

View File

@ -14,7 +14,7 @@
// <o>Connect to hardware via Driver_ETH# <0-255> // <o>Connect to hardware via Driver_ETH# <0-255>
// <i>Select driver control block for MAC and PHY interface // <i>Select driver control block for MAC and PHY interface
#define ETH0_DRIVER 1 #define ETH0_DRIVER 0
// <h>MAC Address // <h>MAC Address
// <i> Local Ethernet MAC Address // <i> Local Ethernet MAC Address
@ -61,11 +61,11 @@
// <o>Address byte 3 <0-255> // <o>Address byte 3 <0-255>
// <i> Default: 0 // <i> Default: 0
#define ETH0_IP3 0 #define ETH0_IP3 11
// <o>Address byte 4 <0-255> // <o>Address byte 4 <0-255>
// <i> Default: 100 // <i> Default: 100
#define ETH0_IP4 100 #define ETH0_IP4 101
// </h> // </h>
// <h>Subnet mask // <h>Subnet mask
@ -99,30 +99,30 @@
// <o>Address byte 3 <0-255> // <o>Address byte 3 <0-255>
// <i> Default: 0 // <i> Default: 0
#define ETH0_GW3 0 #define ETH0_GW3 11
// <o>Address byte 4 <0-255> // <o>Address byte 4 <0-255>
// <i> Default: 254 // <i> Default: 254
#define ETH0_GW4 254 #define ETH0_GW4 1
// </h> // </h>
// <h>Primary DNS Server // <h>Primary DNS Server
// <i> Primary DNS Server IP Address // <i> Primary DNS Server IP Address
// <o>Address byte 1 <0-255> // <o>Address byte 1 <0-255>
// <i> Default: 194 // <i> Default: 194
#define ETH0_PRI_DNS1 194 #define ETH0_PRI_DNS1 192
// <o>Address byte 2 <0-255> // <o>Address byte 2 <0-255>
// <i> Default: 25 // <i> Default: 25
#define ETH0_PRI_DNS2 25 #define ETH0_PRI_DNS2 168
// <o>Address byte 3 <0-255> // <o>Address byte 3 <0-255>
// <i> Default: 2 // <i> Default: 2
#define ETH0_PRI_DNS3 2 #define ETH0_PRI_DNS3 11
// <o>Address byte 4 <0-255> // <o>Address byte 4 <0-255>
// <i> Default: 129 // <i> Default: 129
#define ETH0_PRI_DNS4 129 #define ETH0_PRI_DNS4 1
// </h> // </h>
// <h>Secondary DNS Server // <h>Secondary DNS Server

View File

@ -0,0 +1,185 @@
/* config-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
// <<< Use Configuration Wizard in Context Menu >>>
// <h> wolfCrypt Configuration
// <h>Cert/Key Strage
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
#define MDK_CONF_CERT_BUFF 0
#if MDK_CONF_CERT_BUFF== 1
#define USE_CERT_BUFFERS_1024
#elif MDK_CONF_CERT_BUFF == 2
#define USE_CERT_BUFFERS_2048
#endif
//</h>
// <h>Crypt Algrithm
// <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
// </h>
// <e>MD2
#define MDK_CONF_MD2 0
#if MDK_CONF_MD2 == 1
#define CYASSL_MD2
#endif
// </e>
// <e>MD4
#define MDK_CONF_MD4 1
#if MDK_CONF_MD4 == 0
#define NO_MD4
#endif
// </e>
// <e>SHA-384
// <i>This has to be with SHA512
#define MDK_CONF_SHA384 0
#if MDK_CONF_SHA384 == 1
#define CYASSL_SHA384
#endif
// </e>
// <e>SHA-512
#define MDK_CONF_SHA512 0
#if MDK_CONF_SHA512 == 1
#define CYASSL_SHA512
#endif
// </e>
// <e>RIPEMD
#define MDK_CONF_RIPEMD 0
#if MDK_CONF_RIPEMD == 1
#define CYASSL_RIPEMD
#endif
// </e>
// <e>HMAC
#define MDK_CONF_HMAC 1
#if MDK_CONF_HMAC == 0
#define NO_HMAC
#endif
// </e>
// <e>HC128
#define MDK_CONF_HC128 0
#if MDK_CONF_HC128 == 1
#define HAVE_HC128
#endif
// </e>
// <e>RABBIT
#define MDK_CONF_RABBIT 1
#if MDK_CONF_RABBI == 0
#define NO_RABBIT
#endif
// </e>
// <e>AEAD
#define MDK_CONF_AEAD 0
#if MDK_CONF_AEAD == 1
#define HAVE_AEAD
#endif
// </e>
// <e>DES3
#define MDK_CONF_DES3 1
#if MDK_CONF_DES3 == 0
#define NO_DES3
#endif
// </e>
// <e>CAMELLIA
#define MDK_CONF_CAMELLIA 0
#if MDK_CONF_CAMELLIA == 1
#define HAVE_CAMELLIA
#endif
// </e>
// <e>DH
// <i>need this for CYASSL_SERVER, OPENSSL_EXTRA
#define MDK_CONF_DH 1
#if MDK_CONF_DH == 0
#define NO_DH
#endif
// </e>
// <e>DSA
#define MDK_CONF_DSA 1
#if MDK_CONF_DSA == 0
#define NO_DSA
#endif
// </e>
// <e>PWDBASED
#define MDK_CONF_PWDBASED 1
#if MDK_CONF_PWDBASED == 0
#define NO_PWDBASED
#endif
// </e>
// <e>ECC
#define MDK_CONF_ECC 0
#if MDK_CONF_ECC == 1
#define HAVE_ECC
#endif
// </e>
// <e>PSK
#define MDK_CONF_PSK 1
#if MDK_CONF_PSK == 0
#define NO_PSK
#endif
// </e>
// <e>AESCCM (Turn off Hardware Crypt)
#define MDK_CONF_AESCCM 0
#if MDK_CONF_AESCCM == 1
#define HAVE_AESCCM
#endif
// </e>
// <e>AESGCM (Turn off Hardware Crypt)
#define MDK_CONF_AESGCM 0
#if MDK_CONF_AESGCM == 1
#define HAVE_AESGCM
#define BUILD_AESGCM
#endif
// </e>
// <e>NTRU (need License, "crypto_ntru.h")
#define MDK_CONF_NTRU 0
#if MDK_CONF_NTRU == 1
#define HAVE_NTRU
#endif
// </e>
// </h>
// <h>Hardware Crypt (See document for usage)
// <e>Hardware RNG
#define MDK_CONF_STM32F2_RNG 0
#if MDK_CONF_STM32F2_RNG == 1
#define STM32F2_RNG
#else
#endif
// </e>
// <e>Hardware Crypt
#define MDK_CONF_STM32F2_CRYPTO 0
#if MDK_CONF_STM32F2_CRYPTO == 1
#define STM32F2_CRYPTO
#endif
// </e>
// </h>
//</h>
// <<< end of configuration section >>>

View File

@ -0,0 +1,144 @@
/* config-RTX-TCP-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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,627 @@
/* settings.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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 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 */
#include <cyassl/ctaocrypt/visibility.h>
#ifdef IPHONE
#define SIZEOF_LONG_LONG 8
#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
#ifdef MICROCHIP_PIC32
#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 MICROCHIP_TCPIP_V5
/* include timer functions */
#include "TCPIP Stack/TCPIP.h"
#endif
#ifdef MICROCHIP_TCPIP
/* include timer, NTP functions */
#include "system/system_services.h"
#ifdef MICROCHIP_MPLAB_HARMONY
#include "tcpip/tcpip.h"
#else
#include "tcpip/sntp.h"
#endif
#endif
#ifdef MBED
#define SINGLE_THREADED
#define CYASSL_USER_IO
#define NO_WRITEV
#define NO_DEV_RANDOM
#define NO_SHA512
#define NO_DH
#define NO_DSA
#define NO_HC128
#endif /* MBED */
#ifdef CYASSL_TYTO
#include "rand.h"
#define FREERTOS
#define NO_FILESYSTEM
#define CYASSL_USER_IO
#define NO_DEV_RANDOM
#define HAVE_ECC
#define HAVE_ECC_ENCRYPT
#define ECC_SHAMIR
#define HAVE_HKDF
#define USE_FAST_MATH
#define TFM_TIMING_RESISTANT
#define FP_MAX_BITS 512
#define NO_OLD_TLS
#define NO_MD4
#define NO_RABBIT
#define NO_HC128
#define NO_RSA
#define NO_DSA
#define NO_PWDBASED
#define NO_PSK
#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)
#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 */

View File

@ -26,18 +26,18 @@
#include <cyassl/ctaocrypt/settings.h> #include <cyassl/ctaocrypt/settings.h>
#if defined(CYASSL_MDK_ARM) #if defined(CYASSL_MDK_ARM)
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#if defined(CYASSL_MDK5) #if defined(CYASSL_MDK5)
#include "cmsis_os.h" #include "cmsis_os.h"
#include "rl_fs.h" #include "rl_fs.h"
#include "rl_net.h" #include "rl_net.h"
#else #else
#include "rtl.h" #include "rtl.h"
#endif #endif
#include "cyassl_MDK_ARM.h" #include "cyassl_MDK_ARM.h"
#endif #endif
#include <cyassl/ssl.h> #include <cyassl/ssl.h>
@ -56,7 +56,7 @@
#define SVR_COMMAND_SIZE 256 #define SVR_COMMAND_SIZE 256
static void SignalReady(void* args, int port) static void SignalReady(void* args, word16 port)
{ {
#if defined(_POSIX_THREADS) && defined(NO_MAIN_DRIVER) && !defined(__MINGW32__) #if defined(_POSIX_THREADS) && defined(NO_MAIN_DRIVER) && !defined(__MINGW32__)
/* signal ready to tcp_accept */ /* signal ready to tcp_accept */
@ -84,7 +84,7 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
int outCreated = 0; int outCreated = 0;
int shutDown = 0; int shutDown = 0;
int useAnyAddr = 0; int useAnyAddr = 0;
int port = yasslPort; word16 port = yasslPort;
int argc = ((func_args*)args)->argc; int argc = ((func_args*)args)->argc;
char** argv = ((func_args*)args)->argv; char** argv = ((func_args*)args)->argv;
@ -115,7 +115,7 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
#endif #endif
#if defined(NO_MAIN_DRIVER) && !defined(USE_WINDOWS_API) && \ #if defined(NO_MAIN_DRIVER) && !defined(USE_WINDOWS_API) && \
!defined(CYASSL_SNIFFER) && !defined(CYASSL_MDK_ARM) !defined(CYASSL_SNIFFER) && !defined(CYASSL_MDK_SHELL)
port = 0; port = 0;
#endif #endif
#if defined(USE_ANY_ADDR) #if defined(USE_ANY_ADDR)
@ -133,7 +133,7 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
ctx = CyaSSL_CTX_new(method); ctx = CyaSSL_CTX_new(method);
/* CyaSSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF); */ /* CyaSSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF); */
#ifdef OPENSSL_EXTRA #if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
CyaSSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack); CyaSSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif #endif
@ -226,8 +226,6 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
ssl = CyaSSL_new(ctx); ssl = CyaSSL_new(ctx);
if (ssl == NULL) err_sys("SSL_new failed"); if (ssl == NULL) err_sys("SSL_new failed");
CyaSSL_set_quiet_shutdown(ssl, 1) ;
CyaSSL_set_fd(ssl, clientfd); CyaSSL_set_fd(ssl, clientfd);
#if !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA) #if !defined(NO_FILESYSTEM) && defined(OPENSSL_EXTRA)
CyaSSL_SetTmpDH_file(ssl, dhParam, SSL_FILETYPE_PEM); CyaSSL_SetTmpDH_file(ssl, dhParam, SSL_FILETYPE_PEM);
@ -313,9 +311,7 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
SignalReady(args, port); SignalReady(args, port);
#endif #endif
} }
#ifdef CYASSL_CMSIS_RTOS
osDelay(5000) ;
#endif
CloseSocket(sockfd); CloseSocket(sockfd);
CyaSSL_CTX_free(ctx); CyaSSL_CTX_free(ctx);
@ -351,8 +347,10 @@ THREAD_RETURN CYASSL_THREAD echoserver_test(void* args)
#if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL) #if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL)
CyaSSL_Debugging_ON(); CyaSSL_Debugging_ON();
#endif #endif
if (CurrentDir("echoserver") || CurrentDir("build")) if (CurrentDir("echoserver"))
ChangeDirBack(2); ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
echoserver_test(&args); echoserver_test(&args);
CyaSSL_Cleanup(); CyaSSL_Cleanup();

View File

@ -83,7 +83,6 @@ char* myoptarg = NULL;
int main() int main()
{ {
void *args = NULL ; void *args = NULL ;
init_time() ;
init_filesystem (); init_filesystem ();
net_initialize() ; net_initialize() ;
osThreadCreate (osThread (tcp_poll), NULL); osThreadCreate (osThread (tcp_poll), NULL);

View File

@ -0,0 +1,34 @@
/* time-dummy.c.c
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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 ; }

View File

@ -1,10 +1,11 @@
This program is a simple client example with CyaSSL/wolfCrypt library. This program is a simple client example with CyaSSL/wolfCrypt library.
In order to run this program, In order to run this program,
Copy {PACK}\wolfSSL\CyaSSL\2.8.0\cyassl\certs folder and files to the SD memory. Copy {PACK}\wolfSSL\CyaSSL\{version}\cyassl\certs folder and files to the SD memory.
Set config-SimpleClient.h configuration file for the Callee IP or Port number. Set config-SimpleClient.h configuration file for the Callee IP or Port number.
For further configuration, refer config-Crypt.h and config-CyaSSL.h. For further configuration, refer config-Crypt.h and config-CyaSSL.h.
config-SimpleClient.h is to configure repote callee IP and port.
When testing this client, it is recommended to test against one of the standard When testing this client, it is recommended to test against one of the standard
CyaSSL example applications running on a desktop machine. The standard CyaSSL CyaSSL example applications running on a desktop machine. The standard CyaSSL

View File

@ -3,7 +3,7 @@
*---------------------------------------------------------------------------- *----------------------------------------------------------------------------
* Name: RTX_Conf_CM.C * Name: RTX_Conf_CM.C
* Purpose: Configuration of CMSIS RTX Kernel for Cortex-M * Purpose: Configuration of CMSIS RTX Kernel for Cortex-M
* Rev.: V4.70 * Rev.: V4.73
*---------------------------------------------------------------------------- *----------------------------------------------------------------------------
* *
* Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH * Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH
@ -48,17 +48,17 @@
// <i> Defines max. number of threads that will run at the same time. // <i> Defines max. number of threads that will run at the same time.
// <i> Default: 6 // <i> Default: 6
#ifndef OS_TASKCNT #ifndef OS_TASKCNT
#define OS_TASKCNT 5 #define OS_TASKCNT 6
#endif #endif
// <o>Default Thread stack size [bytes] <64-4096:8><#/4> // <o>Default Thread stack size [bytes] <64-4096:8><#/4>
// <i> Defines default stack size for threads with osThreadDef stacksz = 0 // <i> Defines default stack size for threads with osThreadDef stacksz = 0
// <i> Default: 200 // <i> Default: 200
#ifndef OS_STKSIZE #ifndef OS_STKSIZE
#define OS_STKSIZE 250 #define OS_STKSIZE 300
#endif #endif
// <o>Main Thread stack size [bytes] <64-20000:8><#/4> // <o>Main Thread stack size [bytes] <64-32768:8><#/4>
// <i> Defines stack size for main thread. // <i> Defines stack size for main thread.
// <i> Default: 200 // <i> Default: 200
#ifndef OS_MAINSTKSIZE #ifndef OS_MAINSTKSIZE
@ -69,10 +69,10 @@
// <i> Defines the number of threads with user-provided stack size. // <i> Defines the number of threads with user-provided stack size.
// <i> Default: 0 // <i> Default: 0
#ifndef OS_PRIVCNT #ifndef OS_PRIVCNT
#define OS_PRIVCNT 2 #define OS_PRIVCNT 0
#endif #endif
// <o>Total stack size [bytes] for threads with user-provided stack size <0-0x10000:8><#/4> // <o>Total stack size [bytes] for threads with user-provided stack size <0-1048576:8><#/4>
// <i> Defines the combined stack size for threads with user-provided stack size. // <i> Defines the combined stack size for threads with user-provided stack size.
// <i> Default: 0 // <i> Default: 0
#ifndef OS_PRIVSTKSIZE #ifndef OS_PRIVSTKSIZE
@ -158,7 +158,7 @@
#define OS_TIMERPRIO 5 #define OS_TIMERPRIO 5
#endif #endif
// <o>Timer Thread stack size [bytes] <64-64000:8><#/4> // <o>Timer Thread stack size [bytes] <64-4096:8><#/4>
// <i> Defines stack size for Timer thread. // <i> Defines stack size for Timer thread.
// <i> Default: 200 // <i> Default: 200
#ifndef OS_TIMERSTKSZ #ifndef OS_TIMERSTKSZ
@ -256,11 +256,30 @@ void os_tick_irqack (void) {
/*--------------------------- os_error --------------------------------------*/ /*--------------------------- os_error --------------------------------------*/
void os_error (uint32_t err_code) { /* OS Error Codes */
/* This function is called when a runtime error is detected. Parameter */ #define OS_ERROR_STACK_OVF 1
/* 'err_code' holds the runtime error code (defined in RTL.H). */ #define OS_ERROR_FIFO_OVF 2
#define OS_ERROR_MBX_OVF 3
extern osThreadId svcThreadGetId (void);
void os_error (uint32_t error_code) {
/* This function is called when a runtime error is detected. */
/* Parameter 'error_code' holds the runtime error code. */
/* HERE: include optional code to be executed on runtime error. */ /* HERE: include optional code to be executed on runtime error. */
switch (error_code) {
case OS_ERROR_STACK_OVF:
/* Stack overflow detected for the currently running task. */
/* Thread can be identified by calling svcThreadGetId(). */
break;
case OS_ERROR_FIFO_OVF:
/* ISR FIFO Queue buffer overflow detected. */
break;
case OS_ERROR_MBX_OVF:
/* Mailbox overflow detected. */
break;
}
for (;;); for (;;);
} }

View File

@ -14,7 +14,7 @@
// <o>Connect to hardware via Driver_ETH# <0-255> // <o>Connect to hardware via Driver_ETH# <0-255>
// <i>Select driver control block for MAC and PHY interface // <i>Select driver control block for MAC and PHY interface
#define ETH0_DRIVER 1 #define ETH0_DRIVER 0
// <h>MAC Address // <h>MAC Address
// <i> Local Ethernet MAC Address // <i> Local Ethernet MAC Address

View File

@ -0,0 +1,185 @@
/* config-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
// <<< Use Configuration Wizard in Context Menu >>>
// <h> wolfCrypt Configuration
// <h>Cert/Key Strage
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
#define MDK_CONF_CERT_BUFF 0
#if MDK_CONF_CERT_BUFF== 1
#define USE_CERT_BUFFERS_1024
#elif MDK_CONF_CERT_BUFF == 2
#define USE_CERT_BUFFERS_2048
#endif
//</h>
// <h>Crypt Algrithm
// <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
// </h>
// <e>MD2
#define MDK_CONF_MD2 0
#if MDK_CONF_MD2 == 1
#define CYASSL_MD2
#endif
// </e>
// <e>MD4
#define MDK_CONF_MD4 1
#if MDK_CONF_MD4 == 0
#define NO_MD4
#endif
// </e>
// <e>SHA-384
// <i>This has to be with SHA512
#define MDK_CONF_SHA384 0
#if MDK_CONF_SHA384 == 1
#define CYASSL_SHA384
#endif
// </e>
// <e>SHA-512
#define MDK_CONF_SHA512 0
#if MDK_CONF_SHA512 == 1
#define CYASSL_SHA512
#endif
// </e>
// <e>RIPEMD
#define MDK_CONF_RIPEMD 0
#if MDK_CONF_RIPEMD == 1
#define CYASSL_RIPEMD
#endif
// </e>
// <e>HMAC
#define MDK_CONF_HMAC 1
#if MDK_CONF_HMAC == 0
#define NO_HMAC
#endif
// </e>
// <e>HC128
#define MDK_CONF_HC128 0
#if MDK_CONF_HC128 == 1
#define HAVE_HC128
#endif
// </e>
// <e>RABBIT
#define MDK_CONF_RABBIT 1
#if MDK_CONF_RABBI == 0
#define NO_RABBIT
#endif
// </e>
// <e>AEAD
#define MDK_CONF_AEAD 0
#if MDK_CONF_AEAD == 1
#define HAVE_AEAD
#endif
// </e>
// <e>DES3
#define MDK_CONF_DES3 1
#if MDK_CONF_DES3 == 0
#define NO_DES3
#endif
// </e>
// <e>CAMELLIA
#define MDK_CONF_CAMELLIA 0
#if MDK_CONF_CAMELLIA == 1
#define HAVE_CAMELLIA
#endif
// </e>
// <e>DH
// <i>need this for CYASSL_SERVER, OPENSSL_EXTRA
#define MDK_CONF_DH 1
#if MDK_CONF_DH == 0
#define NO_DH
#endif
// </e>
// <e>DSA
#define MDK_CONF_DSA 1
#if MDK_CONF_DSA == 0
#define NO_DSA
#endif
// </e>
// <e>PWDBASED
#define MDK_CONF_PWDBASED 1
#if MDK_CONF_PWDBASED == 0
#define NO_PWDBASED
#endif
// </e>
// <e>ECC
#define MDK_CONF_ECC 0
#if MDK_CONF_ECC == 1
#define HAVE_ECC
#endif
// </e>
// <e>PSK
#define MDK_CONF_PSK 1
#if MDK_CONF_PSK == 0
#define NO_PSK
#endif
// </e>
// <e>AESCCM (Turn off Hardware Crypt)
#define MDK_CONF_AESCCM 0
#if MDK_CONF_AESCCM == 1
#define HAVE_AESCCM
#endif
// </e>
// <e>AESGCM (Turn off Hardware Crypt)
#define MDK_CONF_AESGCM 0
#if MDK_CONF_AESGCM == 1
#define HAVE_AESGCM
#define BUILD_AESGCM
#endif
// </e>
// <e>NTRU (need License, "crypto_ntru.h")
#define MDK_CONF_NTRU 0
#if MDK_CONF_NTRU == 1
#define HAVE_NTRU
#endif
// </e>
// </h>
// <h>Hardware Crypt (See document for usage)
// <e>Hardware RNG
#define MDK_CONF_STM32F2_RNG 0
#if MDK_CONF_STM32F2_RNG == 1
#define STM32F2_RNG
#else
#endif
// </e>
// <e>Hardware Crypt
#define MDK_CONF_STM32F2_CRYPTO 0
#if MDK_CONF_STM32F2_CRYPTO == 1
#define STM32F2_CRYPTO
#endif
// </e>
// </h>
//</h>
// <<< end of configuration section >>>

View File

@ -0,0 +1,144 @@
/* config-RTX-TCP-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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,667 @@
/* settings.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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

@ -22,7 +22,7 @@
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
#endif #endif
#define CYASSL_MDK_ARM
#if defined(CYASSL_MDK_ARM) #if defined(CYASSL_MDK_ARM)
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
@ -46,11 +46,11 @@
#endif #endif
#include <cyassl/ssl.h> #include <cyassl/ssl.h>
#include <cyassl/test.h> #include <cyassl/test.h>
#include "examples/client/client.h" #include "examples/client/client.h"
#define USE_CYASSL_MEMORY
#ifdef CYASSL_CALLBACKS #ifdef CYASSL_CALLBACKS
int handShakeCB(HandShakeInfo*); int handShakeCB(HandShakeInfo*);
@ -139,18 +139,27 @@ static void Usage(void)
#ifdef SHOW_SIZES #ifdef SHOW_SIZES
printf("-z Print structure sizes\n"); printf("-z Print structure sizes\n");
#endif #endif
#ifdef HAVE_SNI
printf("-S <str> Use Host Name Indication\n"); 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
#ifdef CYASSL_MDK_SHELL
#define exit(code) return(code)
#endif
THREAD_RETURN CYASSL_THREAD client_test(void* args) THREAD_RETURN CYASSL_THREAD client_test(void* args)
{ {
SOCKET_T sockfd = 0; SOCKET_T sockfd = 0;
@ -169,7 +178,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
int input; int input;
int msgSz = (int)strlen(msg); int msgSz = (int)strlen(msg);
int port = yasslPort; word16 port = yasslPort;
char* host = (char*)yasslIP; char* host = (char*)yasslIP;
char* domain = (char*)"www.yassl.com"; char* domain = (char*)"www.yassl.com";
@ -186,6 +195,8 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
int trackMemory = 0; int trackMemory = 0;
int useClientCert = 1; int useClientCert = 1;
int fewerPackets = 0; int fewerPackets = 0;
int atomicUser = 0;
int pkCallbacks = 0;
char* cipherList = NULL; char* cipherList = NULL;
char* verifyCert = (char*)caCert; char* verifyCert = (char*)caCert;
char* ourCert = (char*)cliCert; char* ourCert = (char*)cliCert;
@ -194,6 +205,18 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
#ifdef HAVE_SNI #ifdef HAVE_SNI
char* sniHostName = NULL; char* sniHostName = NULL;
#endif #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; int argc = ((func_args*)args)->argc;
char** argv = ((func_args*)args)->argv; char** argv = ((func_args*)args)->argv;
@ -209,8 +232,13 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
(void)session; (void)session;
(void)sslResume; (void)sslResume;
(void)trackMemory; (void)trackMemory;
(void)atomicUser;
(void)pkCallbacks;
while ((ch = mygetopt(argc, argv, "?gdusmNrtfxh:p:v:l:A:c:k:b:zS:")) != -1){ StackTrap();
while ((ch = mygetopt(argc, argv,
"?gdusmNrtfxUPh:p:v:l:A:c:k:b:zS:L:ToO:")) != -1) {
switch (ch) { switch (ch) {
case '?' : case '?' :
Usage(); Usage();
@ -250,13 +278,25 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
fewerPackets = 1; fewerPackets = 1;
break; break;
case 'U' :
#ifdef ATOMIC_USER
atomicUser = 1;
#endif
break;
case 'P' :
#ifdef HAVE_PK_CALLBACKS
pkCallbacks = 1;
#endif
break;
case 'h' : case 'h' :
host = myoptarg; host = myoptarg;
domain = myoptarg; domain = myoptarg;
break; break;
case 'p' : case 'p' :
port = atoi(myoptarg); port = (word16)atoi(myoptarg);
#if !defined(NO_MAIN_DRIVER) || defined(USE_WINDOWS_API) #if !defined(NO_MAIN_DRIVER) || defined(USE_WINDOWS_API)
if (port == 0) if (port == 0)
err_sys("port number cannot be 0"); err_sys("port number cannot be 0");
@ -315,6 +355,36 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
#endif #endif
break; 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: default:
Usage(); Usage();
exit(MY_EX_USAGE); exit(MY_EX_USAGE);
@ -390,7 +460,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
ctx = CyaSSL_CTX_new(method); ctx = CyaSSL_CTX_new(method);
if (ctx == NULL) if (ctx == NULL)
err_sys("unable to get ctx"); err_sys("unable to get ctx");
if (cipherList) if (cipherList)
if (CyaSSL_CTX_set_cipher_list(ctx, cipherList) != SSL_SUCCESS) if (CyaSSL_CTX_set_cipher_list(ctx, cipherList) != SSL_SUCCESS)
err_sys("client can't set cipher list 1"); err_sys("client can't set cipher list 1");
@ -423,7 +493,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
useClientCert = 0; useClientCert = 0;
} }
#ifdef OPENSSL_EXTRA #if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER)
CyaSSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack); CyaSSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif #endif
@ -436,6 +506,18 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
} }
#endif #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 #ifdef USER_CA_CB
CyaSSL_CTX_SetCACb(ctx, CaCb); CyaSSL_CTX_SetCACb(ctx, CaCb);
#endif #endif
@ -475,6 +557,16 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
!= SSL_SUCCESS) != SSL_SUCCESS)
err_sys("UseSNI failed"); err_sys("UseSNI failed");
#endif #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) { if (benchmark) {
/* time passed in number of connects give average */ /* time passed in number of connects give average */
@ -513,9 +605,6 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
ssl = CyaSSL_new(ctx); ssl = CyaSSL_new(ctx);
if (ssl == NULL) if (ssl == NULL)
err_sys("unable to get SSL object"); err_sys("unable to get SSL object");
CyaSSL_set_quiet_shutdown(ssl, 1) ;
if (doDTLS) { if (doDTLS) {
SOCKADDR_IN_T addr; SOCKADDR_IN_T addr;
build_addr(&addr, host, port, 1); build_addr(&addr, host, port, 1);
@ -533,6 +622,14 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
err_sys("can't load crl, check crlfile and date validity"); err_sys("can't load crl, check crlfile and date validity");
if (CyaSSL_SetCRL_Cb(ssl, CRL_CallBack) != SSL_SUCCESS) if (CyaSSL_SetCRL_Cb(ssl, CRL_CallBack) != SSL_SUCCESS)
err_sys("can't set crl callback"); 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 #endif
if (matchName && doPeerCheck) if (matchName && doPeerCheck)
CyaSSL_check_domain_name(ssl, domain); CyaSSL_check_domain_name(ssl, domain);
@ -545,7 +642,7 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
else if (CyaSSL_connect(ssl) != SSL_SUCCESS) { else if (CyaSSL_connect(ssl) != SSL_SUCCESS) {
/* see note at top of README */ /* see note at top of README */
int err = CyaSSL_get_error(ssl, 0); int err = CyaSSL_get_error(ssl, 0);
char buffer[80]; char buffer[CYASSL_MAX_ERROR_SZ];
printf("err = %d, %s\n", err, printf("err = %d, %s\n", err,
CyaSSL_ERR_error_string(err, buffer)); CyaSSL_ERR_error_string(err, buffer));
err_sys("SSL_connect failed"); err_sys("SSL_connect failed");
@ -570,32 +667,25 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
input = CyaSSL_read(ssl, reply, sizeof(reply)-1); input = CyaSSL_read(ssl, reply, sizeof(reply)-1);
if (input > 0) { if (input > 0) {
reply[input] = 0; reply[input] = 0;
printf("Server response: %s", reply); printf("Server response: %s\n", reply);
if (sendGET && (input == (sizeof(reply)-1))) { /* get html */ if (sendGET) { /* get html */
while (1) { while (1) {
input = CyaSSL_read(ssl, reply, sizeof(reply)-1); input = CyaSSL_read(ssl, reply, sizeof(reply)-1);
if (input > 0) { if (input > 0) {
reply[input] = 0; reply[input] = 0;
printf("%s", reply); printf("%s\n", reply);
if(input < sizeof(reply)-1)
break ;
} }
else else
break; break;
} }
} }
printf("\n");
} }
else if (input < 0) { else if (input < 0) {
int readErr = CyaSSL_get_error(ssl, 0); int readErr = CyaSSL_get_error(ssl, 0);
if (readErr != SSL_ERROR_WANT_READ) if (readErr != SSL_ERROR_WANT_READ)
err_sys("CyaSSL_read failed"); err_sys("CyaSSL_read failed");
} }
#ifdef CYASSL_CMSIS_RTOS
osDelay(5000) ;
#endif
#ifndef NO_SESSION_CACHE #ifndef NO_SESSION_CACHE
if (resumeSession) { if (resumeSession) {
@ -612,6 +702,10 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
if (doDTLS == 0) /* don't send alert after "break" command */ if (doDTLS == 0) /* don't send alert after "break" command */
CyaSSL_shutdown(ssl); /* echoserver will interpret as new conn */ CyaSSL_shutdown(ssl); /* echoserver will interpret as new conn */
#ifdef ATOMIC_USER
if (atomicUser)
FreeAtomicUser(ssl);
#endif
CyaSSL_free(ssl); CyaSSL_free(ssl);
CloseSocket(sockfd); CloseSocket(sockfd);
@ -713,11 +807,13 @@ THREAD_RETURN CYASSL_THREAD client_test(void* args)
args.argv = argv; args.argv = argv;
CyaSSL_Init(); CyaSSL_Init();
#if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL) #if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL) && !defined(STACK_TRAP)
CyaSSL_Debugging_ON(); CyaSSL_Debugging_ON();
#endif #endif
if (CurrentDir("client") || CurrentDir("build")) if (CurrentDir("client"))
ChangeDirBack(2); ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
#ifdef HAVE_STACK_SIZE #ifdef HAVE_STACK_SIZE
StackSizeCheck(&args, client_test); StackSizeCheck(&args, client_test);

View File

@ -0,0 +1,70 @@
/* config-RTX-TCP-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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> Build Target: Simple Client
// <s.15>Callee IP Address
// <i> Default: "192.168.1.100"
#define CYASSL_CALLEE_IP "192.168.11.3"
// <s.15>Callee Port Number
// <i> Default: "443"
#define CYASSL_CALLEE_PORT "443"
// <o>HTTP GET Option <0=> HTTP Get <1=> SSL/TLS Message
#define MDK_CONF_HTTP_GET 0
#if MDK_CONF_HTTP_GET == 0
#define CYASSL_HTTP_GET "-g"
#define CYASSL_HTTP_GET_COUNT 1
#elif MDK_CONF_HTTP_GET == 1
#define CYASSL_HTTP_GET ""
#define CYASSL_HTTP_GET_COUNT 0
#endif
// <o>SSL/TLS Version <0=> SSL3 <1=> TLS 1.0 <2=> TLS 1.1 <3=> TLS 1.2
#define MDK_CONF_SSL_VERSION 3
#if MDK_CONF_SSL_VERSION == 0
#define CYASSL_SSL_VER "0"
#elif MDK_CONF_SSL_VERSION == 1
#define CYASSL_SSL_VER "1"
#elif MDK_CONF_SSL_VERSION == 2
#define CYASSL_SSL_VER "2"
#elif MDK_CONF_SSL_VERSION == 3
#define CYASSL_SSL_VER "3"
#endif
// </h>
// <<< end of configuration section >>>

View File

@ -89,8 +89,7 @@ int main()
"-v", CYASSL_SSL_VER, CYASSL_HTTP_GET } ; "-v", CYASSL_SSL_VER, CYASSL_HTTP_GET } ;
static func_args args = static func_args args =
{ 7 + CYASSL_HTTP_GET_COUNT, argv } ; { 7 + CYASSL_HTTP_GET_COUNT, argv } ;
init_time() ;
init_filesystem (); init_filesystem ();
net_initialize() ; net_initialize() ;
osThreadCreate (osThread (tcp_poll), NULL); osThreadCreate (osThread (tcp_poll), NULL);

View File

@ -139,6 +139,8 @@
<RestoreFunctions>0</RestoreFunctions> <RestoreFunctions>0</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox> <RestoreToolbox>1</RestoreToolbox>
<RestoreTracepoints>1</RestoreTracepoints> <RestoreTracepoints>1</RestoreTracepoints>
<RestoreTracepoints>1</RestoreTracepoints>
<RestoreTracepoints>1</RestoreTracepoints>
</Target> </Target>
<RunDebugAfterBuild>0</RunDebugAfterBuild> <RunDebugAfterBuild>0</RunDebugAfterBuild>
<TargetSelection>8</TargetSelection> <TargetSelection>8</TargetSelection>
@ -353,9 +355,11 @@
<wLevel>0</wLevel> <wLevel>0</wLevel>
<uThumb>0</uThumb> <uThumb>0</uThumb>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<uC99>0</uC99>
<useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define>HAVE_CONFIG_H MDK_CONF_SimpleClient CYASSL_STM32F2xx</Define> <Define>HAVE_CONFIG_H MDK_CONF_SimpleClient</Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath></IncludePath> <IncludePath></IncludePath>
</VariousControls> </VariousControls>
@ -369,6 +373,7 @@
<SwStkChk>0</SwStkChk> <SwStkChk>0</SwStkChk>
<NoWarn>0</NoWarn> <NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define></Define> <Define></Define>
@ -385,6 +390,7 @@
<useFile>0</useFile> <useFile>0</useFile>
<TextAddressRange>0x08000000</TextAddressRange> <TextAddressRange>0x08000000</TextAddressRange>
<DataAddressRange>0x20000000</DataAddressRange> <DataAddressRange>0x20000000</DataAddressRange>
<pXoBase></pXoBase>
<ScatterFile></ScatterFile> <ScatterFile></ScatterFile>
<IncludeLibs></IncludeLibs> <IncludeLibs></IncludeLibs>
<IncludeLibsPath></IncludeLibsPath> <IncludeLibsPath></IncludeLibsPath>
@ -428,6 +434,11 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath> <FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath>
</File> </File>
<File>
<FileName>Net_Config_ETH_0.h</FileName>
<FileType>5</FileType>
<FilePath>.\RTE\Network\Net_Config_ETH_0.h</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -441,18 +452,33 @@
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::CMSIS</GroupName> <GroupName>Devices</GroupName>
<Files> <Files>
<File> <File>
<FileName>RTX_CM3.lib</FileName> <FileName>time-dummy.c</FileName>
<FileType>4</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\ARM\CMSIS\3.20.3\CMSIS_RTX\Lib\ARM\RTX_CM3.lib</FilePath> <FilePath>.\time-dummy.c</FilePath>
</File> </File>
<File>
<FileName>time-STM32F2xx.c</FileName>
<FileType>1</FileType>
<FilePath>.\time-STM32F2xx.c</FilePath>
</File>
</Files>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
<Files>
<File> <File>
<FileName>RTX_Conf_CM.c</FileName> <FileName>RTX_Conf_CM.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath> <FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath>
</File> </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> </Files>
</Group> </Group>
<Group> <Group>
@ -488,11 +514,6 @@
<Group> <Group>
<GroupName>::Drivers</GroupName> <GroupName>::Drivers</GroupName>
<Files> <Files>
<File>
<FileName>PHY_ST802RT1.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\Network\Driver\PHY_ST802RT1.c</FilePath>
</File>
<File> <File>
<FileName>EMAC_STM32F2xx.c</FileName> <FileName>EMAC_STM32F2xx.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -503,16 +524,16 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.4\RTE_Driver\MCI_STM32F2xx.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.4\RTE_Driver\MCI_STM32F2xx.c</FilePath>
</File> </File>
<File>
<FileName>PHY_ST802RT1.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\Network\Driver\PHY_ST802RT1.c</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::File System</GroupName> <GroupName>::File System</GroupName>
<Files> <Files>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
<File> <File>
<FileName>FS_Config.c</FileName> <FileName>FS_Config.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -523,16 +544,16 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath> <FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath>
</File> </File>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::Network</GroupName> <GroupName>::Network</GroupName>
<Files> <Files>
<File>
<FileName>Net_Dbg_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\Network\Lib\ARM\Net_Dbg_CM3_L.lib</FilePath>
</File>
<File> <File>
<FileName>Net_Config.c</FileName> <FileName>Net_Config.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -568,221 +589,16 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>RTE\Network\Net_Debug.c</FilePath> <FilePath>RTE\Network\Net_Debug.c</FilePath>
</File> </File>
<File>
<FileName>Net_Dbg_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\Network\Lib\ARM\Net_Dbg_CM3_L.lib</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::wolfSSL</GroupName> <GroupName>::wolfSSL</GroupName>
<Files> <Files>
<File>
<FileName>cyassl_MDK_ARM.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\cyassl_MDK_ARM.c</FilePath>
</File>
<File>
<FileName>time-STM32F2xx.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib\time-STM32F2xx.c</FilePath>
</File>
<File>
<FileName>aes.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\aes.c</FilePath>
</File>
<File>
<FileName>arc4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\arc4.c</FilePath>
</File>
<File>
<FileName>asm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\asm.c</FilePath>
</File>
<File>
<FileName>asn.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\asn.c</FilePath>
</File>
<File>
<FileName>blake2b.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\blake2b.c</FilePath>
</File>
<File>
<FileName>camellia.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\camellia.c</FilePath>
</File>
<File>
<FileName>coding.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\coding.c</FilePath>
</File>
<File>
<FileName>compress.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\compress.c</FilePath>
</File>
<File>
<FileName>des3.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\des3.c</FilePath>
</File>
<File>
<FileName>dh.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\dh.c</FilePath>
</File>
<File>
<FileName>dsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\dsa.c</FilePath>
</File>
<File>
<FileName>ecc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ecc.c</FilePath>
</File>
<File>
<FileName>ecc_fp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ecc_fp.c</FilePath>
</File>
<File>
<FileName>error.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\error.c</FilePath>
</File>
<File>
<FileName>hc128.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\hc128.c</FilePath>
</File>
<File>
<FileName>hmac.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\hmac.c</FilePath>
</File>
<File>
<FileName>integer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\integer.c</FilePath>
</File>
<File>
<FileName>logging.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\logging.c</FilePath>
</File>
<File>
<FileName>md2.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md2.c</FilePath>
</File>
<File>
<FileName>md4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md4.c</FilePath>
</File>
<File>
<FileName>md5.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md5.c</FilePath>
</File>
<File>
<FileName>memory.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\memory.c</FilePath>
</File>
<File>
<FileName>misc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\misc.c</FilePath>
</File>
<File>
<FileName>pwdbased.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\pwdbased.c</FilePath>
</File>
<File>
<FileName>rabbit.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\rabbit.c</FilePath>
</File>
<File>
<FileName>random.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\random.c</FilePath>
</File>
<File>
<FileName>ripemd.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ripemd.c</FilePath>
</File>
<File>
<FileName>rsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\rsa.c</FilePath>
</File>
<File>
<FileName>sha.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha.c</FilePath>
</File>
<File>
<FileName>sha256.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha256.c</FilePath>
</File>
<File>
<FileName>sha512.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha512.c</FilePath>
</File>
<File>
<FileName>tfm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\tfm.c</FilePath>
</File>
<File>
<FileName>crl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\crl.c</FilePath>
</File>
<File>
<FileName>internal.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\internal.c</FilePath>
</File>
<File>
<FileName>io.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\io.c</FilePath>
</File>
<File>
<FileName>keys.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\keys.c</FilePath>
</File>
<File>
<FileName>ocsp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\ocsp.c</FilePath>
</File>
<File>
<FileName>sniffer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\sniffer.c</FilePath>
</File>
<File>
<FileName>ssl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\ssl.c</FilePath>
</File>
<File>
<FileName>tls.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\tls.c</FilePath>
</File>
<File> <File>
<FileName>config-Crypt.h</FileName> <FileName>config-Crypt.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
@ -794,9 +610,219 @@
<FilePath>RTE\wolfSSL\config-CyaSSL.h</FilePath> <FilePath>RTE\wolfSSL\config-CyaSSL.h</FilePath>
</File> </File>
<File> <File>
<FileName>config.h</FileName> <FileName>settings.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>RTE\wolfSSL\config.h</FilePath> <FilePath>RTE\wolfSSL\settings.h</FilePath>
</File>
<File>
<FileName>cyassl_MDK_ARM.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\IDE\MDK5-ARM\Src\cyassl_MDK_ARM.c</FilePath>
</File>
<File>
<FileName>aes.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\aes.c</FilePath>
</File>
<File>
<FileName>arc4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\arc4.c</FilePath>
</File>
<File>
<FileName>asm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\asm.c</FilePath>
</File>
<File>
<FileName>asn.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\asn.c</FilePath>
</File>
<File>
<FileName>blake2b.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\blake2b.c</FilePath>
</File>
<File>
<FileName>camellia.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\camellia.c</FilePath>
</File>
<File>
<FileName>coding.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\coding.c</FilePath>
</File>
<File>
<FileName>compress.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\compress.c</FilePath>
</File>
<File>
<FileName>des3.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\des3.c</FilePath>
</File>
<File>
<FileName>dh.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\dh.c</FilePath>
</File>
<File>
<FileName>dsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\dsa.c</FilePath>
</File>
<File>
<FileName>ecc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ecc.c</FilePath>
</File>
<File>
<FileName>ecc_fp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ecc_fp.c</FilePath>
</File>
<File>
<FileName>error.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\error.c</FilePath>
</File>
<File>
<FileName>hc128.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\hc128.c</FilePath>
</File>
<File>
<FileName>hmac.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\hmac.c</FilePath>
</File>
<File>
<FileName>integer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\integer.c</FilePath>
</File>
<File>
<FileName>logging.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\logging.c</FilePath>
</File>
<File>
<FileName>md2.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md2.c</FilePath>
</File>
<File>
<FileName>md4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md4.c</FilePath>
</File>
<File>
<FileName>md5.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\md5.c</FilePath>
</File>
<File>
<FileName>memory.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\memory.c</FilePath>
</File>
<File>
<FileName>misc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\misc.c</FilePath>
</File>
<File>
<FileName>port.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\port.c</FilePath>
</File>
<File>
<FileName>pwdbased.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\pwdbased.c</FilePath>
</File>
<File>
<FileName>rabbit.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\rabbit.c</FilePath>
</File>
<File>
<FileName>random.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\random.c</FilePath>
</File>
<File>
<FileName>ripemd.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\ripemd.c</FilePath>
</File>
<File>
<FileName>rsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\rsa.c</FilePath>
</File>
<File>
<FileName>sha.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha.c</FilePath>
</File>
<File>
<FileName>sha256.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha256.c</FilePath>
</File>
<File>
<FileName>sha512.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\sha512.c</FilePath>
</File>
<File>
<FileName>tfm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\ctaocrypt\src\tfm.c</FilePath>
</File>
<File>
<FileName>crl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\crl.c</FilePath>
</File>
<File>
<FileName>internal.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\internal.c</FilePath>
</File>
<File>
<FileName>io.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\io.c</FilePath>
</File>
<File>
<FileName>keys.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\keys.c</FilePath>
</File>
<File>
<FileName>ocsp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\ocsp.c</FilePath>
</File>
<File>
<FileName>sniffer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\sniffer.c</FilePath>
</File>
<File>
<FileName>ssl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\ssl.c</FilePath>
</File>
<File>
<FileName>tls.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.4\cyassl\src\tls.c</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@ -838,20 +864,20 @@
<targetInfo name="SimpleClient"/> <targetInfo name="SimpleClient"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.73.0" condition="CMSIS Core"> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.3"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleClient"/> <targetInfo name="SimpleClient"/>
</targetInfos> </targetInfos>
</component> </component>
<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="LFN" Cvendor="Keil" Cversion="5.0.5" condition="CMSIS Core with RTOS">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.2"/> <package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.4"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleClient"/> <targetInfo name="SimpleClient"/>
</targetInfos> </targetInfos>
</component> </component>
<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="5.0.5" condition="File System and MCI 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.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.4"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleClient"/> <targetInfo name="SimpleClient"/>
</targetInfos> </targetInfos>
@ -928,20 +954,14 @@
<targetInfo name="SimpleClient"/> <targetInfo name="SimpleClient"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.8.0" condition="CyaSSL-Core"> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.9.0" condition="CyaSSL-Core">
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.0"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleClient"/> <targetInfo name="SimpleClient"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="Device" Csub="Timer" Cvendor="wolfSSL" Cversion="2.8.0" condition="wolfCrypt-Core"> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.0" condition="wolfCrypt-Core">
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.0"/>
<targetInfos>
<targetInfo name="SimpleClient"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.8.0" condition="wolfCrypt-Core">
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleClient"/> <targetInfo name="SimpleClient"/>
</targetInfos> </targetInfos>
@ -950,8 +970,8 @@
<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">
<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.73.0" condition="CMSIS Core"/> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"/>
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.3"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleClient"/> <targetInfo name="SimpleClient"/>
</targetInfos> </targetInfos>
@ -1076,26 +1096,32 @@
<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\MDK-ARM\CyaSSL\config-Crypt.h"> <file attr="config" category="header" name="cyassl\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="2.8.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.4" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.4"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleClient"/> <targetInfo name="SimpleClient"/>
</targetInfos> </targetInfos>
</file> </file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-CyaSSL.h"> <file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\Conf\config-CyaSSL.h">
<instance index="0">RTE\wolfSSL\config-CyaSSL.h</instance> <instance index="0">RTE\wolfSSL\config-CyaSSL.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.8.0" condition="CyaSSL-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.9.4" condition="CyaSSL-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.4"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleClient"/> <targetInfo name="SimpleClient"/>
</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">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="2.8.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.8.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/> <package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="cyassl\cyassl\ctaocrypt\settings.h">
<instance index="0">RTE\wolfSSL\settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.4" 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="2.9.4"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleClient"/> <targetInfo name="SimpleClient"/>
</targetInfos> </targetInfos>

View File

@ -0,0 +1,82 @@
/* time-STM32F2.c
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "time.h"
#define PERIPH_BASE ((uint32_t)0x40000000)
/*-----------------------------------------------------------------------------
* initialize RTC
*----------------------------------------------------------------------------*/
#include "stm32f2xx.h"
#define assert_param(a)
#if 0
#define RTC_RSF_MASK ((uint32_t)0xFFFFFF5F)
#define SYNCHRO_TIMEOUT ((uint32_t) 0x00008000)
#define Bcd2ToByte(v) \
((((uint8_t)(v & (uint8_t)0xF0) >> (uint8_t)0x4) * 10) + (v & (uint8_t)0x0F))
#define RTC_TR_RESERVED_MASK ((uint32_t)0x007F7F7F)
#define RTC_TR_MNT ((uint32_t)0x00007000)
#define RTC_TR_MNU ((uint32_t)0x00000F00)
#define PWR_OFFSET (PWR_BASE - PERIPH_BASE)
#define CR_OFFSET (PWR_OFFSET + 0x00)
#define DBP_BitNumber 0x08
#define CR_DBP_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (DBP_BitNumber * 4))
#define RTC_INIT_MASK ((uint32_t)0xFFFFFFFF)
#define INITMODE_TIMEOUT ((uint32_t) 0x00010000)
#endif
/*-----------------------------------------------------------------------------
* initialize TIM
*----------------------------------------------------------------------------*/
#define RCC_APB1Periph_TIM2 ((uint32_t)0x00000001)
void init_time(void)
{
uint16_t tmpcr1 = 0;
((uint32_t *)RCC)[0x10] |= RCC_APB1Periph_TIM2 ;
tmpcr1 = TIM2->CR1 ;
tmpcr1 &= (uint16_t) (~(((uint16_t)0x0010) | ((uint16_t)0x0060) ));
/* CR1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS) */
tmpcr1 |= (uint16_t)0x0000 ; /* CR1 |= TIM_CounterMode_Up */
TIM2->CR1= tmpcr1 ;
TIM2->ARR = 0xffffffff ; /* ARR= TIM_Period */
TIM2->PSC = 60 ; /* PSC = TIM_Prescaler */
TIM2->EGR = ((uint16_t)0x0001) ; /* EGR = TIM_PSCReloadMode_Immediate */
*(uint16_t *)(PERIPH_BASE+0x0) |=((uint16_t)0x0001) ;
/* TIM_Cmd(TIM2, ENABLE) ; */
}
double current_time()
{
return ((double)TIM2->CNT/1000000.0) ;
}

View File

@ -0,0 +1,34 @@
/* time-dummy.c.c
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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 ; }

View File

@ -1,11 +1,12 @@
This program is a simple server example with CyaSSL/wolfCrypt library. This program is a simple server example with CyaSSL/wolfCrypt library.
In order to run this program, In order to run this program,
Copy {PACK}\wolfSSL\CyaSSL\2.8.0\cyassl\certs folder and files to the SD memory. Copy {PACK}\wolfSSL\CyaSSL\{version}\cyassl\certs folder and files to the SD memory.
Set the server IP address in Net_Config_ETH_0.h Set the server IP address in Net_Config_ETH_0.h
The default server listning port is 11111, defined in test.h The default server listning port is 11111, defined in test.h
For further configuration, refer config-Crypt.h and config-CyaSSL.h. For further configuration, refer config-Crypt.h and config-CyaSSL.h.
config-SimpleServer.h is for configuring the server port number.
When testing this server, it is recommended to test against one of the standard When testing this server, it is recommended to test against one of the standard
CyaSSL example applications running on a desktop machine. The standard CyaSSL CyaSSL example applications running on a desktop machine. The standard CyaSSL

View File

@ -3,7 +3,7 @@
*---------------------------------------------------------------------------- *----------------------------------------------------------------------------
* Name: RTX_Conf_CM.C * Name: RTX_Conf_CM.C
* Purpose: Configuration of CMSIS RTX Kernel for Cortex-M * Purpose: Configuration of CMSIS RTX Kernel for Cortex-M
* Rev.: V4.70 * Rev.: V4.73
*---------------------------------------------------------------------------- *----------------------------------------------------------------------------
* *
* Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH * Copyright (c) 1999-2009 KEIL, 2009-2013 ARM Germany GmbH
@ -48,21 +48,21 @@
// <i> Defines max. number of threads that will run at the same time. // <i> Defines max. number of threads that will run at the same time.
// <i> Default: 6 // <i> Default: 6
#ifndef OS_TASKCNT #ifndef OS_TASKCNT
#define OS_TASKCNT 5 #define OS_TASKCNT 6
#endif #endif
// <o>Default Thread stack size [bytes] <64-4096:8><#/4> // <o>Default Thread stack size [bytes] <64-4096:8><#/4>
// <i> Defines default stack size for threads with osThreadDef stacksz = 0 // <i> Defines default stack size for threads with osThreadDef stacksz = 0
// <i> Default: 200 // <i> Default: 200
#ifndef OS_STKSIZE #ifndef OS_STKSIZE
#define OS_STKSIZE 250 #define OS_STKSIZE 300
#endif #endif
// <o>Main Thread stack size [bytes] <64-20000:8><#/4> // <o>Main Thread stack size [bytes] <64-32768:8><#/4>
// <i> Defines stack size for main thread. // <i> Defines stack size for main thread.
// <i> Default: 200 // <i> Default: 200
#ifndef OS_MAINSTKSIZE #ifndef OS_MAINSTKSIZE
#define OS_MAINSTKSIZE 3000 #define OS_MAINSTKSIZE 2500
#endif #endif
// <o>Number of threads with user-provided stack size <0-250> // <o>Number of threads with user-provided stack size <0-250>
@ -72,11 +72,11 @@
#define OS_PRIVCNT 0 #define OS_PRIVCNT 0
#endif #endif
// <o>Total stack size [bytes] for threads with user-provided stack size <0-0x10000:8><#/4> // <o>Total stack size [bytes] for threads with user-provided stack size <0-1048576:8><#/4>
// <i> Defines the combined stack size for threads with user-provided stack size. // <i> Defines the combined stack size for threads with user-provided stack size.
// <i> Default: 0 // <i> Default: 0
#ifndef OS_PRIVSTKSIZE #ifndef OS_PRIVSTKSIZE
#define OS_PRIVSTKSIZE 4500 #define OS_PRIVSTKSIZE 3000
#endif #endif
// <q>Check for stack overflow // <q>Check for stack overflow
@ -158,7 +158,7 @@
#define OS_TIMERPRIO 5 #define OS_TIMERPRIO 5
#endif #endif
// <o>Timer Thread stack size [bytes] <64-64000:8><#/4> // <o>Timer Thread stack size [bytes] <64-4096:8><#/4>
// <i> Defines stack size for Timer thread. // <i> Defines stack size for Timer thread.
// <i> Default: 200 // <i> Default: 200
#ifndef OS_TIMERSTKSZ #ifndef OS_TIMERSTKSZ
@ -256,11 +256,30 @@ void os_tick_irqack (void) {
/*--------------------------- os_error --------------------------------------*/ /*--------------------------- os_error --------------------------------------*/
void os_error (uint32_t err_code) { /* OS Error Codes */
/* This function is called when a runtime error is detected. Parameter */ #define OS_ERROR_STACK_OVF 1
/* 'err_code' holds the runtime error code (defined in RTL.H). */ #define OS_ERROR_FIFO_OVF 2
#define OS_ERROR_MBX_OVF 3
extern osThreadId svcThreadGetId (void);
void os_error (uint32_t error_code) {
/* This function is called when a runtime error is detected. */
/* Parameter 'error_code' holds the runtime error code. */
/* HERE: include optional code to be executed on runtime error. */ /* HERE: include optional code to be executed on runtime error. */
switch (error_code) {
case OS_ERROR_STACK_OVF:
/* Stack overflow detected for the currently running task. */
/* Thread can be identified by calling svcThreadGetId(). */
break;
case OS_ERROR_FIFO_OVF:
/* ISR FIFO Queue buffer overflow detected. */
break;
case OS_ERROR_MBX_OVF:
/* Mailbox overflow detected. */
break;
}
for (;;); for (;;);
} }

View File

@ -15,7 +15,7 @@
// <o>Number of BSD Sockets <1-20> // <o>Number of BSD Sockets <1-20>
// <i> Number of available Berkeley Sockets // <i> Number of available Berkeley Sockets
// <i> Default: 2 // <i> Default: 2
#define BSD_NUM_SOCKS 15 #define BSD_NUM_SOCKS 10
// <o>Number of Streaming Server Sockets <0-20> // <o>Number of Streaming Server Sockets <0-20>
// <i> Defines a number of Streaming (TCP) Server sockets, // <i> Defines a number of Streaming (TCP) Server sockets,

View File

@ -14,7 +14,7 @@
// <o>Connect to hardware via Driver_ETH# <0-255> // <o>Connect to hardware via Driver_ETH# <0-255>
// <i>Select driver control block for MAC and PHY interface // <i>Select driver control block for MAC and PHY interface
#define ETH0_DRIVER 1 #define ETH0_DRIVER 0
// <h>MAC Address // <h>MAC Address
// <i> Local Ethernet MAC Address // <i> Local Ethernet MAC Address
@ -61,11 +61,11 @@
// <o>Address byte 3 <0-255> // <o>Address byte 3 <0-255>
// <i> Default: 0 // <i> Default: 0
#define ETH0_IP3 0 #define ETH0_IP3 11
// <o>Address byte 4 <0-255> // <o>Address byte 4 <0-255>
// <i> Default: 100 // <i> Default: 100
#define ETH0_IP4 100 #define ETH0_IP4 101
// </h> // </h>
// <h>Subnet mask // <h>Subnet mask
@ -99,11 +99,11 @@
// <o>Address byte 3 <0-255> // <o>Address byte 3 <0-255>
// <i> Default: 0 // <i> Default: 0
#define ETH0_GW3 0 #define ETH0_GW3 11
// <o>Address byte 4 <0-255> // <o>Address byte 4 <0-255>
// <i> Default: 254 // <i> Default: 254
#define ETH0_GW4 254 #define ETH0_GW4 1
// </h> // </h>
// <h>Primary DNS Server // <h>Primary DNS Server

View File

@ -78,7 +78,7 @@
// <i> Turn On/Off BSD Interface debug messages // <i> Turn On/Off BSD Interface debug messages
#define DBG_BSD 1 #define DBG_BSD 1
// </h> // </h>
// <h>Application Debug Definitions // <h>Application Debug Definitions
// <o>HTTP Server Debug <0=> Off <1=> Errors only <2=> Full debug // <o>HTTP Server Debug <0=> Off <1=> Errors only <2=> Full debug
// <i> Turn On/Off Web Server debug messages // <i> Turn On/Off Web Server debug messages

View File

@ -0,0 +1,185 @@
/* config-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
// <<< Use Configuration Wizard in Context Menu >>>
// <h> wolfCrypt Configuration
// <h>Cert/Key Strage
// <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
#define MDK_CONF_CERT_BUFF 0
#if MDK_CONF_CERT_BUFF== 1
#define USE_CERT_BUFFERS_1024
#elif MDK_CONF_CERT_BUFF == 2
#define USE_CERT_BUFFERS_2048
#endif
//</h>
// <h>Crypt Algrithm
// <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
// </h>
// <e>MD2
#define MDK_CONF_MD2 0
#if MDK_CONF_MD2 == 1
#define CYASSL_MD2
#endif
// </e>
// <e>MD4
#define MDK_CONF_MD4 1
#if MDK_CONF_MD4 == 0
#define NO_MD4
#endif
// </e>
// <e>SHA-384
// <i>This has to be with SHA512
#define MDK_CONF_SHA384 0
#if MDK_CONF_SHA384 == 1
#define CYASSL_SHA384
#endif
// </e>
// <e>SHA-512
#define MDK_CONF_SHA512 0
#if MDK_CONF_SHA512 == 1
#define CYASSL_SHA512
#endif
// </e>
// <e>RIPEMD
#define MDK_CONF_RIPEMD 0
#if MDK_CONF_RIPEMD == 1
#define CYASSL_RIPEMD
#endif
// </e>
// <e>HMAC
#define MDK_CONF_HMAC 1
#if MDK_CONF_HMAC == 0
#define NO_HMAC
#endif
// </e>
// <e>HC128
#define MDK_CONF_HC128 0
#if MDK_CONF_HC128 == 1
#define HAVE_HC128
#endif
// </e>
// <e>RABBIT
#define MDK_CONF_RABBIT 1
#if MDK_CONF_RABBI == 0
#define NO_RABBIT
#endif
// </e>
// <e>AEAD
#define MDK_CONF_AEAD 0
#if MDK_CONF_AEAD == 1
#define HAVE_AEAD
#endif
// </e>
// <e>DES3
#define MDK_CONF_DES3 1
#if MDK_CONF_DES3 == 0
#define NO_DES3
#endif
// </e>
// <e>CAMELLIA
#define MDK_CONF_CAMELLIA 0
#if MDK_CONF_CAMELLIA == 1
#define HAVE_CAMELLIA
#endif
// </e>
// <e>DH
// <i>need this for CYASSL_SERVER, OPENSSL_EXTRA
#define MDK_CONF_DH 1
#if MDK_CONF_DH == 0
#define NO_DH
#endif
// </e>
// <e>DSA
#define MDK_CONF_DSA 1
#if MDK_CONF_DSA == 0
#define NO_DSA
#endif
// </e>
// <e>PWDBASED
#define MDK_CONF_PWDBASED 1
#if MDK_CONF_PWDBASED == 0
#define NO_PWDBASED
#endif
// </e>
// <e>ECC
#define MDK_CONF_ECC 0
#if MDK_CONF_ECC == 1
#define HAVE_ECC
#endif
// </e>
// <e>PSK
#define MDK_CONF_PSK 1
#if MDK_CONF_PSK == 0
#define NO_PSK
#endif
// </e>
// <e>AESCCM (Turn off Hardware Crypt)
#define MDK_CONF_AESCCM 0
#if MDK_CONF_AESCCM == 1
#define HAVE_AESCCM
#endif
// </e>
// <e>AESGCM (Turn off Hardware Crypt)
#define MDK_CONF_AESGCM 0
#if MDK_CONF_AESGCM == 1
#define HAVE_AESGCM
#define BUILD_AESGCM
#endif
// </e>
// <e>NTRU (need License, "crypto_ntru.h")
#define MDK_CONF_NTRU 0
#if MDK_CONF_NTRU == 1
#define HAVE_NTRU
#endif
// </e>
// </h>
// <h>Hardware Crypt (See document for usage)
// <e>Hardware RNG
#define MDK_CONF_STM32F2_RNG 0
#if MDK_CONF_STM32F2_RNG == 1
#define STM32F2_RNG
#else
#endif
// </e>
// <e>Hardware Crypt
#define MDK_CONF_STM32F2_CRYPTO 0
#if MDK_CONF_STM32F2_CRYPTO == 1
#define STM32F2_CRYPTO
#endif
// </e>
// </h>
//</h>
// <<< end of configuration section >>>

View File

@ -0,0 +1,144 @@
/* config-RTX-TCP-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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,627 @@
/* settings.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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 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 */
#include <cyassl/ctaocrypt/visibility.h>
#ifdef IPHONE
#define SIZEOF_LONG_LONG 8
#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
#ifdef MICROCHIP_PIC32
#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 MICROCHIP_TCPIP_V5
/* include timer functions */
#include "TCPIP Stack/TCPIP.h"
#endif
#ifdef MICROCHIP_TCPIP
/* include timer, NTP functions */
#include "system/system_services.h"
#ifdef MICROCHIP_MPLAB_HARMONY
#include "tcpip/tcpip.h"
#else
#include "tcpip/sntp.h"
#endif
#endif
#ifdef MBED
#define SINGLE_THREADED
#define CYASSL_USER_IO
#define NO_WRITEV
#define NO_DEV_RANDOM
#define NO_SHA512
#define NO_DH
#define NO_DSA
#define NO_HC128
#endif /* MBED */
#ifdef CYASSL_TYTO
#include "rand.h"
#define FREERTOS
#define NO_FILESYSTEM
#define CYASSL_USER_IO
#define NO_DEV_RANDOM
#define HAVE_ECC
#define HAVE_ECC_ENCRYPT
#define ECC_SHAMIR
#define HAVE_HKDF
#define USE_FAST_MATH
#define TFM_TIMING_RESISTANT
#define FP_MAX_BITS 512
#define NO_OLD_TLS
#define NO_MD4
#define NO_RABBIT
#define NO_HC128
#define NO_RSA
#define NO_DSA
#define NO_PWDBASED
#define NO_PSK
#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)
#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

@ -139,6 +139,8 @@
<RestoreFunctions>0</RestoreFunctions> <RestoreFunctions>0</RestoreFunctions>
<RestoreToolbox>1</RestoreToolbox> <RestoreToolbox>1</RestoreToolbox>
<RestoreTracepoints>1</RestoreTracepoints> <RestoreTracepoints>1</RestoreTracepoints>
<RestoreTracepoints>1</RestoreTracepoints>
<RestoreTracepoints>1</RestoreTracepoints>
</Target> </Target>
<RunDebugAfterBuild>0</RunDebugAfterBuild> <RunDebugAfterBuild>0</RunDebugAfterBuild>
<TargetSelection>8</TargetSelection> <TargetSelection>8</TargetSelection>
@ -353,9 +355,11 @@
<wLevel>0</wLevel> <wLevel>0</wLevel>
<uThumb>0</uThumb> <uThumb>0</uThumb>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<uC99>0</uC99>
<useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define>HAVE_CONFIG_H MDK_CONF_SimpleServer CYASSL_STM32F2xx</Define> <Define>HAVE_CONFIG_H MDK_CONF_SimpleServer</Define>
<Undefine></Undefine> <Undefine></Undefine>
<IncludePath></IncludePath> <IncludePath></IncludePath>
</VariousControls> </VariousControls>
@ -369,6 +373,7 @@
<SwStkChk>0</SwStkChk> <SwStkChk>0</SwStkChk>
<NoWarn>0</NoWarn> <NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc> <uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<VariousControls> <VariousControls>
<MiscControls></MiscControls> <MiscControls></MiscControls>
<Define></Define> <Define></Define>
@ -385,6 +390,7 @@
<useFile>0</useFile> <useFile>0</useFile>
<TextAddressRange>0x08000000</TextAddressRange> <TextAddressRange>0x08000000</TextAddressRange>
<DataAddressRange>0x20000000</DataAddressRange> <DataAddressRange>0x20000000</DataAddressRange>
<pXoBase></pXoBase>
<ScatterFile></ScatterFile> <ScatterFile></ScatterFile>
<IncludeLibs></IncludeLibs> <IncludeLibs></IncludeLibs>
<IncludeLibsPath></IncludeLibsPath> <IncludeLibsPath></IncludeLibsPath>
@ -423,6 +429,16 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath> <FilePath>.\RTE\wolfSSL\config-Crypt.h</FilePath>
</File> </File>
<File>
<FileName>Net_Config_ETH_0.h</FileName>
<FileType>5</FileType>
<FilePath>.\RTE\Network\Net_Config_ETH_0.h</FilePath>
</File>
<File>
<FileName>config-SimpleServer.h</FileName>
<FileType>5</FileType>
<FilePath>.\config-SimpleServer.h</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
@ -436,18 +452,28 @@
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::CMSIS</GroupName> <GroupName>Devices</GroupName>
<Files> <Files>
<File> <File>
<FileName>RTX_CM3.lib</FileName> <FileName>time-dummy.c</FileName>
<FileType>4</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\ARM\CMSIS\3.20.3\CMSIS_RTX\Lib\ARM\RTX_CM3.lib</FilePath> <FilePath>.\time-dummy.c</FilePath>
</File> </File>
</Files>
</Group>
<Group>
<GroupName>::CMSIS</GroupName>
<Files>
<File> <File>
<FileName>RTX_Conf_CM.c</FileName> <FileName>RTX_Conf_CM.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath> <FilePath>RTE\CMSIS\RTX_Conf_CM.c</FilePath>
</File> </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> </Files>
</Group> </Group>
<Group> <Group>
@ -483,11 +509,6 @@
<Group> <Group>
<GroupName>::Drivers</GroupName> <GroupName>::Drivers</GroupName>
<Files> <Files>
<File>
<FileName>PHY_ST802RT1.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\Network\Driver\PHY_ST802RT1.c</FilePath>
</File>
<File> <File>
<FileName>EMAC_STM32F2xx.c</FileName> <FileName>EMAC_STM32F2xx.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -498,16 +519,16 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.4\RTE_Driver\MCI_STM32F2xx.c</FilePath> <FilePath>C:\Keil5\ARM\PACK\Keil\STM32F2xx_DFP\1.0.4\RTE_Driver\MCI_STM32F2xx.c</FilePath>
</File> </File>
<File>
<FileName>PHY_ST802RT1.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\Network\Driver\PHY_ST802RT1.c</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::File System</GroupName> <GroupName>::File System</GroupName>
<Files> <Files>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
<File> <File>
<FileName>FS_Config.c</FileName> <FileName>FS_Config.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -518,16 +539,16 @@
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath> <FilePath>RTE\File_System\FS_Config_MC_0.h</FilePath>
</File> </File>
<File>
<FileName>FS_LFN_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\FileSystem\Lib\ARM\FS_LFN_CM3_L.lib</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::Network</GroupName> <GroupName>::Network</GroupName>
<Files> <Files>
<File>
<FileName>Net_Dbg_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.2\Network\Lib\ARM\Net_Dbg_CM3_L.lib</FilePath>
</File>
<File> <File>
<FileName>Net_Config.c</FileName> <FileName>Net_Config.c</FileName>
<FileType>1</FileType> <FileType>1</FileType>
@ -563,221 +584,16 @@
<FileType>1</FileType> <FileType>1</FileType>
<FilePath>RTE\Network\Net_Debug.c</FilePath> <FilePath>RTE\Network\Net_Debug.c</FilePath>
</File> </File>
<File>
<FileName>Net_Dbg_CM3_L.lib</FileName>
<FileType>4</FileType>
<FilePath>C:\Keil5\ARM\PACK\Keil\MDK-Middleware\5.1.4\Network\Lib\ARM\Net_Dbg_CM3_L.lib</FilePath>
</File>
</Files> </Files>
</Group> </Group>
<Group> <Group>
<GroupName>::wolfSSL</GroupName> <GroupName>::wolfSSL</GroupName>
<Files> <Files>
<File>
<FileName>cyassl_MDK_ARM.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\cyassl_MDK_ARM.c</FilePath>
</File>
<File>
<FileName>time-STM32F2xx.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib\time-STM32F2xx.c</FilePath>
</File>
<File>
<FileName>aes.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\aes.c</FilePath>
</File>
<File>
<FileName>arc4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\arc4.c</FilePath>
</File>
<File>
<FileName>asm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\asm.c</FilePath>
</File>
<File>
<FileName>asn.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\asn.c</FilePath>
</File>
<File>
<FileName>blake2b.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\blake2b.c</FilePath>
</File>
<File>
<FileName>camellia.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\camellia.c</FilePath>
</File>
<File>
<FileName>coding.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\coding.c</FilePath>
</File>
<File>
<FileName>compress.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\compress.c</FilePath>
</File>
<File>
<FileName>des3.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\des3.c</FilePath>
</File>
<File>
<FileName>dh.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\dh.c</FilePath>
</File>
<File>
<FileName>dsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\dsa.c</FilePath>
</File>
<File>
<FileName>ecc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ecc.c</FilePath>
</File>
<File>
<FileName>ecc_fp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ecc_fp.c</FilePath>
</File>
<File>
<FileName>error.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\error.c</FilePath>
</File>
<File>
<FileName>hc128.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\hc128.c</FilePath>
</File>
<File>
<FileName>hmac.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\hmac.c</FilePath>
</File>
<File>
<FileName>integer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\integer.c</FilePath>
</File>
<File>
<FileName>logging.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\logging.c</FilePath>
</File>
<File>
<FileName>md2.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md2.c</FilePath>
</File>
<File>
<FileName>md4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md4.c</FilePath>
</File>
<File>
<FileName>md5.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\md5.c</FilePath>
</File>
<File>
<FileName>memory.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\memory.c</FilePath>
</File>
<File>
<FileName>misc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\misc.c</FilePath>
</File>
<File>
<FileName>pwdbased.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\pwdbased.c</FilePath>
</File>
<File>
<FileName>rabbit.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\rabbit.c</FilePath>
</File>
<File>
<FileName>random.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\random.c</FilePath>
</File>
<File>
<FileName>ripemd.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\ripemd.c</FilePath>
</File>
<File>
<FileName>rsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\rsa.c</FilePath>
</File>
<File>
<FileName>sha.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha.c</FilePath>
</File>
<File>
<FileName>sha256.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha256.c</FilePath>
</File>
<File>
<FileName>sha512.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\sha512.c</FilePath>
</File>
<File>
<FileName>tfm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\ctaocrypt\src\tfm.c</FilePath>
</File>
<File>
<FileName>crl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\crl.c</FilePath>
</File>
<File>
<FileName>internal.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\internal.c</FilePath>
</File>
<File>
<FileName>io.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\io.c</FilePath>
</File>
<File>
<FileName>keys.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\keys.c</FilePath>
</File>
<File>
<FileName>ocsp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\ocsp.c</FilePath>
</File>
<File>
<FileName>sniffer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\sniffer.c</FilePath>
</File>
<File>
<FileName>ssl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\ssl.c</FilePath>
</File>
<File>
<FileName>tls.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.8.0\cyassl\src\tls.c</FilePath>
</File>
<File> <File>
<FileName>config-Crypt.h</FileName> <FileName>config-Crypt.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
@ -789,9 +605,219 @@
<FilePath>RTE\wolfSSL\config-CyaSSL.h</FilePath> <FilePath>RTE\wolfSSL\config-CyaSSL.h</FilePath>
</File> </File>
<File> <File>
<FileName>config.h</FileName> <FileName>settings.h</FileName>
<FileType>5</FileType> <FileType>5</FileType>
<FilePath>RTE\wolfSSL\config.h</FilePath> <FilePath>RTE\wolfSSL\settings.h</FilePath>
</File>
<File>
<FileName>cyassl_MDK_ARM.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\IDE\MDK5-ARM\Src\cyassl_MDK_ARM.c</FilePath>
</File>
<File>
<FileName>aes.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\aes.c</FilePath>
</File>
<File>
<FileName>arc4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\arc4.c</FilePath>
</File>
<File>
<FileName>asm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\asm.c</FilePath>
</File>
<File>
<FileName>asn.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\asn.c</FilePath>
</File>
<File>
<FileName>blake2b.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\blake2b.c</FilePath>
</File>
<File>
<FileName>camellia.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\camellia.c</FilePath>
</File>
<File>
<FileName>coding.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\coding.c</FilePath>
</File>
<File>
<FileName>compress.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\compress.c</FilePath>
</File>
<File>
<FileName>des3.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\des3.c</FilePath>
</File>
<File>
<FileName>dh.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\dh.c</FilePath>
</File>
<File>
<FileName>dsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\dsa.c</FilePath>
</File>
<File>
<FileName>ecc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\ecc.c</FilePath>
</File>
<File>
<FileName>ecc_fp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\ecc_fp.c</FilePath>
</File>
<File>
<FileName>error.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\error.c</FilePath>
</File>
<File>
<FileName>hc128.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\hc128.c</FilePath>
</File>
<File>
<FileName>hmac.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\hmac.c</FilePath>
</File>
<File>
<FileName>integer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\integer.c</FilePath>
</File>
<File>
<FileName>logging.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\logging.c</FilePath>
</File>
<File>
<FileName>md2.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\md2.c</FilePath>
</File>
<File>
<FileName>md4.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\md4.c</FilePath>
</File>
<File>
<FileName>md5.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\md5.c</FilePath>
</File>
<File>
<FileName>memory.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\memory.c</FilePath>
</File>
<File>
<FileName>misc.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\misc.c</FilePath>
</File>
<File>
<FileName>port.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\port.c</FilePath>
</File>
<File>
<FileName>pwdbased.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\pwdbased.c</FilePath>
</File>
<File>
<FileName>rabbit.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\rabbit.c</FilePath>
</File>
<File>
<FileName>random.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\random.c</FilePath>
</File>
<File>
<FileName>ripemd.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\ripemd.c</FilePath>
</File>
<File>
<FileName>rsa.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\rsa.c</FilePath>
</File>
<File>
<FileName>sha.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\sha.c</FilePath>
</File>
<File>
<FileName>sha256.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\sha256.c</FilePath>
</File>
<File>
<FileName>sha512.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\sha512.c</FilePath>
</File>
<File>
<FileName>tfm.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\ctaocrypt\src\tfm.c</FilePath>
</File>
<File>
<FileName>crl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\src\crl.c</FilePath>
</File>
<File>
<FileName>internal.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\src\internal.c</FilePath>
</File>
<File>
<FileName>io.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\src\io.c</FilePath>
</File>
<File>
<FileName>keys.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\src\keys.c</FilePath>
</File>
<File>
<FileName>ocsp.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\src\ocsp.c</FilePath>
</File>
<File>
<FileName>sniffer.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\src\sniffer.c</FilePath>
</File>
<File>
<FileName>ssl.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\src\ssl.c</FilePath>
</File>
<File>
<FileName>tls.c</FileName>
<FileType>1</FileType>
<FilePath>C:\Keil5\ARM\PACK\wolfSSL\CyaSSL\2.9.1\cyassl\src\tls.c</FilePath>
</File> </File>
</Files> </Files>
</Group> </Group>
@ -801,25 +827,25 @@
<RTE> <RTE>
<apis> <apis>
<api Cclass="CMSIS" Cgroup="RTOS" Cvendor="ARM" exclusive="0"> <api Cclass="CMSIS" Cgroup="RTOS" exclusive="0">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/> <package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.1"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
</targetInfos> </targetInfos>
</api> </api>
<api Cclass="Drivers" Cgroup="Ethernet MAC" Cvendor="Keil" exclusive="0"> <api Cclass="Drivers" Cgroup="Ethernet MAC" exclusive="0">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/> <package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
</targetInfos> </targetInfos>
</api> </api>
<api Cclass="Drivers" Cgroup="Ethernet PHY" Cvendor="Keil" exclusive="0"> <api Cclass="Drivers" Cgroup="Ethernet PHY" exclusive="0">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/> <package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
</targetInfos> </targetInfos>
</api> </api>
<api Cclass="Drivers" Cgroup="MCI" Cvendor="Keil" exclusive="0"> <api Cclass="Drivers" Cgroup="MCI" exclusive="0">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/> <package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.0"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
@ -833,20 +859,20 @@
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.73.0" condition="CMSIS Core"> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core">
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.3"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
</targetInfos> </targetInfos>
</component> </component>
<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="LFN" Cvendor="Keil" Cversion="5.0.5" condition="CMSIS Core with RTOS">
<package name="MDK-Middleware" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.2"/> <package name="MDK-Middleware" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.4"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
</targetInfos> </targetInfos>
</component> </component>
<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="5.0.5" condition="File System and MCI 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.0" url="http://www.keil.com/pack/" vendor="Keil" version="5.1.4"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
</targetInfos> </targetInfos>
@ -923,20 +949,14 @@
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.8.0" condition="CyaSSL-Core"> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.9.0" condition="CyaSSL-Core">
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.0"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
</targetInfos> </targetInfos>
</component> </component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="Device" Csub="Timer" Cvendor="wolfSSL" Cversion="2.8.0" condition="wolfCrypt-Core"> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.0" condition="wolfCrypt-Core">
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.0"/>
<targetInfos>
<targetInfo name="SimpleServer"/>
</targetInfos>
</component>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.8.0" condition="wolfCrypt-Core">
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
</targetInfos> </targetInfos>
@ -945,8 +965,8 @@
<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">
<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.73.0" condition="CMSIS Core"/> <component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.74.0" condition="CMSIS Core"/>
<package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.3"/> <package name="CMSIS" schemaVersion="1.0" url="http://www.keil.com/pack/" vendor="ARM" version="3.20.4"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
</targetInfos> </targetInfos>
@ -1071,26 +1091,32 @@
<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\MDK-ARM\CyaSSL\config-Crypt.h"> <file attr="config" category="header" name="cyassl\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="2.8.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.1" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.1"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
</targetInfos> </targetInfos>
</file> </file>
<file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-CyaSSL.h"> <file attr="config" category="header" name="cyassl\IDE\MDK5-ARM\Conf\config-CyaSSL.h">
<instance index="0">RTE\wolfSSL\config-CyaSSL.h</instance> <instance index="0">RTE\wolfSSL\config-CyaSSL.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.8.0" condition="CyaSSL-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" Cvendor="wolfSSL" Cversion="2.9.1" condition="CyaSSL-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.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="2.9.1"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
</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">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="2.8.0" condition="wolfCrypt-Core"/> <component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.8.0" condition="wolfCrypt-Core"/>
<package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/> <package name="CyaSSL" url="http://www.wolfSSL.com/files/ide" vendor="wolfSSL" version="2.8.0"/>
<targetInfos/>
</file>
<file attr="config" category="header" name="cyassl\cyassl\ctaocrypt\settings.h">
<instance index="0">RTE\wolfSSL\settings.h</instance>
<component Cbundle="wolfSSL" Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE" Cvendor="wolfSSL" Cversion="2.9.1" 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="2.9.1"/>
<targetInfos> <targetInfos>
<targetInfo name="SimpleServer"/> <targetInfo name="SimpleServer"/>
</targetInfos> </targetInfos>

View File

@ -0,0 +1,31 @@
/* config-RTX-TCP-FS.h
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
// <<< Use Configuration Wizard in Context Menu >>>
// <h> Build Target: Simple Server
// <s.15>Listen Port Number
// <i> Default: "11111"
#define CYASSL_LISTEN_PORT "443"
// </h>
// <<< end of configuration section >>>

View File

@ -33,6 +33,8 @@
#include "cyassl_MDK_ARM.h" #include "cyassl_MDK_ARM.h"
#include <cyassl/ssl.h> #include <cyassl/ssl.h>
#include "config-SimpleServer.h"
/*----------------------------------------------------------------------------- /*-----------------------------------------------------------------------------
* Initialize a Flash Memory Card * Initialize a Flash Memory Card
*----------------------------------------------------------------------------*/ *----------------------------------------------------------------------------*/
@ -82,10 +84,9 @@ char* myoptarg = NULL;
int main() int main()
{ {
static char *argv[] = { "client", ""} ; static char *argv[] = { "server", "-p", CYASSL_LISTEN_PORT, "-d"} ;
static func_args args = { 2, argv } ; static func_args args = { 4, argv } ;
init_time() ;
init_filesystem (); init_filesystem ();
net_initialize() ; net_initialize() ;
osThreadCreate (osThread (tcp_poll), NULL); osThreadCreate (osThread (tcp_poll), NULL);

View File

@ -31,20 +31,19 @@
#endif #endif
#if defined(CYASSL_MDK_ARM) #if defined(CYASSL_MDK_ARM)
#include <stdio.h> #include <stdio.h>
#include <string.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
#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/openssl/ssl.h>
#include <cyassl/test.h> #include <cyassl/test.h>
@ -131,12 +130,14 @@ static void Usage(void)
printf("-f Fewer packets/group messages\n"); printf("-f Fewer packets/group messages\n");
printf("-N Use Non-blocking sockets\n"); printf("-N Use Non-blocking sockets\n");
printf("-S <str> Use Host Name Indication\n"); printf("-S <str> Use Host Name Indication\n");
} #ifdef HAVE_OCSP
printf("-o Perform OCSP lookup on peer certificate\n");
#ifdef CYASSL_MDK_SHELL printf("-O <url> Perform OCSP lookup using <url> as responder\n");
#define exit(code) return(code)
#endif #endif
#ifdef HAVE_PK_CALLBACKS
printf("-P Public Key Callbacks\n");
#endif
}
THREAD_RETURN CYASSL_THREAD server_test(void* args) THREAD_RETURN CYASSL_THREAD server_test(void* args)
{ {
@ -154,13 +155,14 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
int version = SERVER_DEFAULT_VERSION; int version = SERVER_DEFAULT_VERSION;
int doCliCertCheck = 1; int doCliCertCheck = 1;
int useAnyAddr = 0; int useAnyAddr = 0;
int port = yasslPort; word16 port = yasslPort;
int usePsk = 0; int usePsk = 0;
int doDTLS = 0; int doDTLS = 0;
int useNtruKey = 0; int useNtruKey = 0;
int nonBlocking = 0; int nonBlocking = 0;
int trackMemory = 0; int trackMemory = 0;
int fewerPackets = 0; int fewerPackets = 0;
int pkCallbacks = 0;
char* cipherList = NULL; char* cipherList = NULL;
char* verifyCert = (char*)cliCert; char* verifyCert = (char*)cliCert;
char* ourCert = (char*)svrCert; char* ourCert = (char*)svrCert;
@ -172,6 +174,11 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
char* sniHostName = NULL; char* sniHostName = NULL;
#endif #endif
#ifdef HAVE_OCSP
int useOcsp = 0;
char* ocspUrl = NULL;
#endif
((func_args*)args)->return_code = -1; /* error state */ ((func_args*)args)->return_code = -1; /* error state */
#ifdef NO_RSA #ifdef NO_RSA
@ -180,8 +187,9 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
ourKey = (char*)eccKey; ourKey = (char*)eccKey;
#endif #endif
(void)trackMemory; (void)trackMemory;
(void)pkCallbacks;
while ((ch = mygetopt(argc, argv, "?dbstnNufp:v:l:A:c:k:S:")) != -1) { while ((ch = mygetopt(argc, argv, "?dbstnNufPp:v:l:A:c:k:S:oO:")) != -1) {
switch (ch) { switch (ch) {
case '?' : case '?' :
Usage(); Usage();
@ -217,8 +225,14 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
fewerPackets = 1; fewerPackets = 1;
break; break;
case 'P' :
#ifdef HAVE_PK_CALLBACKS
pkCallbacks = 1;
#endif
break;
case 'p' : case 'p' :
port = atoi(myoptarg); port = (word16)atoi(myoptarg);
#if !defined(NO_MAIN_DRIVER) || defined(USE_WINDOWS_API) #if !defined(NO_MAIN_DRIVER) || defined(USE_WINDOWS_API)
if (port == 0) if (port == 0)
err_sys("port number cannot be 0"); err_sys("port number cannot be 0");
@ -259,6 +273,19 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
#endif #endif
break; break;
case 'o' :
#ifdef HAVE_OCSP
useOcsp = 1;
#endif
break;
case 'O' :
#ifdef HAVE_OCSP
useOcsp = 1;
ocspUrl = myoptarg;
#endif
break;
default: default:
Usage(); Usage();
exit(MY_EX_USAGE); exit(MY_EX_USAGE);
@ -349,6 +376,10 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
if (fewerPackets) if (fewerPackets)
CyaSSL_CTX_set_group_messages(ctx); 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 !defined(NO_FILESYSTEM) && !defined(NO_CERTS)
if (!usePsk) { if (!usePsk) {
if (SSL_CTX_use_certificate_file(ctx, ourCert, SSL_FILETYPE_PEM) if (SSL_CTX_use_certificate_file(ctx, ourCert, SSL_FILETYPE_PEM)
@ -371,8 +402,8 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
if (!useNtruKey && !usePsk) { if (!useNtruKey && !usePsk) {
if (SSL_CTX_use_PrivateKey_file(ctx, ourKey, SSL_FILETYPE_PEM) if (SSL_CTX_use_PrivateKey_file(ctx, ourKey, SSL_FILETYPE_PEM)
!= SSL_SUCCESS) != SSL_SUCCESS)
err_sys("can't load server cert file, check file and run from" err_sys("can't load server private key file, check file and run "
" CyaSSL home dir"); "from CyaSSL home dir");
} }
#endif #endif
@ -403,10 +434,6 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
} }
#endif #endif
#ifdef OPENSSL_EXTRA
SSL_CTX_set_default_passwd_cb(ctx, PasswordCallBack);
#endif
#if defined(CYASSL_SNIFFER) && !defined(HAVE_NTRU) && !defined(HAVE_ECC) #if defined(CYASSL_SNIFFER) && !defined(HAVE_NTRU) && !defined(HAVE_ECC)
/* don't use EDH, can't sniff tmp keys */ /* don't use EDH, can't sniff tmp keys */
if (cipherList == NULL) { if (cipherList == NULL) {
@ -416,27 +443,38 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
#endif #endif
#ifdef HAVE_SNI #ifdef HAVE_SNI
if (sniHostName) { if (sniHostName)
if (CyaSSL_CTX_UseSNI(ctx, CYASSL_SNI_HOST_NAME, sniHostName, if (CyaSSL_CTX_UseSNI(ctx, CYASSL_SNI_HOST_NAME, sniHostName,
XSTRLEN(sniHostName)) != SSL_SUCCESS) XSTRLEN(sniHostName)) != SSL_SUCCESS)
err_sys("UseSNI failed"); err_sys("UseSNI failed");
else
CyaSSL_CTX_SNI_SetOptions(ctx, CYASSL_SNI_HOST_NAME,
CYASSL_SNI_ABORT_ON_MISMATCH);
}
#endif #endif
ssl = SSL_new(ctx); ssl = SSL_new(ctx);
if (ssl == NULL) if (ssl == NULL)
err_sys("unable to get SSL"); err_sys("unable to get SSL");
CyaSSL_set_quiet_shutdown(ssl, 1) ;
#ifdef HAVE_CRL #ifdef HAVE_CRL
CyaSSL_EnableCRL(ssl, 0); CyaSSL_EnableCRL(ssl, 0);
CyaSSL_LoadCRL(ssl, crlPemDir, SSL_FILETYPE_PEM, CYASSL_CRL_MONITOR | CyaSSL_LoadCRL(ssl, crlPemDir, SSL_FILETYPE_PEM, CYASSL_CRL_MONITOR |
CYASSL_CRL_START_MON); CYASSL_CRL_START_MON);
CyaSSL_SetCRL_Cb(ssl, CRL_CallBack); CyaSSL_SetCRL_Cb(ssl, CRL_CallBack);
#endif #endif
osDelay(5000) ; #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); tcp_accept(&sockfd, &clientfd, (func_args*)args, port, useAnyAddr, doDTLS);
if (!doDTLS) if (!doDTLS)
CloseSocket(sockfd); CloseSocket(sockfd);
@ -449,7 +487,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
SetDH(ssl); /* repick suites with DHE, higher priority than PSK */ SetDH(ssl); /* repick suites with DHE, higher priority than PSK */
#endif #endif
} }
osDelay(5000) ;
#ifndef CYASSL_CALLBACKS #ifndef CYASSL_CALLBACKS
if (nonBlocking) { if (nonBlocking) {
CyaSSL_set_using_nonblock(ssl, 1); CyaSSL_set_using_nonblock(ssl, 1);
@ -457,7 +495,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
NonBlockingSSL_Accept(ssl); NonBlockingSSL_Accept(ssl);
} else if (SSL_accept(ssl) != SSL_SUCCESS) { } else if (SSL_accept(ssl) != SSL_SUCCESS) {
int err = SSL_get_error(ssl, 0); int err = SSL_get_error(ssl, 0);
char buffer[80]; char buffer[CYASSL_MAX_ERROR_SZ];
printf("error = %d, %s\n", err, ERR_error_string(err, buffer)); printf("error = %d, %s\n", err, ERR_error_string(err, buffer));
err_sys("SSL_accept failed"); err_sys("SSL_accept failed");
} }
@ -465,7 +503,7 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
NonBlockingSSL_Accept(ssl); NonBlockingSSL_Accept(ssl);
#endif #endif
showPeer(ssl); showPeer(ssl);
osDelay(5000) ;
idx = SSL_read(ssl, input, sizeof(input)-1); idx = SSL_read(ssl, input, sizeof(input)-1);
if (idx > 0) { if (idx > 0) {
input[idx] = 0; input[idx] = 0;
@ -481,6 +519,10 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
if (SSL_write(ssl, msg, sizeof(msg)) != sizeof(msg)) if (SSL_write(ssl, msg, sizeof(msg)) != sizeof(msg))
err_sys("SSL_write failed"); err_sys("SSL_write failed");
#if defined(CYASSL_MDK_SHELL) && defined(HAVE_MDK_RTX)
os_dly_wait(500) ;
#endif
SSL_shutdown(ssl); SSL_shutdown(ssl);
SSL_free(ssl); SSL_free(ssl);
SSL_CTX_free(ctx); SSL_CTX_free(ctx);
@ -519,8 +561,10 @@ THREAD_RETURN CYASSL_THREAD server_test(void* args)
#if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL) #if defined(DEBUG_CYASSL) && !defined(CYASSL_MDK_SHELL)
CyaSSL_Debugging_ON(); CyaSSL_Debugging_ON();
#endif #endif
if (CurrentDir("server") || CurrentDir("build")) if (CurrentDir("server"))
ChangeDirBack(2); ChangeDirBack(2);
else if (CurrentDir("Debug") || CurrentDir("Release"))
ChangeDirBack(3);
#ifdef HAVE_STACK_SIZE #ifdef HAVE_STACK_SIZE
StackSizeCheck(&args, server_test); StackSizeCheck(&args, server_test);

View File

@ -0,0 +1,34 @@
/* time-dummy.c.c
*
* Copyright (C) 2006-2014 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 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 ; }

View File

@ -1,299 +0,0 @@
/* main.c
*
* Copyright (C) 2006-2013 wolfSSL Inc.
*
* This file is part of CyaSSL.
*
* CyaSSL is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* CyaSSL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "time.h"
#define PERIPH_BASE ((uint32_t)0x40000000)
/*-----------------------------------------------------------------------------
* initialize RTC
*----------------------------------------------------------------------------*/
#include "stm32f2xx.h"
#define assert_param(a)
#define RTC_RSF_MASK ((uint32_t)0xFFFFFF5F)
#define SYNCHRO_TIMEOUT ((uint32_t) 0x00008000)
#define Bcd2ToByte(v) \
((((uint8_t)(v & (uint8_t)0xF0) >> (uint8_t)0x4) * 10) + (v & (uint8_t)0x0F))
#define RTC_TR_RESERVED_MASK ((uint32_t)0x007F7F7F)
#define RTC_TR_MNT ((uint32_t)0x00007000)
#define RTC_TR_MNU ((uint32_t)0x00000F00)
#define PWR_OFFSET (PWR_BASE - PERIPH_BASE)
#define CR_OFFSET (PWR_OFFSET + 0x00)
#define DBP_BitNumber 0x08
#define CR_DBP_BB (PERIPH_BB_BASE + (CR_OFFSET * 32) + (DBP_BitNumber * 4))
#define RTC_INIT_MASK ((uint32_t)0xFFFFFFFF)
#define INITMODE_TIMEOUT ((uint32_t) 0x00010000)
static void init_RTC()
{
__IO uint32_t initcounter = 0x00 ;
uint32_t initstatus = 0x00; /* Enable the PWR clock : RCC_APB1Periph_PWR */
((uint32_t *)RCC)[0x10] |= ((uint32_t)0x10000000) ;
/* Allow access to RTC */
*(__IO uint32_t *) CR_DBP_BB = ENABLE ;
/* RCC_LSEConfig(RCC_LSE_ON) */
*(__IO uint8_t *) (RCC_BASE + 0x70) = ((uint8_t)0x00);
/* Reset LSEBYP bit */
*(__IO uint8_t *) (RCC_BASE + 0x70) = ((uint8_t)0x00);
*(__IO uint8_t *) (RCC_BASE + 0x70) = ((uint8_t)0x01);
/* Wait till LSE is ready */
while((RCC->BDCR << 0x2) == 0x0) { }
/* Select the RTC clock source: RCC_RTCCLKSource_LSE */
((RCC_TypeDef *)RCC)->BDCR |= (uint32_t)0x00000100;
/* Enable the RTC Clock */
*(__IO uint32_t *) (PERIPH_BB_BASE + (((RCC_BASE - PERIPH_BASE)+ 0x70) * 32) + (0x0F* 4)) = (uint32_t)ENABLE;
*(__IO uint32_t *) CR_DBP_BB = (uint32_t)ENABLE;
RTC->ISR = (uint32_t) RTC_INIT_MASK;
do {
initstatus = RTC->ISR & RTC_ISR_INITF;
initcounter++;
} while((initcounter != INITMODE_TIMEOUT) && (initstatus == 0x00));
/* Disable the write protection for RTC registers */
RTC->WPR = 0xCA;
RTC->WPR = 0x53;
RTC->CR &= ((uint32_t)~(RTC_CR_FMT)); /* Clear RTC CR FMT Bit */
/* Set RTC_CR register */
RTC->CR |= ((uint32_t)0x00000000) ; /* RTC_HourFormat_24 */
/* Configure the RTC PRER */
RTC->PRER = 0x7f ;
RTC->PRER |= (uint32_t)(0xff << 16);
/* Exit Initialization mode */
RTC->ISR &= (uint32_t)~RTC_ISR_INIT;
/* Enable the write protection for RTC registers */
RTC->WPR = 0xFF;
}
/*-----------------------------------------------------------------------------
* initialize TIM
*----------------------------------------------------------------------------*/
#define RCC_APB1Periph_TIM2 ((uint32_t)0x00000001)
static void init_TIM()
{
uint16_t tmpcr1 = 0;
((uint32_t *)RCC)[0x10] |= RCC_APB1Periph_TIM2 ;
tmpcr1 = TIM2->CR1 ;
tmpcr1 &= (uint16_t) (~(((uint16_t)0x0010) | ((uint16_t)0x0060) ));
/* CR1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS) */
tmpcr1 |= (uint16_t)0x0000 ; /* CR1 |= TIM_CounterMode_Up */
TIM2->CR1= tmpcr1 ;
TIM2->ARR = 0xffffffff ; /* ARR= TIM_Period */
TIM2->PSC = 60 ; /* PSC = TIM_Prescaler */
TIM2->EGR = ((uint16_t)0x0001) ; /* EGR = TIM_PSCReloadMode_Immediate */
*(uint16_t *)(PERIPH_BASE+0x0) |=((uint16_t)0x0001) ;
/* TIM_Cmd(TIM2, ENABLE) ; */
}
void init_time(void) {
init_RTC() ;
init_TIM() ;
}
static void GetTime(uint8_t *h, uint8_t *m, uint8_t *s)
{
uint32_t tmpreg = 0;
tmpreg = (uint32_t)(RTC->TR & RTC_TR_RESERVED_MASK);
*h = (uint8_t)Bcd2ToByte((uint8_t)((tmpreg & (RTC_TR_HT | RTC_TR_HU)) >> 16));
*m = (uint8_t)Bcd2ToByte((uint8_t)((tmpreg & (RTC_TR_MNT | RTC_TR_MNU)) >>8));
*s = (uint8_t)Bcd2ToByte((tmpreg & (RTC_TR_ST | RTC_TR_SU)));
}
static uint32_t ByteToBcd2(uint8_t Value)
{
uint8_t bcdhigh = 0;
while (Value >= 10) {
bcdhigh++;
Value -= 10;
}
return ((uint8_t)(bcdhigh << 4) | Value);
}
static void SetTime(uint8_t h, uint8_t m, uint8_t s)
{
__IO uint32_t synchrocounter = 0;
uint32_t synchrostatus = 0x00;
__IO uint32_t initcounter = 0;
uint32_t initstatus = 0x00;
uint32_t tmpreg ;
tmpreg = ((ByteToBcd2(h) << 16) | (ByteToBcd2(m) << 8) | ByteToBcd2(s)) ;
/* Disable the write protection for RTC registers */
RTC->WPR = 0xCA;
RTC->WPR = 0x53;
RTC->ISR &= (uint32_t)~RTC_ISR_INIT;
RTC->ISR = (uint32_t)RTC_INIT_MASK;
/* Wait till RTC is in INIT state and if Time out is reached exit */
do {
initstatus = RTC->ISR & RTC_ISR_INITF;
initcounter++;
} while((initcounter != INITMODE_TIMEOUT) && (initstatus == 0x00));
RTC->TR = (uint32_t)(tmpreg & RTC_TR_RESERVED_MASK);
RTC->ISR &= (uint32_t)RTC_RSF_MASK;
/* Wait the registers to be synchronised */
do {
synchrostatus = RTC->ISR & RTC_ISR_RSF;
synchrocounter++;
} while((synchrocounter != SYNCHRO_TIMEOUT) && (synchrostatus == 0x00));
RTC->WPR = 0xFF;
}
static void GetDate(uint8_t *y, uint8_t *m, uint8_t *d)
{
uint32_t tmpreg = 0;
tmpreg = (uint32_t)(RTC->DR & RTC_TR_RESERVED_MASK);
*y = (uint8_t)Bcd2ToByte((uint8_t)((tmpreg & (RTC_DR_YT|RTC_DR_YU)) >>16));
*m = (uint8_t)Bcd2ToByte((uint8_t)((tmpreg & (RTC_DR_MT|RTC_DR_MU)) >> 8));
*d = (uint8_t)Bcd2ToByte((uint8_t)(tmpreg & (RTC_DR_DT |RTC_DR_DU)));
}
static void SetDate(uint8_t y, uint8_t m, uint8_t d)
{
__IO uint32_t synchrocounter = 0;
uint32_t synchrostatus = 0x00;
__IO uint32_t initcounter = 0;
uint32_t initstatus = 0x00;
uint32_t tmpreg = 0 ;
tmpreg = ((ByteToBcd2(y) << 16) | (ByteToBcd2(m) << 8) | ByteToBcd2(d)) ;
/* Disable the write protection for RTC registers */
RTC->WPR = 0xCA;
RTC->WPR = 0x53;
RTC->ISR &= (uint32_t)~RTC_ISR_INIT;
RTC->ISR = (uint32_t)RTC_INIT_MASK;
/* Wait till RTC is in INIT state and if Time out is reached exit */
do {
initstatus = RTC->ISR & RTC_ISR_INITF;
initcounter++;
} while((initcounter != INITMODE_TIMEOUT) && (initstatus == 0x00));
RTC->DR = (uint32_t)(tmpreg & RTC_TR_RESERVED_MASK);
RTC->ISR &= (uint32_t)RTC_RSF_MASK;
/* Wait the registers to be synchronised */
do {
synchrostatus = RTC->ISR & RTC_ISR_RSF;
synchrocounter++;
} while((synchrocounter != SYNCHRO_TIMEOUT) && (synchrostatus == 0x00));
RTC->WPR = 0xFF;
}
#include <stdio.h>
void CYASSL_MSG(const char *msg) ;
struct tm *Cyassl_MDK_gmtime(const time_t *c)
{
uint8_t h, m, s ;
uint8_t y, mo, d ;
static struct tm date ;
GetTime(&h, &m, &s) ;
GetDate(&y, &mo, &d) ;
date.tm_year = y + 100 ;
date.tm_mon = mo - 1 ;
date.tm_mday = d ;
date.tm_hour = h ;
date.tm_min = m ;
date.tm_sec = s ;
#if defined(DEBUG_CYASSL)
{
char msg[100] ;
sprintf(msg,
"Debug::Cyassl_KEIL_gmtime(DATE=/%2d/%02d/%04d TIME=%02d:%02d:%02d)\n",
d, mo, y+2000, h, m, s) ;
CYASSL_MSG(msg) ;
}
#endif
return(&date) ;
}
double current_time()
{
return ((double)TIM2->CNT/1000000.0) ;
}
typedef struct func_args {
int argc;
char** argv;
int return_code;
} func_args;
void time_main(void *args)
{
char * datetime ;
uint8_t h, m, s ;
uint8_t y, mo, d ;
if( args == NULL || ((func_args *)args)->argc == 1) {
GetTime(&h, &m, &s) ;
GetDate(&y, &mo, &d) ;
printf("Date: %d/%d/%d, Time: %02d:%02d:%02d\n",
mo, d, y+2000, h, m, s) ;
} else if(((func_args *)args)->argc == 3 &&
((func_args *)args)->argv[1][0] == '-' &&
((func_args *)args)->argv[1][1] == 'd' ) {
datetime = ((func_args *)args)->argv[2];
sscanf(datetime, "%d/%d/%d", (int *)&mo, (int *)&d, (int *) &y) ;
SetDate(y-2000, mo, d) ;
} else if(((func_args *)args)->argc == 3 &&
((func_args *)args)->argv[1][0] == '-' &&
((func_args *)args)->argv[1][1] == 't' ) {
datetime = ((func_args *)args)->argv[2];
sscanf(datetime, "%d:%d:%d",
(int *)&h, (int *)&m, (int *)&s) ;
SetTime(h, m, s) ;
} else printf("Invalid argument\n") ;
}
/*******************************************************************
time()
********************************************************************/
time_t time(time_t * t) { return 0 ; }

View File

@ -1,281 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<package schemaVersion="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="PACK.xsd">
<name>CyaSSL</name> <!-- name of package -->
<description>Light weight SSL/TLS and Crypt Library for Embedded Systems</description> <!-- brief description of PACK -->
<vendor>wolfSSL</vendor> <!-- unique vendor/distributor of PACK -->
<url>http://www.wolfSSL.com/files/ide</url> <!-- Required but NOT USED AT THE MOMENT -->
<license>cyassl\IDE\MDK5-ARM\Docs\CyaSSL-License.txt</license>
<taxonomy>
<description Cclass="wolfSSL"
>wolfSSL: SSL/TLS and Crypt Library</description>
<description Cclass="wolfSSL" Cgroup="CyaSSL"
>CyaSSL: SSL/TLS Library</description>
<description Cclass="wolfSSL" Cgroup="wolfCrypt"
>wolfCrypt: Crypt Library</description>
</taxonomy>
<releases> <!-- contains complete release history of available releases (put most recent first) -->
<release version="2.8.1"> <!-- major.minor.build recommended version format -->
Oct/7/2013, Initial release of CyaSSL pack
</release>
</releases>
<keywords> <!-- PACK related keywords for search indexing (automatic are vendor and pack name) -->
<keyword>CyaSSL</keyword>
<keyword>wolfSSL</keyword>
<keyword>Security</keyword>
<keyword>Crypt</keyword>
<keyword>Cipher</keyword>
<keyword>SSL</keyword>
<keyword>TLS</keyword>
</keywords>
<conditions>
<!-- Conditions to express dependencies on devices, processors, software components, toolchains -->
<condition id="Cortex-Mx">
<!-- processor dependency -->
<description>The condition is true if the package is used with a Cortex-Mx based device</description>
<accept Dcore="Cortex-M0"/>
<accept Dcore="Cortex-M0+"/>
<accept Dcore="Cortex-M3"/>
<accept Dcore="Cortex-M4"/>
</condition>
<condition id="CMSIS Core">
<description>CMSIS Core with Cortex-M processor</description>
<require condition="Cortex-Mx"/>
<require Cclass="CMSIS" Cgroup="CORE"/>
</condition>
<condition id="CMSIS Core with RTOS">
<description>CMSIS Core with RTOS for Cortex-M processor</description>
<require condition="Cortex-Mx"/>
<require Cclass="CMSIS" Cgroup="CORE"/>
<require Cclass="CMSIS" Cgroup="RTOS"/>
</condition>
<condition id="File System on Memory Card">
<description>File System on Memory Card</description>
<!--
<require Cbundle="MDK-Pro" Cclass="File System" Cgroup="CORE"/>
-->
<require Cclass="File System" Cgroup="Drive" Csub="Memory Card"/>
</condition>
<condition id="Network UDP/TCP/BSD/DNS">
<description>Network UDP/TCP and CORE component</description>
<!--
<require Cbundle="MDK-Pro" Cclass="Network" Cgroup="CORE" />
-->
<require Cclass="Network" Cgroup="Socket" Csub="UDP"/>
<require Cclass="Network" Cgroup="Socket" Csub="TCP"/>
<require Cclass="Network" Cgroup="Socket" Csub="BSD"/>
<require Cclass="Network" Cgroup="Service" Csub="DNS Client"/>
</condition>
<condition id="wolfCrypt-Core">
<require Cclass="wolfSSL" Cgroup="wolfCrypt" Csub="CORE"/>
<require Cclass="wolfSSL" Cgroup="Device" Csub="Timer"/>
<require condition="CMSIS Core"/>
</condition>
<condition id="CyaSSL-Core">
<require Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core" />
<require condition="wolfCrypt-Core"/>
<require condition="CMSIS Core with RTOS"/>
<require condition="File System on Memory Card"/>
<require condition="Network UDP/TCP/BSD/DNS"/>
</condition>
</conditions>
<components>
<bundle Cbundle="wolfSSL" Cclass="wolfSSL" Cversion="2.8.1">
<description>wolfSSL: SSL/TLS and Crypt Library</description>
<doc>cyassl\IDE\MDK5-ARM\Docs\CyaSSLManual-TableofContents.htm</doc>
<component Cgroup="CyaSSL" Csub="Core" condition="CyaSSL-Core">
<description>CyaSSL, Light weight SSL/TLS library</description>
<RTE_Components_h>
</RTE_Components_h>
<files>
<file category="doc" name="cyassl\IDE\MDK5-ARM\Docs\CyaSSLManual-TableofContents.htm"/>
<file category="include" name="cyassl\"/>
<file category="include" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\"/>
<file category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-CyaSSL.h" attr="config" />
<file category="source" name="cyassl\src\crl.c" />
<file category="source" name="cyassl\src\internal.c" />
<file category="source" name="cyassl\src\io.c" />
<file category="source" name="cyassl\src\keys.c" />
<file category="source" name="cyassl\src\ocsp.c" />
<file category="source" name="cyassl\src\sniffer.c" />
<file category="source" name="cyassl\src\ssl.c" />
<file category="source" name="cyassl\src\tls.c" />
</files>
</component>
<component Cgroup="wolfCrypt" Csub="CORE" condition="wolfCrypt-Core">
<description>wolfCrypt Core, Light weight Crypt/Cipher Library</description>
<RTE_Components_h>
</RTE_Components_h>
<files>
<file category="doc" name="cyassl\IDE\MDK5-ARM\Docs\CyaSSLManual-wolfCryptUsageReference.htm" />
<file category="include" name="cyassl\"/>
<file category="include" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\"/>
<file category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config.h" attr="config"/>
<file category="header" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\config-Crypt.h" attr="config" />
<file category="source" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\cyassl_MDK_ARM.c" />
<file category="source" name="cyassl\ctaocrypt\src\aes.c" />
<file category="source" name="cyassl\ctaocrypt\src\arc4.c" />
<file category="source" name="cyassl\ctaocrypt\src\asm.c" />
<file category="source" name="cyassl\ctaocrypt\src\asn.c" />
<file category="source" name="cyassl\ctaocrypt\src\blake2b.c" />
<file category="source" name="cyassl\ctaocrypt\src\camellia.c" />
<file category="source" name="cyassl\ctaocrypt\src\coding.c" />
<file category="source" name="cyassl\ctaocrypt\src\compress.c" />
<file category="source" name="cyassl\ctaocrypt\src\des3.c" />
<file category="source" name="cyassl\ctaocrypt\src\dh.c" />
<file category="source" name="cyassl\ctaocrypt\src\dsa.c" />
<file category="source" name="cyassl\ctaocrypt\src\ecc.c" />
<file category="source" name="cyassl\ctaocrypt\src\ecc_fp.c" />
<file category="source" name="cyassl\ctaocrypt\src\error.c" />
<file category="source" name="cyassl\ctaocrypt\src\hc128.c" />
<file category="source" name="cyassl\ctaocrypt\src\hmac.c" />
<file category="source" name="cyassl\ctaocrypt\src\integer.c" />
<file category="source" name="cyassl\ctaocrypt\src\logging.c" />
<file category="source" name="cyassl\ctaocrypt\src\md2.c" />
<file category="source" name="cyassl\ctaocrypt\src\md4.c" />
<file category="source" name="cyassl\ctaocrypt\src\md5.c" />
<file category="source" name="cyassl\ctaocrypt\src\memory.c" />
<file category="source" name="cyassl\ctaocrypt\src\misc.c" />
<file category="source" name="cyassl\ctaocrypt\src\port.c" />
<file category="source" name="cyassl\ctaocrypt\src\pwdbased.c" />
<file category="source" name="cyassl\ctaocrypt\src\rabbit.c" />
<file category="source" name="cyassl\ctaocrypt\src\random.c" />
<file category="source" name="cyassl\ctaocrypt\src\ripemd.c" />
<file category="source" name="cyassl\ctaocrypt\src\rsa.c" />
<file category="source" name="cyassl\ctaocrypt\src\sha.c" />
<file category="source" name="cyassl\ctaocrypt\src\sha256.c" />
<file category="source" name="cyassl\ctaocrypt\src\sha512.c" />
<file category="source" name="cyassl\ctaocrypt\src\tfm.c" />
</files>
</component>
<component Cgroup="wolfCrypt" Csub="Dummy" condition="wolfCrypt-Core">
<description>Dummy file for Crypt alone use</description>
<RTE_Components_h>
</RTE_Components_h>
<files>
<file category="source" name="cyassl\IDE\MDK5-ARM\MDK-ARM\CyaSSL\ssl-dummy.c" />
</files>
</component>
<component Cgroup="Device" Csub="Timer" condition="wolfCrypt-Core">
<description>Device depend Timer functions</description>
<RTE_Components_h>
</RTE_Components_h>
<files>
<file category="source" name="cyassl\IDE\MDK5-ARM\STM32F2xx_StdPeriph_Lib\time-STM32F2xx.c" />
</files>
</component>
</bundle>
</components>
<examples>
<example name="wolfSSL 1: SSL/TLS, Crypt demo" doc="Abstract.txt" folder="cyassl\IDE\MDK5-ARM\Projects\CyaSSL-Full">
<description>CyaSSL Demo, SSL/TLS Server/Client Examples, Simple test suites, Benchmark</description>
<board name="MCBSTM32F200" vendor="Keil" Dvendor="STMicroelectronics:13" Dname="STM32F207IG"/>
<project>
<environment name="uv" load="CyaSSL-Full.uvprojx"/>
</project>
<attributes>
<component Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core"/>
<category>Middleware</category>
<category>Security</category>
<keyword>SSL</keyword>
<keyword>TLS</keyword>
</attributes>
</example>
<example name="wolfSSL 2: wolfCrypt test" doc="Abstract.txt" folder="cyassl\IDE\MDK5-ARM\Projects\CryptTest">
<description>wolfCrypt Simple Test Suite</description>
<board name="MCBSTM32F200" vendor="Keil" Dvendor="STMicroelectronics:13" Dname="STM32F207IG"/>
<project>
<environment name="uv" load="CryptTest.uvprojx"/>
</project>
<attributes>
<component Cclass="wolfSSL" Cgroup="woflCrypt" Csub="Core"/>
<category>Middleware</category>
<category>Security</category>
<keyword>Crypt</keyword>
<keyword>Cipher</keyword>
</attributes>
</example>
<example name="wolfSSL 3: wolfCrypt Benchmark" doc="Abstract.txt" folder="cyassl\IDE\MDK5-ARM\Projects\CryptBenchmark">
<description>wolfCrypt Benchmark Suite</description>
<board name="MCBSTM32F200" vendor="Keil" Dvendor="STMicroelectronics:13" Dname="STM32F207IG"/>
<project>
<environment name="uv" load="CryptBenchmark.uvprojx"/>
</project>
<attributes>
<component Cclass="wolfSSL" Cgroup="woflCrypt" Csub="Core"/>
<category>Middleware</category>
<category>Security</category>
<keyword>Crypt</keyword>
<keyword>Cipher</keyword>
</attributes>
</example>
<example name="wolfSSL 4: Simple Client" doc="Abstract.txt" folder="cyassl\IDE\MDK5-ARM\Projects\SimpleClient">
<description>CyaSSL Simple Client Example</description>
<board name="MCBSTM32F200" vendor="Keil" Dvendor="STMicroelectronics:13" Dname="STM32F207IG"/>
<project>
<environment name="uv" load="SimpleClient.uvprojx"/>
</project>
<attributes>
<component Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core"/>
<category>Middleware</category>
<category>Security</category>
<keyword>Crypt</keyword>
<keyword>Cipher</keyword>
</attributes>
</example>
<example name="wolfSSL 5: Simple Server" doc="Abstract.txt" folder="cyassl\IDE\MDK5-ARM\Projects\SimpleServer">
<description>CyaSSL Simple Server Example</description>
<board name="MCBSTM32F200" vendor="Keil" Dvendor="STMicroelectronics:13" Dname="STM32F207IG"/>
<project>
<environment name="uv" load="SimpleServer.uvprojx"/>
</project>
<attributes>
<component Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core"/>
<category>Middleware</category>
<category>Security</category>
<keyword>Crypt</keyword>
<keyword>Cipher</keyword>
</attributes>
</example>
<example name="wolfSSL 6: Echo Client" doc="Abstract.txt" folder="cyassl\IDE\MDK5-ARM\Projects\EchoClient">
<description>CyaSSL Echo Client Example</description>
<board name="MCBSTM32F200" vendor="Keil" Dvendor="STMicroelectronics:13" Dname="STM32F207IG"/>
<project>
<environment name="uv" load="EchoClient.uvprojx"/>
</project>
<attributes>
<component Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core"/>
<category>Middleware</category>
<category>Security</category>
<keyword>Crypt</keyword>
<keyword>Cipher</keyword>
</attributes>
</example>
<example name="wolfSSL 7: Echo Server" doc="Abstract.txt" folder="cyassl\IDE\MDK5-ARM\Projects\EchoServer">
<description>CyaSSL Echo Server Example</description>
<board name="MCBSTM32F200" vendor="Keil" Dvendor="STMicroelectronics:13" Dname="STM32F207IG"/>
<project>
<environment name="uv" load="EchoServer.uvprojx"/>
</project>
<attributes>
<component Cclass="wolfSSL" Cgroup="CyaSSL" Csub="Core"/>
<category>Middleware</category>
<category>Security</category>
<keyword>Crypt</keyword>
<keyword>Cipher</keyword>
</attributes>
</example>
</examples>
</package>

View File

@ -616,7 +616,7 @@ int GenerateSeed(OS_Seed* os, byte* output, word32 sz)
#endif /* FREESCALE_K70_RNGA */ #endif /* FREESCALE_K70_RNGA */
#elif defined(CYASSL_SAFERTOS) || defined(CYASSL_LEANPSK) \ #elif defined(CYASSL_SAFERTOS) || defined(CYASSL_LEANPSK) \
|| defined(CYASSL_IAR_ARM) || defined(CYASSL_IAR_ARM) || defined(CYASSL_MDK_ARM)
#warning "write a real random seed!!!!, just for testing now" #warning "write a real random seed!!!!, just for testing now"

Some files were not shown because too many files have changed in this diff Show More