mirror of
https://github.com/FreeRTOS/FreeRTOS.git
synced 2026-08-18 18:18:54 +08:00
Update wolfSSL to the latest version(v.4.5.0) (#303)
* deleted old version wolfSSL before updating * updated wolfSSL to the latest version(v4.4.0) * updated wolfSSL to the latest version(v4.4.0) * added macros for timing resistance * Add wolfSSL-FIPS-Ready to Demo and Source * Add wolfSSL-FIPS-Ready to Demo and Source * Update README_wolfSSL_FIPS_Ready.md * Remove unused files * Update to wolfSSL-4.5.0-FIPS-Ready * Increase FIPS version number for the default * Update wolfSSL to the latest version(v.4.5.0) * Fix version number * Fix comments from github Co-authored-by: RichardBarry <3073890+RichardBarry@users.noreply.github.com> Co-authored-by: Ming Yue <mingyue86010@gmail.com> Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com> Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com> Co-authored-by: Alfred Gedeon <alfred2g@hotmail.com>
This commit is contained in:
co-authored by
RichardBarry
Ming Yue
Aniruddha Kanhere
Cobus van Eeden
Alfred Gedeon
parent
ee588710dd
commit
c44794cd11
+97
@@ -0,0 +1,97 @@
|
||||
/*
|
||||
* FreeRTOS Kernel V10.4.1
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#ifndef FREERTOS_CONFIG_H
|
||||
#define FREERTOS_CONFIG_H
|
||||
|
||||
/*-----------------------------------------------------------
|
||||
* Application specific definitions.
|
||||
*
|
||||
* These definitions should be adjusted for your particular hardware and
|
||||
* application requirements.
|
||||
*
|
||||
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
|
||||
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
|
||||
* http://www.freertos.org/a00110.html
|
||||
*----------------------------------------------------------*/
|
||||
|
||||
#define configUSE_PREEMPTION 1
|
||||
#define configUSE_IDLE_HOOK 1
|
||||
#define configUSE_TICK_HOOK 0
|
||||
#define configTICK_RATE_HZ ( 1000 ) /* In this non-real time simulated environment the tick frequency has to be at least a multiple of the Win32 tick frequency, and therefore very slow. */
|
||||
#define configMINIMAL_STACK_SIZE ( ( unsigned short ) 60 ) /* In this simulated case, the stack only has to hold one small structure as the real stack is part of the Win32 thread. */
|
||||
#define configTOTAL_HEAP_SIZE ( ( size_t ) 0 ) /* This parameter has no effect when heap_3.c is included in the project. */
|
||||
#define configMAX_TASK_NAME_LEN ( 7 )
|
||||
#define configUSE_TRACE_FACILITY 1
|
||||
#define configUSE_16_BIT_TICKS 0
|
||||
#define configIDLE_SHOULD_YIELD 1
|
||||
#define configUSE_CO_ROUTINES 0
|
||||
#define configUSE_MUTEXES 1
|
||||
#define configCHECK_FOR_STACK_OVERFLOW 0 /* Not applicable to the Win32 port. */
|
||||
#define configUSE_RECURSIVE_MUTEXES 1
|
||||
#define configQUEUE_REGISTRY_SIZE 0
|
||||
#define configUSE_MALLOC_FAILED_HOOK 0
|
||||
#define configUSE_APPLICATION_TASK_TAG 0
|
||||
#define configUSE_COUNTING_SEMAPHORES 1
|
||||
#define configUSE_ALTERNATIVE_API 0
|
||||
|
||||
#define configUSE_TIMERS 1
|
||||
#define configTIMER_TASK_PRIORITY 2
|
||||
#define configTIMER_QUEUE_LENGTH 20
|
||||
#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE * 2 )
|
||||
|
||||
#define configMAX_PRIORITIES ( 7 )
|
||||
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
|
||||
|
||||
|
||||
/* Co-routine definitions. */
|
||||
#define configUSE_CO_ROUTINES 0
|
||||
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
|
||||
|
||||
/* Set the following definitions to 1 to include the API function, or zero
|
||||
to exclude the API function. */
|
||||
|
||||
#define INCLUDE_vTaskPrioritySet 1
|
||||
#define INCLUDE_uxTaskPriorityGet 1
|
||||
#define INCLUDE_vTaskDelete 1
|
||||
#define INCLUDE_vTaskCleanUpResources 0
|
||||
#define INCLUDE_vTaskSuspend 1
|
||||
#define INCLUDE_vTaskDelayUntil 1
|
||||
#define INCLUDE_vTaskDelay 1
|
||||
#define INCLUDE_uxTaskGetStackHighWaterMark 1
|
||||
#define INCLUDE_xTaskGetSchedulerState 1
|
||||
|
||||
/* Run time stats gathering definitions. */
|
||||
#define configGENERATE_RUN_TIME_STATS 0
|
||||
|
||||
extern void vAssertCalled( void );
|
||||
#define configASSERT( x ) if( ( x ) == 0 ) vAssertCalled()
|
||||
|
||||
/* The TCP port used by both the secure client and the secure server. */
|
||||
#define configTCP_PORT_NUMBER 5001
|
||||
|
||||
#endif /* FREERTOS_CONFIG_H */
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.28010.2041
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RTOSDemo", "WIN32.vcxproj", "{C686325E-3261-42F7-AEB1-DDE5280E1CEB}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Win32 = Debug|Win32
|
||||
Debug|x64 = Debug|x64
|
||||
Release|Win32 = Release|Win32
|
||||
Release|x64 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{C686325E-3261-42F7-AEB1-DDE5280E1CEB}.Debug|Win32.ActiveCfg = Debug|Win32
|
||||
{C686325E-3261-42F7-AEB1-DDE5280E1CEB}.Debug|Win32.Build.0 = Debug|Win32
|
||||
{C686325E-3261-42F7-AEB1-DDE5280E1CEB}.Debug|x64.ActiveCfg = Debug|x64
|
||||
{C686325E-3261-42F7-AEB1-DDE5280E1CEB}.Debug|x64.Build.0 = Debug|x64
|
||||
{C686325E-3261-42F7-AEB1-DDE5280E1CEB}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{C686325E-3261-42F7-AEB1-DDE5280E1CEB}.Release|Win32.Build.0 = Release|Win32
|
||||
{C686325E-3261-42F7-AEB1-DDE5280E1CEB}.Release|x64.ActiveCfg = Release|x64
|
||||
{C686325E-3261-42F7-AEB1-DDE5280E1CEB}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {D6AB2785-448B-4D5A-8422-79D28929D7E4}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
+89
@@ -0,0 +1,89 @@
|
||||
# wolfSSL FIPS-Ready
|
||||
|
||||
# Overview
|
||||
Federal Information Processing Standards (FIPS) 140-2 specifies the security requirements that will be satisfied by a cryptographic module. It specifies that a cryptographic module should set a cryptographic boundary and mandates certain power-on selftest requirements such as an integrity check and cryptographic known answer tests.
|
||||
|
||||
wolfSSL FIPS Ready includes FIPS-enabled cryptography layer code along with the wolfSSL source code. It is not associated with a FIPS certificate, but allows applications to include the same FIPS-specific code (default entry point, power on self test) and best practices used by and required in FIPS-validated modules. If your project may need to get a FIPS certificate in the future, using the wolfSSL FIPS-Ready version now will accelerate future validation times. It makes your project FIPS-Ready and helps ensure best practices.
|
||||
|
||||
Next to this folder you will see another demo folder named "FreeRTOS_Plus_WolfSSL_Windows_Simulator". The demo uses regular (non-FIPS-Ready) wolfSSL. If you compare both demos, you will notice that there are no changes to the client code, and will also notice that some additional tests run prior to your main program in this FIPS-Ready demo.
|
||||
|
||||
This demo shows that wolfSSL FIPS Ready provides a FIPS compliant cryptographic module with minimal impact on client code.
|
||||
|
||||
# What does FIPS 140-2 specify?
|
||||
|
||||
FIPS 140-2 enforces cryptographic modules to follow best practices, including:
|
||||
|
||||
1. Removal of insecure algorithms (such as MD5 and DES)
|
||||
2. Include a default entry point
|
||||
3. Perform a Power On Self Test (POST)
|
||||
|
||||
wolfSSL FIPS Ready fulfils these requirements. The third requirement means that the POST should run automatically whenever the application using the FIPS code starts up. For wolfSSL FIPS Ready, the POST consits of two tests:
|
||||
|
||||
- In-Core Integrity Check (HMAC-SHA256 over cryptographic algorithm object files)
|
||||
- Known Answer Tests (KATs)
|
||||
|
||||
The in-core integrity check performs an HMAC-SHA256 operation over the object files included in the FIPS-compliant algorithm boundary. The cryptographic boundary is the FIPS-specific code and its related static data in the memory of the program. In the integrity check process, the calculated hash value is compared with the expexted pre-calculated value in the memory. Failure of this check means that compiled boundary code was modified after it was compiled. If either the integrity check or KAT fails, the module enters an error state.
|
||||
|
||||
The KAT (Known Answer Tests) run algorithm test cases using pre-computed NIST test vectors, thus verifying that the algorithms are working successfully. The KAT code and test vectors are inside the cryptographic boundary and are also checked as part of the in-core integrity check.
|
||||
|
||||
# How to build and run the Demo application
|
||||
|
||||
By double-clicking the solution file named "FreeRTOS_Plus_WolfSSL_FIPS_Ready.sln" included in this folder, Visual Studio starts and shows you a project in its solution explorer. It is named "RTOSDemo" and provides a console application program which runs on windows.
|
||||
|
||||
All required settings have been set in the user_settings.h header file included in the RTOSDemo/FreeRTOS+/wolfSSL folder in the solution explorer pane. The next step is to build the RTOSDemo application:
|
||||
|
||||
1. Build the RTOSDemo project
|
||||
2. Run the RTOSDemo.exe
|
||||
|
||||
You will see a console that pops up, and it shows output like the following:
|
||||
# Self Test Explanation
|
||||
```
|
||||
Starting Power On Self Test
|
||||
In core integrity check error: hash = C66491A040D5B9686BAA7A75A280290D91B49...
|
||||
```
|
||||
|
||||
Do not worry about this result, an error is expected at this point. Error number "-203" means In-Core-integrity-check failed. The check is identical to the "In Core Integrity Test" listed in the previous section. And the subsequent KAT also failed due to the first error. Once FIPS Ready has failed POST, it enters an error state and never allows subsequent cryptographic operations until the device is restarted and the tests can complete successfully.
|
||||
|
||||
The in-core integrity check requires a pre-calculated hash value to be stored in the fips_test.c source file. Remember that you did not yet set this pre-calculated value during the build process. Because the hash does not match the stored value is the reason why this first run will fail.
|
||||
|
||||
# Update Pre-calculated hash value
|
||||
|
||||
1. Let us go back to the messages in the console shown in the previous section. You may see "hash = C66491A040..." in the message. **The charactor sequence is the value for the pre-calculated hash value.** Please copy this charactor sequece and store it in a temporary location for reference in the next step.
|
||||
|
||||
2. Find and open the file named "**fips_test.c**" under the RTOSDemo/FreeRTOS+/wolfSSL/wolfcrypt folder in the Visual Studio solution explorer pane. Or you can reach the file by traversing "../../Source/WolfSSL-FIPS-Ready/wolfcrypt/src/fips_test.c" starting from the folder where this README is included.
|
||||
|
||||
3. In the fips_test.c, find the following statement:
|
||||
|
||||
```
|
||||
static const char verifyCore[] =
|
||||
"903B291C50C8F0BAB8D2C632853C6D827A9022A4B12260C3A14F4BEBD101228";
|
||||
```
|
||||
|
||||
Replace "903b291C..." with the character sequecece(C66491A040... ) you have stored in your temporary location from above. Save fips_test.c and build the application.
|
||||
|
||||
4. Run the application.
|
||||
|
||||
This time, you should see:
|
||||
|
||||
```
|
||||
Starting Power On Self Test
|
||||
Power On Self Test SUCCESS
|
||||
Waiting for new connection
|
||||
Connection established
|
||||
Received by the secure server: Message number 0
|
||||
|
||||
Received by the secure server: Message number 1
|
||||
|
||||
...
|
||||
|
||||
Received by the secure server: Message number 9
|
||||
|
||||
Connection closed, back to start
|
||||
Waiting for new connection
|
||||
```
|
||||
|
||||
This time, the in-core integrity check and KAT finished successfully, and Demo application was allowed to continue and perform its own tasks.
|
||||
|
||||
# When is the hash value update needed?
|
||||
|
||||
Whenever the FIPS boundary files have had changes made to them, such as options, location in the application, hash value, code, etc. the verifyHash value in fips_test.c will need to be updated. Even you just add or remove your code in your application, it may shift the FIPS boundary code in the memory, thus requiring a new hash value to be computed and updated.
|
||||
@@ -0,0 +1,5 @@
|
||||
[InternetShortcut]
|
||||
URL=http://www.freertos.org/FreeRTOS-Plus/WolfSSL/FreeRTOS_WolfSSL_Example.shtml
|
||||
IDList=
|
||||
[{000214A0-0000-0000-C000-000000000046}]
|
||||
Prop3=19,2
|
||||
+136
@@ -0,0 +1,136 @@
|
||||
/*
|
||||
* FreeRTOS Kernel V10.4.1
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#pragma comment( lib, "ws2_32.lib" )
|
||||
|
||||
/* Win32 includes. */
|
||||
#include <WinSock2.h>
|
||||
|
||||
/* wolfSSL includes. */
|
||||
#include "wolfssl/ssl.h"
|
||||
|
||||
/* Standard includes. */
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/* FreeRTOS includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* The wolfSSL context for the client. */
|
||||
static WOLFSSL_CTX* xWolfSSL_ClientContext = NULL;
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* See the comments at the top of main.c. */
|
||||
void vSecureTCPClientTask( void *pvParameters )
|
||||
{
|
||||
SOCKET xClientSocket;
|
||||
struct sockaddr_in xConnection;
|
||||
WOLFSSL* xWolfSSL_Object;
|
||||
WORD wVersionRequested;
|
||||
WSADATA xWSAData;
|
||||
char cString[ 50 ];
|
||||
BaseType_t lReturned;
|
||||
uint32_t ulCount = 0UL;
|
||||
|
||||
/* Remove compiler warning about unused parameters. */
|
||||
( void ) pvParameters;
|
||||
|
||||
/* Prepare to use WinSock. */
|
||||
wVersionRequested = MAKEWORD( 2, 2 );
|
||||
configASSERT( WSAStartup( wVersionRequested, &xWSAData ) == 0 );
|
||||
|
||||
/* Set family and port for client socket. */
|
||||
memset( ( void * ) &xConnection, 0x00, sizeof( struct sockaddr_in ) );
|
||||
xConnection.sin_family = AF_INET;
|
||||
xConnection.sin_addr.s_addr = inet_addr("127.0.0.1");
|
||||
xConnection.sin_port = htons( configTCP_PORT_NUMBER );
|
||||
|
||||
/* Attempt to create a context that uses the TLS 1.3 server protocol. */
|
||||
xWolfSSL_ClientContext = wolfSSL_CTX_new( wolfTLSv1_3_client_method() );
|
||||
configASSERT( xWolfSSL_ClientContext );
|
||||
|
||||
/* Load the CA certificate. */
|
||||
lReturned = wolfSSL_CTX_load_verify_locations( xWolfSSL_ClientContext, "ca-cert.pem", 0 );
|
||||
configASSERT( lReturned == SSL_SUCCESS );
|
||||
|
||||
for( ;; )
|
||||
{
|
||||
/* Create the socket. */
|
||||
xClientSocket = socket( AF_INET, SOCK_STREAM, 0 );
|
||||
configASSERT( xClientSocket != INVALID_SOCKET );
|
||||
|
||||
/* Connect to the secure server. */
|
||||
if( connect( xClientSocket, ( SOCKADDR * ) &xConnection, sizeof( xConnection ) ) == 0 )
|
||||
{
|
||||
/* The connect was successful. Create a wolfSSL object to associate
|
||||
with this connection. */
|
||||
xWolfSSL_Object = wolfSSL_new( xWolfSSL_ClientContext );
|
||||
|
||||
if( xWolfSSL_Object != NULL )
|
||||
{
|
||||
/* Associate the created wolfSSL object with the connected
|
||||
socket. */
|
||||
lReturned = wolfSSL_set_fd( xWolfSSL_Object, xClientSocket );
|
||||
configASSERT( lReturned == SSL_SUCCESS );
|
||||
|
||||
/* The count is used to differentiate between messages sent to
|
||||
the server, and to break out of the do while loop below. */
|
||||
ulCount = 0UL;
|
||||
|
||||
do
|
||||
{
|
||||
/* Create the string that is sent to the secure server. */
|
||||
sprintf( cString, "Message number %lu\r\n", ulCount );
|
||||
|
||||
/* The next line is the secure equivalent of the standard
|
||||
sockets call:
|
||||
lReturned = send( xClientSocket, cString, strlen( cString ) + 1, 0 ); */
|
||||
lReturned = wolfSSL_write( xWolfSSL_Object, cString, strlen( cString ) + 1 );
|
||||
|
||||
|
||||
/* Short delay to prevent the messages streaming up the
|
||||
console too quickly. */
|
||||
vTaskDelay( 50 );
|
||||
ulCount++;
|
||||
|
||||
} while( ( lReturned != SOCKET_ERROR ) && ( ulCount < 10UL ) );
|
||||
}
|
||||
|
||||
wolfSSL_free( xWolfSSL_Object );
|
||||
closesocket( xClientSocket );
|
||||
|
||||
/* Delay for a short time before starting over. */
|
||||
vTaskDelay( 250 );
|
||||
}
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
+245
@@ -0,0 +1,245 @@
|
||||
/*
|
||||
* FreeRTOS Kernel V10.4.1
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#pragma comment( lib, "ws2_32.lib" )
|
||||
|
||||
/* Win32 includes. */
|
||||
#include <WinSock2.h>
|
||||
|
||||
/* wolfSSL includes. */
|
||||
#include "wolfssl/ssl.h"
|
||||
|
||||
/* Standard includes. */
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/* FreeRTOS includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
|
||||
/* This application is using the FreeRTOS Windows simulator, which uses the
|
||||
FreeRTOS scheduler to schedule FreeRTOS task within the Windows environment.
|
||||
The Windows envrionment must not be allowed to block any Windows threads that
|
||||
are running FreeRTOS tasks, unless the FreeRTOS task is running at the FreeRTOS
|
||||
idle priority. For simplicity, this demo uses the Windows TCP/IP stack, the
|
||||
API for which can cause Windows threads to block. Therefore, any FreeRTOS task
|
||||
that makes calls to the Windows TCP/IP stack must be assigned the idle prioity.
|
||||
Note this is only a restriction of the simulated Windows environment - real
|
||||
FreeRTOS ports do not have this restriction. */
|
||||
#define sstSECURE_CLIENT_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
* Open, configures and binds the server's TCP socket.
|
||||
*/
|
||||
static SOCKET prvOpenServerSocket( void );
|
||||
|
||||
/*
|
||||
* Prepare the wolfSSL library for use.
|
||||
*/
|
||||
static void prvInitialiseWolfSSL( void );
|
||||
|
||||
/*
|
||||
* The task that implements the client side of the connection.
|
||||
*/
|
||||
extern void vSecureTCPClientTask( void *pvParameters );
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* The wolfSSL context for the server. */
|
||||
static WOLFSSL_CTX* xWolfSSL_ServerContext = NULL;
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/* See the comments at the top of main.c. */
|
||||
void vSecureTCPServerTask( void *pvParameters )
|
||||
{
|
||||
BaseType_t xReturned;
|
||||
long lBytes;
|
||||
uint8_t cReceivedString[ 60 ];
|
||||
struct sockaddr_in xClient;
|
||||
int xClientAddressLength = sizeof( struct sockaddr_in );
|
||||
SOCKET xListeningSocket, xConnectedSocket;
|
||||
WOLFSSL* xWolfSSL_Object; /* Only one connection is accepted at a time, so only one object is needed at a time. */
|
||||
|
||||
/* Just to prevent compiler warnings. */
|
||||
( void ) pvParameters;
|
||||
|
||||
/* Perform the initialisation necessary before wolfSSL can be used. */
|
||||
prvInitialiseWolfSSL();
|
||||
configASSERT( xWolfSSL_ServerContext );
|
||||
|
||||
/* Attempt to open the socket. */
|
||||
xListeningSocket = prvOpenServerSocket();
|
||||
|
||||
/* Now the server socket has been created and the wolfSSL library has been
|
||||
initialised, the task that implements the client side can be created. */
|
||||
xTaskCreate( vSecureTCPClientTask, "Client", configMINIMAL_STACK_SIZE, NULL, sstSECURE_CLIENT_TASK_PRIORITY, NULL );
|
||||
|
||||
if( xListeningSocket != INVALID_SOCKET )
|
||||
{
|
||||
for( ;; )
|
||||
{
|
||||
/* Wait until the client connects. */
|
||||
printf( "Waiting for new connection\r\n" );
|
||||
xConnectedSocket = accept( xListeningSocket, ( struct sockaddr * ) &xClient, &xClientAddressLength );
|
||||
|
||||
if( xConnectedSocket != INVALID_SOCKET )
|
||||
{
|
||||
printf( "Connection established\r\n" );
|
||||
|
||||
/* A connection has been accepted by the server. Create a
|
||||
wolfSSL object for use with the newly connected socket. */
|
||||
xWolfSSL_Object = NULL;
|
||||
xWolfSSL_Object = wolfSSL_new( xWolfSSL_ServerContext );
|
||||
|
||||
if( xWolfSSL_Object != NULL )
|
||||
{
|
||||
/* Associate the created wolfSSL object with the connected
|
||||
socket. */
|
||||
xReturned = wolfSSL_set_fd( xWolfSSL_Object, xConnectedSocket );
|
||||
configASSERT( xReturned == SSL_SUCCESS );
|
||||
|
||||
do
|
||||
{
|
||||
/* The next line is the secure equivalent to the
|
||||
standard sockets call:
|
||||
lBytes = recv( xConnectedSocket, cReceivedString, 50, 0 ); */
|
||||
lBytes = wolfSSL_read( xWolfSSL_Object, cReceivedString, sizeof( cReceivedString ) );
|
||||
|
||||
/* Print the received characters. */
|
||||
if( lBytes > 0 )
|
||||
{
|
||||
printf( "Received by the secure server: %s\r\n", cReceivedString );
|
||||
}
|
||||
|
||||
} while ( lBytes > 0 );
|
||||
|
||||
/* The connection was closed, close the socket and free the
|
||||
wolfSSL object. */
|
||||
closesocket( xConnectedSocket );
|
||||
wolfSSL_free( xWolfSSL_Object );
|
||||
printf( "Connection closed, back to start\r\n\r\n" );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* The socket could not be opened. */
|
||||
vTaskDelete( NULL );
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
static SOCKET prvOpenServerSocket( void )
|
||||
{
|
||||
WSADATA xWSAData;
|
||||
WORD wVersionRequested;
|
||||
struct sockaddr_in xConnection;
|
||||
SOCKET xSocket = INVALID_SOCKET;
|
||||
|
||||
wVersionRequested = MAKEWORD( 2, 2 );
|
||||
|
||||
/* Prepare to use WinSock. */
|
||||
if( WSAStartup( wVersionRequested, &xWSAData ) != 0 )
|
||||
{
|
||||
fprintf( stderr, "Could not open Windows connection.\n" );
|
||||
}
|
||||
else
|
||||
{
|
||||
xSocket = socket( AF_INET, SOCK_STREAM, 0 );
|
||||
if( xSocket == INVALID_SOCKET)
|
||||
{
|
||||
fprintf( stderr, "Could not create socket.\n" );
|
||||
WSACleanup();
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Zero out the server structure. */
|
||||
memset( ( void * ) &xConnection, 0x00, sizeof( struct sockaddr_in ) );
|
||||
|
||||
xConnection.sin_family = AF_INET;
|
||||
xConnection.sin_addr.s_addr = inet_addr("127.0.0.1");
|
||||
xConnection.sin_port = htons( configTCP_PORT_NUMBER );
|
||||
|
||||
/* Bind the address to the socket. */
|
||||
if( bind( xSocket, ( struct sockaddr * ) &xConnection, sizeof( struct sockaddr_in ) ) == -1 )
|
||||
{
|
||||
fprintf( stderr, "Could not socket to port %d.\n", configTCP_PORT_NUMBER );
|
||||
closesocket( xSocket );
|
||||
xSocket = INVALID_SOCKET;
|
||||
WSACleanup();
|
||||
}
|
||||
|
||||
if( listen( xSocket, 20 ) != 0 )
|
||||
{
|
||||
closesocket( xSocket );
|
||||
xSocket = INVALID_SOCKET;
|
||||
WSACleanup();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return xSocket;
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
static void prvInitialiseWolfSSL( void )
|
||||
{
|
||||
int32_t iReturn;
|
||||
|
||||
#ifdef DEBUG_WOLFSSL
|
||||
{
|
||||
wolfSSL_Debugging_ON();
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Initialise wolfSSL. This must be done before any other wolfSSL functions
|
||||
are called. */
|
||||
wolfSSL_Init();
|
||||
|
||||
/* Attempt to create a context that uses the TLS 1.3 server protocol. */
|
||||
xWolfSSL_ServerContext = wolfSSL_CTX_new( wolfTLSv1_3_server_method() );
|
||||
|
||||
if( xWolfSSL_ServerContext != NULL )
|
||||
{
|
||||
/* Load the CA certificate. Real applications should ensure that
|
||||
wolfSSL_CTX_load_verify_locations() returns SSL_SUCCESS before
|
||||
proceeding. */
|
||||
iReturn = wolfSSL_CTX_load_verify_locations( xWolfSSL_ServerContext, "ca-cert.pem", 0 );
|
||||
configASSERT( iReturn == SSL_SUCCESS );
|
||||
|
||||
iReturn = wolfSSL_CTX_use_certificate_file( xWolfSSL_ServerContext, "server-cert.pem", SSL_FILETYPE_PEM );
|
||||
configASSERT( iReturn == SSL_SUCCESS );
|
||||
|
||||
iReturn = wolfSSL_CTX_use_PrivateKey_file( xWolfSSL_ServerContext, "server-key.pem", SSL_FILETYPE_PEM );
|
||||
configASSERT( iReturn == SSL_SUCCESS );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,400 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{C686325E-3261-42F7-AEB1-DDE5280E1CEB}</ProjectGuid>
|
||||
<ProjectName>RTOSDemo</ProjectName>
|
||||
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>Application</ConfigurationType>
|
||||
<UseOfMfc>false</UseOfMfc>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
<Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>
|
||||
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
|
||||
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
|
||||
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Midl>
|
||||
<TypeLibraryName>.\Debug/WIN32.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\Source\wolfSSL-FIPS-Ready;..\..\..\FreeRTOS\Source\include;..\..\..\FreeRTOS\Source\portable\MSVC-MingW;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS</PreprocessorDefinitions>
|
||||
<MinimalRebuild>true</MinimalRebuild>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeaderOutputFile>.\Debug/WIN32.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
|
||||
<ObjectFileName>.\Debug/</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DisableLanguageExtensions>false</DisableLanguageExtensions>
|
||||
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4206;4214;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0c09</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<OutputFile>$(TargetDir)/$(TargetFileName)</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>.\Debug/WIN32.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>.\Debug/WIN32.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Midl>
|
||||
<TypeLibraryName>.\Debug/WIN32.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>..\..\Source\wolfSSL-FIPS-Ready;..\..\..\FreeRTOS\Source\include;..\..\..\FreeRTOS\Source\portable\MSVC-MingW;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS</PreprocessorDefinitions>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeaderOutputFile>.\Debug/WIN32.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
|
||||
<ObjectFileName>.\Debug/</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level4</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DisableLanguageExtensions>false</DisableLanguageExtensions>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<DisableSpecificWarnings>4206;4214;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0c09</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<OutputFile>$(TargetDir)/$(TargetFileName)</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>.\Debug/WIN32.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
<RandomizedBaseAddress>false</RandomizedBaseAddress>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>.\Debug/WIN32.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Midl>
|
||||
<TypeLibraryName>.\Release/WIN32.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>.\Release/WIN32.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
|
||||
<ObjectFileName>.\Release/</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalIncludeDirectories>..\..\Source\wolfSSL-FIPS-Ready;..\..\..\FreeRTOS\Source\include;..\..\..\FreeRTOS\Source\portable\MSVC-MingW;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0c09</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<OutputFile>$(TargetDir)/$(TargetFileName)</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<ProgramDatabaseFile>.\Release/WIN32.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
<AdditionalLibraryDirectories>..\Common\ethernet\lwip-1.4.0\ports\win32\WinPCap</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>wpcap.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>.\Release/WIN32.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Midl>
|
||||
<TypeLibraryName>.\Release/WIN32.tlb</TypeLibraryName>
|
||||
<HeaderFileName>
|
||||
</HeaderFileName>
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<PreprocessorDefinitions>WOLFSSL_USER_SETTINGS</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<PrecompiledHeaderOutputFile>.\Release/WIN32.pch</PrecompiledHeaderOutputFile>
|
||||
<AssemblerListingLocation>.\Release/</AssemblerListingLocation>
|
||||
<ObjectFileName>.\Release/</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<AdditionalIncludeDirectories>..\..\Source\wolfSSL-FIPS-Ready;..\..\..\FreeRTOS\Source\include;..\..\..\FreeRTOS\Source\portable\MSVC-MingW;.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0c09</Culture>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<OutputFile>$(TargetDir)/$(TargetFileName)</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<ProgramDatabaseFile>.\Release/WIN32.pdb</ProgramDatabaseFile>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<AdditionalLibraryDirectories>..\Common\ethernet\lwip-1.4.0\ports\win32\WinPCap</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>wpcap.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
<Bscmake>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<OutputFile>.\Release/WIN32.bsc</OutputFile>
|
||||
</Bscmake>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\..\FreeRTOS\Source\list.c" />
|
||||
<ClCompile Include="..\..\..\FreeRTOS\Source\portable\MemMang\heap_3.c" />
|
||||
<ClCompile Include="..\..\..\FreeRTOS\Source\portable\MSVC-MingW\port.c" />
|
||||
<ClCompile Include="..\..\..\FreeRTOS\Source\queue.c" />
|
||||
<ClCompile Include="..\..\..\FreeRTOS\Source\tasks.c" />
|
||||
<ClCompile Include="..\..\..\FreeRTOS\Source\timers.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\crl.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\internal.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\keys.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\ocsp.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\sniffer.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\ssl.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\tls.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\tls13.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\wolfio.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\aes.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\arc4.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\asm.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\asn.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\async.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\blake2b.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\blake2s.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\camellia.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\chacha.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\chacha20_poly1305.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\cmac.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\coding.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\compress.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\cpuid.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\cryptocb.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\curve25519.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\curve448.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\des3.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\dh.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\dsa.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ecc.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ecc_fp.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ed25519.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ed448.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\error.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fe_448.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fe_low_mem.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fe_operations.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fips.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fips_test.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ge_448.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ge_low_mem.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ge_operations.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\hash.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\hc128.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\hmac.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\idea.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\integer.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\logging.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\md2.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\md4.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\md5.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\memory.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\misc.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\pkcs12.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\pkcs7.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\poly1305.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\pwdbased.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\rabbit.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\random.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ripemd.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\rsa.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\selftest.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sha.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sha256.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sha3.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sha512.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\signature.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_arm32.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_arm64.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_armthumb.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_c32.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_c64.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_cortexm.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_dsp32.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_int.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_x86_64.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\srp.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\tfm.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wc_dsp.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wc_encrypt.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wc_pkcs11.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wc_port.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wolfcrypt_first.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wolfcrypt_last.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wolfevent.c" />
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wolfmath.c" />
|
||||
<ClCompile Include="main.c">
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SecureTCPClientTask.c" />
|
||||
<ClCompile Include="SecureTCPServerTask.c" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="FreeRTOSConfig.h" />
|
||||
<ClInclude Include="user_settings.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\aes_asm.asm" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\aes_asm.S" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\aes_gcm_asm.S" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\chacha_asm.S" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fe_x25519_128.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fe_x25519_asm.S" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mont_small.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_12.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_17.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_20.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_24.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_28.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_3.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_32.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_4.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_48.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_6.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_64.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_7.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_8.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_9.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_small_set.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_12.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_17.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_20.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_24.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_28.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_3.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_32.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_4.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_48.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_6.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_64.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_7.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_8.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_9.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_small_set.i" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\include.am" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\poly1305_asm.S" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sha256_asm.S" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sha512_asm.S" />
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_x86_64_asm.S" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
+455
@@ -0,0 +1,455 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{38712199-cebf-4124-bf15-398f7c3419ea}</UniqueIdentifier>
|
||||
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Demo App Source">
|
||||
<UniqueIdentifier>{34567deb-d5ab-4a56-8640-0aaec609521a}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="FreeRTOS">
|
||||
<UniqueIdentifier>{af3445a1-4908-4170-89ed-39345d90d30c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FreeRTOS\Source">
|
||||
<UniqueIdentifier>{f32be356-4763-4cae-9020-974a2638cb08}</UniqueIdentifier>
|
||||
<Extensions>*.c</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="FreeRTOS\Source\Portable">
|
||||
<UniqueIdentifier>{88f409e6-d396-4ac5-94bd-7a99c914be46}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FreeRTOS+">
|
||||
<UniqueIdentifier>{e5ad4ec7-23dc-4295-8add-2acaee488f5a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FreeRTOS+\wolfSSL">
|
||||
<UniqueIdentifier>{8b481200-a9e5-48a4-98ad-49d2783cd652}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FreeRTOS+\wolfSSL\wolfcrypt">
|
||||
<UniqueIdentifier>{738eaad9-4e49-4309-9074-c3d9e102fb4a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="main.c">
|
||||
<Filter>Demo App Source</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\FreeRTOS\Source\portable\MSVC-MingW\port.c">
|
||||
<Filter>FreeRTOS\Source\Portable</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\FreeRTOS\Source\portable\MemMang\heap_3.c">
|
||||
<Filter>FreeRTOS\Source\Portable</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\FreeRTOS\Source\timers.c">
|
||||
<Filter>FreeRTOS\Source</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\FreeRTOS\Source\list.c">
|
||||
<Filter>FreeRTOS\Source</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\FreeRTOS\Source\queue.c">
|
||||
<Filter>FreeRTOS\Source</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\..\FreeRTOS\Source\tasks.c">
|
||||
<Filter>FreeRTOS\Source</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SecureTCPServerTask.c">
|
||||
<Filter>Demo App Source</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SecureTCPClientTask.c">
|
||||
<Filter>Demo App Source</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\aes.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\arc4.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\asm.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\asn.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\async.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\blake2b.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\blake2s.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\camellia.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\chacha.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\chacha20_poly1305.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\cmac.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\coding.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\compress.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\cpuid.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\cryptocb.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\curve448.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\curve25519.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\des3.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\dh.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\dsa.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ecc.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ecc_fp.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ed448.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ed25519.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\error.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fe_448.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fe_low_mem.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fe_operations.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fips.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fips_test.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ge_448.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ge_low_mem.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ge_operations.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\hash.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\hc128.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\hmac.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\idea.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\integer.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\logging.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\md2.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\md4.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\md5.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\memory.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\misc.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\pkcs7.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\pkcs12.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\poly1305.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\pwdbased.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\rabbit.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\random.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\ripemd.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\rsa.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\selftest.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sha.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sha3.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sha256.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sha512.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\signature.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_arm32.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_arm64.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_armthumb.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_c32.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_c64.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_cortexm.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_dsp32.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_int.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_x86_64.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\srp.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\tfm.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wc_dsp.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wc_encrypt.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wc_pkcs11.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wc_port.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wolfcrypt_first.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wolfcrypt_last.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wolfevent.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\wolfmath.c">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\crl.c">
|
||||
<Filter>FreeRTOS+\wolfSSL</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\internal.c">
|
||||
<Filter>FreeRTOS+\wolfSSL</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\keys.c">
|
||||
<Filter>FreeRTOS+\wolfSSL</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\ocsp.c">
|
||||
<Filter>FreeRTOS+\wolfSSL</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\sniffer.c">
|
||||
<Filter>FreeRTOS+\wolfSSL</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\ssl.c">
|
||||
<Filter>FreeRTOS+\wolfSSL</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\tls.c">
|
||||
<Filter>FreeRTOS+\wolfSSL</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\tls13.c">
|
||||
<Filter>FreeRTOS+\wolfSSL</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="..\..\Source\WolfSSL-FIPS-Ready\src\wolfio.c">
|
||||
<Filter>FreeRTOS+\wolfSSL</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="FreeRTOSConfig.h">
|
||||
<Filter>Demo App Source</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="user_settings.h">
|
||||
<Filter>FreeRTOS+\wolfSSL</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\aes_asm.asm">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\aes_asm.S">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\aes_gcm_asm.S">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\chacha_asm.S">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fe_x25519_128.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fe_x25519_asm.S">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mont_small.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_3.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_4.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_6.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_7.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_8.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_9.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_12.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_17.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_20.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_24.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_28.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_32.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_48.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_64.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_mul_comba_small_set.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_3.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_4.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_6.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_7.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_8.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_9.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_12.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_17.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_20.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_24.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_28.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_32.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_48.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_64.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\fp_sqr_comba_small_set.i">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\include.am">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\poly1305_asm.S">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sha256_asm.S">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sha512_asm.S">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
<None Include="..\..\Source\WolfSSL-FIPS-Ready\wolfcrypt\src\sp_x86_64_asm.S">
|
||||
<Filter>FreeRTOS+\wolfSSL\wolfcrypt</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
</Project>
|
||||
@@ -0,0 +1,93 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
5e:ba:a4:f4:b1:f7:48:25:e3:5f:9b:da:a1:13:ed:d5:2b:03:67:15
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
Issuer: C = US, ST = Montana, L = Bozeman, O = Sawtooth, OU = Consulting, CN = www.wolfssl.com, emailAddress = info@wolfssl.com
|
||||
Validity
|
||||
Not Before: Jun 19 13:23:41 2020 GMT
|
||||
Not After : Mar 16 13:23:41 2023 GMT
|
||||
Subject: C = US, ST = Montana, L = Bozeman, O = Sawtooth, OU = Consulting, CN = www.wolfssl.com, emailAddress = info@wolfssl.com
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public-Key: (2048 bit)
|
||||
Modulus:
|
||||
00:bf:0c:ca:2d:14:b2:1e:84:42:5b:cd:38:1f:4a:
|
||||
f2:4d:75:10:f1:b6:35:9f:df:ca:7d:03:98:d3:ac:
|
||||
de:03:66:ee:2a:f1:d8:b0:7d:6e:07:54:0b:10:98:
|
||||
21:4d:80:cb:12:20:e7:cc:4f:de:45:7d:c9:72:77:
|
||||
32:ea:ca:90:bb:69:52:10:03:2f:a8:f3:95:c5:f1:
|
||||
8b:62:56:1b:ef:67:6f:a4:10:41:95:ad:0a:9b:e3:
|
||||
a5:c0:b0:d2:70:76:50:30:5b:a8:e8:08:2c:7c:ed:
|
||||
a7:a2:7a:8d:38:29:1c:ac:c7:ed:f2:7c:95:b0:95:
|
||||
82:7d:49:5c:38:cd:77:25:ef:bd:80:75:53:94:3c:
|
||||
3d:ca:63:5b:9f:15:b5:d3:1d:13:2f:19:d1:3c:db:
|
||||
76:3a:cc:b8:7d:c9:e5:c2:d7:da:40:6f:d8:21:dc:
|
||||
73:1b:42:2d:53:9c:fe:1a:fc:7d:ab:7a:36:3f:98:
|
||||
de:84:7c:05:67:ce:6a:14:38:87:a9:f1:8c:b5:68:
|
||||
cb:68:7f:71:20:2b:f5:a0:63:f5:56:2f:a3:26:d2:
|
||||
b7:6f:b1:5a:17:d7:38:99:08:fe:93:58:6f:fe:c3:
|
||||
13:49:08:16:0b:a7:4d:67:00:52:31:67:23:4e:98:
|
||||
ed:51:45:1d:b9:04:d9:0b:ec:d8:28:b3:4b:bd:ed:
|
||||
36:79
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Subject Key Identifier:
|
||||
27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5
|
||||
DirName:/C=US/ST=Montana/L=Bozeman/O=Sawtooth/OU=Consulting/CN=www.wolfssl.com/emailAddress=info@wolfssl.com
|
||||
serial:5E:BA:A4:F4:B1:F7:48:25:E3:5F:9B:DA:A1:13:ED:D5:2B:03:67:15
|
||||
|
||||
X509v3 Basic Constraints:
|
||||
CA:TRUE
|
||||
X509v3 Subject Alternative Name:
|
||||
DNS:example.com, IP Address:127.0.0.1
|
||||
X509v3 Extended Key Usage:
|
||||
TLS Web Server Authentication, TLS Web Client Authentication
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
b9:ed:94:3e:00:73:2d:a5:d1:04:b3:fb:dc:f0:b7:0d:3d:ad:
|
||||
96:74:4c:92:67:ad:6d:7c:e2:99:6a:33:ca:b2:0f:04:5a:a5:
|
||||
67:f8:e3:0b:3d:f5:d0:5b:1e:20:52:12:92:28:ea:31:a3:51:
|
||||
9e:8b:d2:39:e4:25:ea:61:61:41:16:2d:54:50:d3:fb:d0:34:
|
||||
00:10:f1:7b:bc:f0:08:a7:f5:27:5e:7e:40:9d:99:b0:d3:31:
|
||||
11:c3:9d:a9:51:a0:17:cf:83:2c:55:84:e0:d5:92:a0:05:3a:
|
||||
9f:b8:75:f8:1b:e5:f7:a4:6c:e9:aa:25:8b:19:93:46:1f:3f:
|
||||
33:af:47:29:cf:7b:8b:59:27:eb:d7:4f:cb:33:19:fa:5f:ee:
|
||||
d8:13:e9:0c:07:ad:3b:c0:7f:10:d7:e4:ed:e8:db:16:e1:1f:
|
||||
a4:7f:16:3c:bd:d7:11:f2:d4:3a:a9:9b:95:e1:39:51:99:eb:
|
||||
5b:65:46:ef:63:84:73:95:23:b8:bf:b5:f6:4d:12:71:f7:ff:
|
||||
33:aa:4a:8c:65:73:73:89:69:df:a6:dc:a4:91:ff:ae:c7:28:
|
||||
93:b5:1a:de:a9:8f:2b:30:85:83:8b:99:82:ca:b3:7c:11:10:
|
||||
88:9d:8e:6c:2c:f3:05:6f:cb:80:85:16:b7:ed:e4:68:fb:b6:
|
||||
b6:31:8a:7d
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIE/zCCA+egAwIBAgIUXrqk9LH3SCXjX5vaoRPt1SsDZxUwDQYJKoZIhvcNAQEL
|
||||
BQAwgZQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5hMRAwDgYDVQQHDAdC
|
||||
b3plbWFuMREwDwYDVQQKDAhTYXd0b290aDETMBEGA1UECwwKQ29uc3VsdGluZzEY
|
||||
MBYGA1UEAwwPd3d3LndvbGZzc2wuY29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdv
|
||||
bGZzc2wuY29tMB4XDTIwMDYxOTEzMjM0MVoXDTIzMDMxNjEzMjM0MVowgZQxCzAJ
|
||||
BgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5hMRAwDgYDVQQHDAdCb3plbWFuMREw
|
||||
DwYDVQQKDAhTYXd0b290aDETMBEGA1UECwwKQ29uc3VsdGluZzEYMBYGA1UEAwwP
|
||||
d3d3LndvbGZzc2wuY29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29t
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvwzKLRSyHoRCW804H0ry
|
||||
TXUQ8bY1n9/KfQOY06zeA2buKvHYsH1uB1QLEJghTYDLEiDnzE/eRX3Jcncy6sqQ
|
||||
u2lSEAMvqPOVxfGLYlYb72dvpBBBla0Km+OlwLDScHZQMFuo6AgsfO2nonqNOCkc
|
||||
rMft8nyVsJWCfUlcOM13Je+9gHVTlDw9ymNbnxW10x0TLxnRPNt2Osy4fcnlwtfa
|
||||
QG/YIdxzG0ItU5z+Gvx9q3o2P5jehHwFZ85qFDiHqfGMtWjLaH9xICv1oGP1Vi+j
|
||||
JtK3b7FaF9c4mQj+k1hv/sMTSQgWC6dNZwBSMWcjTpjtUUUduQTZC+zYKLNLve02
|
||||
eQIDAQABo4IBRTCCAUEwHQYDVR0OBBYEFCeOZxF0wyYdP+0zY7Ok2B0w5ejVMIHU
|
||||
BgNVHSMEgcwwgcmAFCeOZxF0wyYdP+0zY7Ok2B0w5ejVoYGapIGXMIGUMQswCQYD
|
||||
VQQGEwJVUzEQMA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8G
|
||||
A1UECgwIU2F3dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3
|
||||
dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbYIU
|
||||
Xrqk9LH3SCXjX5vaoRPt1SsDZxUwDAYDVR0TBAUwAwEB/zAcBgNVHREEFTATggtl
|
||||
eGFtcGxlLmNvbYcEfwAAATAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
|
||||
DQYJKoZIhvcNAQELBQADggEBALntlD4Acy2l0QSz+9zwtw09rZZ0TJJnrW184plq
|
||||
M8qyDwRapWf44ws99dBbHiBSEpIo6jGjUZ6L0jnkJephYUEWLVRQ0/vQNAAQ8Xu8
|
||||
8Ain9SdefkCdmbDTMRHDnalRoBfPgyxVhODVkqAFOp+4dfgb5fekbOmqJYsZk0Yf
|
||||
PzOvRynPe4tZJ+vXT8szGfpf7tgT6QwHrTvAfxDX5O3o2xbhH6R/Fjy91xHy1Dqp
|
||||
m5XhOVGZ61tlRu9jhHOVI7i/tfZNEnH3/zOqSoxlc3OJad+m3KSR/67HKJO1Gt6p
|
||||
jyswhYOLmYLKs3wREIidjmws8wVvy4CFFrft5Gj7trYxin0=
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,103 @@
|
||||
/*
|
||||
* FreeRTOS Kernel V10.4.1
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/* Standard includes. */
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
|
||||
/* FreeRTOS includes. */
|
||||
#include <FreeRTOS.h>
|
||||
#include "task.h"
|
||||
|
||||
/* This application is using the FreeRTOS Windows simulator, which uses the
|
||||
FreeRTOS scheduler to schedule FreeRTOS task within the Windows environment.
|
||||
The Windows environment must not be allowed to block any Windows threads that
|
||||
are running FreeRTOS tasks, unless the FreeRTOS task is running at the FreeRTOS
|
||||
idle priority. For simplicity, this demo uses the Windows TCP/IP stack, the
|
||||
API for which can cause Windows threads to block. Therefore, any FreeRTOS task
|
||||
that makes calls to the Windows TCP/IP stack must be assigned the idle priority.
|
||||
Note this is only a restriction of the simulated Windows environment - real
|
||||
FreeRTOS ports do not have this restriction. */
|
||||
#define mainSECURE_SERVER_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
* The task that implements the server side.
|
||||
*/
|
||||
extern void vSecureTCPServerTask( void *pvParameters );
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
int main( void )
|
||||
{
|
||||
const uint32_t ulLongTime_ms = 250UL;
|
||||
|
||||
/* Create the TCP server task. This will itself create the client task
|
||||
once it has completed the wolfSSL initialisation. */
|
||||
xTaskCreate( vSecureTCPServerTask, "Server", configMINIMAL_STACK_SIZE, NULL, mainSECURE_SERVER_TASK_PRIORITY, NULL );
|
||||
|
||||
/* Start the task running. */
|
||||
vTaskStartScheduler();
|
||||
|
||||
/* If all is well, the scheduler will now be running, and the following
|
||||
line will never be reached. If the following line does execute, then
|
||||
there was insufficient FreeRTOS heap memory available for the idle and/or
|
||||
timer tasks to be created. See the memory management section on the
|
||||
FreeRTOS web site for more details (this is standard text that is not
|
||||
really applicable to the Win32 simulator port). */
|
||||
for( ;; )
|
||||
{
|
||||
Sleep( ulLongTime_ms );
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void vApplicationIdleHook( void )
|
||||
{
|
||||
const unsigned long ulMSToSleep = 5;
|
||||
|
||||
/* This function is called on each cycle of the idle task if
|
||||
configUSE_IDLE_HOOK is set to 1 in FreeRTOSConfig.h. Sleep to reduce CPU
|
||||
load. */
|
||||
Sleep( ulMSToSleep );
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
void vAssertCalled( void )
|
||||
{
|
||||
const unsigned long ulLongSleep = 1000UL;
|
||||
|
||||
taskDISABLE_INTERRUPTS();
|
||||
for( ;; )
|
||||
{
|
||||
Sleep( ulLongSleep );
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
+185
@@ -0,0 +1,185 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 1 (0x1)
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
Issuer: C = US, ST = Montana, L = Bozeman, O = Sawtooth, OU = Consulting, CN = www.wolfssl.com, emailAddress = info@wolfssl.com
|
||||
Validity
|
||||
Not Before: Jun 19 13:23:41 2020 GMT
|
||||
Not After : Mar 16 13:23:41 2023 GMT
|
||||
Subject: C = US, ST = Montana, L = Bozeman, O = wolfSSL, OU = Support, CN = www.wolfssl.com, emailAddress = info@wolfssl.com
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public-Key: (2048 bit)
|
||||
Modulus:
|
||||
00:c0:95:08:e1:57:41:f2:71:6d:b7:d2:45:41:27:
|
||||
01:65:c6:45:ae:f2:bc:24:30:b8:95:ce:2f:4e:d6:
|
||||
f6:1c:88:bc:7c:9f:fb:a8:67:7f:fe:5c:9c:51:75:
|
||||
f7:8a:ca:07:e7:35:2f:8f:e1:bd:7b:c0:2f:7c:ab:
|
||||
64:a8:17:fc:ca:5d:7b:ba:e0:21:e5:72:2e:6f:2e:
|
||||
86:d8:95:73:da:ac:1b:53:b9:5f:3f:d7:19:0d:25:
|
||||
4f:e1:63:63:51:8b:0b:64:3f:ad:43:b8:a5:1c:5c:
|
||||
34:b3:ae:00:a0:63:c5:f6:7f:0b:59:68:78:73:a6:
|
||||
8c:18:a9:02:6d:af:c3:19:01:2e:b8:10:e3:c6:cc:
|
||||
40:b4:69:a3:46:33:69:87:6e:c4:bb:17:a6:f3:e8:
|
||||
dd:ad:73:bc:7b:2f:21:b5:fd:66:51:0c:bd:54:b3:
|
||||
e1:6d:5f:1c:bc:23:73:d1:09:03:89:14:d2:10:b9:
|
||||
64:c3:2a:d0:a1:96:4a:bc:e1:d4:1a:5b:c7:a0:c0:
|
||||
c1:63:78:0f:44:37:30:32:96:80:32:23:95:a1:77:
|
||||
ba:13:d2:97:73:e2:5d:25:c9:6a:0d:c3:39:60:a4:
|
||||
b4:b0:69:42:42:09:e9:d8:08:bc:33:20:b3:58:22:
|
||||
a7:aa:eb:c4:e1:e6:61:83:c5:d2:96:df:d9:d0:4f:
|
||||
ad:d7
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Subject Key Identifier:
|
||||
B3:11:32:C9:92:98:84:E2:C9:F8:D0:3B:6E:03:42:CA:1F:0E:8E:3C
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5
|
||||
DirName:/C=US/ST=Montana/L=Bozeman/O=Sawtooth/OU=Consulting/CN=www.wolfssl.com/emailAddress=info@wolfssl.com
|
||||
serial:5E:BA:A4:F4:B1:F7:48:25:E3:5F:9B:DA:A1:13:ED:D5:2B:03:67:15
|
||||
|
||||
X509v3 Basic Constraints:
|
||||
CA:TRUE
|
||||
X509v3 Subject Alternative Name:
|
||||
DNS:example.com, IP Address:127.0.0.1
|
||||
X509v3 Extended Key Usage:
|
||||
TLS Web Server Authentication, TLS Web Client Authentication
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
35:91:e6:72:cc:0b:f1:47:8f:3d:e3:5d:52:2f:83:b8:b1:3b:
|
||||
6d:d6:ac:13:79:74:14:ff:07:8d:ee:74:77:64:ff:b8:83:1d:
|
||||
81:80:84:bb:38:fa:8f:f3:75:29:23:ce:e5:09:a8:13:85:14:
|
||||
b6:6a:35:30:2c:1c:c4:0f:23:67:ea:ed:cb:91:c4:05:e3:ec:
|
||||
6b:be:11:bf:d9:9a:ab:93:17:9f:e4:9a:59:d4:e7:cc:ce:dc:
|
||||
83:10:f5:cd:de:d7:35:75:4b:aa:7a:7a:ba:02:a0:b0:b5:c1:
|
||||
8a:6b:b1:72:cf:64:59:4e:d3:a4:a1:6c:64:4b:14:cf:a3:d6:
|
||||
37:0a:e6:f9:5b:21:be:de:0c:c1:cf:43:e1:18:0b:19:13:6b:
|
||||
8e:3d:df:0f:a7:43:fb:35:67:4a:50:e8:09:46:34:bd:f4:ab:
|
||||
1a:8f:bd:4d:1c:6b:20:be:1c:8c:ca:66:98:ba:03:67:f2:1c:
|
||||
3c:1e:01:f0:4d:c6:85:82:6f:a9:49:f7:1b:7d:6b:db:76:84:
|
||||
73:bb:16:c5:6e:74:ab:7b:fb:1c:e9:91:bb:29:73:1c:de:27:
|
||||
b4:67:3b:10:51:f4:17:eb:b8:38:a0:9a:eb:37:5b:76:8f:39:
|
||||
12:39:35:d1:ca:fe:c0:26:fb:73:50:1e:2d:b9:d2:ba:e5:4c:
|
||||
35:bd:ed:7b
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIE6DCCA9CgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBlDELMAkGA1UEBhMCVVMx
|
||||
EDAOBgNVBAgMB01vbnRhbmExEDAOBgNVBAcMB0JvemVtYW4xETAPBgNVBAoMCFNh
|
||||
d3Rvb3RoMRMwEQYDVQQLDApDb25zdWx0aW5nMRgwFgYDVQQDDA93d3cud29sZnNz
|
||||
bC5jb20xHzAdBgkqhkiG9w0BCQEWEGluZm9Ad29sZnNzbC5jb20wHhcNMjAwNjE5
|
||||
MTMyMzQxWhcNMjMwMzE2MTMyMzQxWjCBkDELMAkGA1UEBhMCVVMxEDAOBgNVBAgM
|
||||
B01vbnRhbmExEDAOBgNVBAcMB0JvemVtYW4xEDAOBgNVBAoMB3dvbGZTU0wxEDAO
|
||||
BgNVBAsMB1N1cHBvcnQxGDAWBgNVBAMMD3d3dy53b2xmc3NsLmNvbTEfMB0GCSqG
|
||||
SIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
||||
ADCCAQoCggEBAMCVCOFXQfJxbbfSRUEnAWXGRa7yvCQwuJXOL07W9hyIvHyf+6hn
|
||||
f/5cnFF194rKB+c1L4/hvXvAL3yrZKgX/Mpde7rgIeVyLm8uhtiVc9qsG1O5Xz/X
|
||||
GQ0lT+FjY1GLC2Q/rUO4pRxcNLOuAKBjxfZ/C1loeHOmjBipAm2vwxkBLrgQ48bM
|
||||
QLRpo0YzaYduxLsXpvPo3a1zvHsvIbX9ZlEMvVSz4W1fHLwjc9EJA4kU0hC5ZMMq
|
||||
0KGWSrzh1Bpbx6DAwWN4D0Q3MDKWgDIjlaF3uhPSl3PiXSXJag3DOWCktLBpQkIJ
|
||||
6dgIvDMgs1gip6rrxOHmYYPF0pbf2dBPrdcCAwEAAaOCAUUwggFBMB0GA1UdDgQW
|
||||
BBSzETLJkpiE4sn40DtuA0LKHw6OPDCB1AYDVR0jBIHMMIHJgBQnjmcRdMMmHT/t
|
||||
M2OzpNgdMOXo1aGBmqSBlzCBlDELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB01vbnRh
|
||||
bmExEDAOBgNVBAcMB0JvemVtYW4xETAPBgNVBAoMCFNhd3Rvb3RoMRMwEQYDVQQL
|
||||
DApDb25zdWx0aW5nMRgwFgYDVQQDDA93d3cud29sZnNzbC5jb20xHzAdBgkqhkiG
|
||||
9w0BCQEWEGluZm9Ad29sZnNzbC5jb22CFF66pPSx90gl41+b2qET7dUrA2cVMAwG
|
||||
A1UdEwQFMAMBAf8wHAYDVR0RBBUwE4ILZXhhbXBsZS5jb22HBH8AAAEwHQYDVR0l
|
||||
BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBCwUAA4IBAQA1keZy
|
||||
zAvxR489411SL4O4sTtt1qwTeXQU/weN7nR3ZP+4gx2BgIS7OPqP83UpI87lCagT
|
||||
hRS2ajUwLBzEDyNn6u3LkcQF4+xrvhG/2Zqrkxef5JpZ1OfMztyDEPXN3tc1dUuq
|
||||
enq6AqCwtcGKa7Fyz2RZTtOkoWxkSxTPo9Y3Cub5WyG+3gzBz0PhGAsZE2uOPd8P
|
||||
p0P7NWdKUOgJRjS99Ksaj71NHGsgvhyMymaYugNn8hw8HgHwTcaFgm+pSfcbfWvb
|
||||
doRzuxbFbnSre/sc6ZG7KXMc3ie0ZzsQUfQX67g4oJrrN1t2jzkSOTXRyv7AJvtz
|
||||
UB4tudK65Uw1ve17
|
||||
-----END CERTIFICATE-----
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number:
|
||||
5e:ba:a4:f4:b1:f7:48:25:e3:5f:9b:da:a1:13:ed:d5:2b:03:67:15
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
Issuer: C = US, ST = Montana, L = Bozeman, O = Sawtooth, OU = Consulting, CN = www.wolfssl.com, emailAddress = info@wolfssl.com
|
||||
Validity
|
||||
Not Before: Jun 19 13:23:41 2020 GMT
|
||||
Not After : Mar 16 13:23:41 2023 GMT
|
||||
Subject: C = US, ST = Montana, L = Bozeman, O = Sawtooth, OU = Consulting, CN = www.wolfssl.com, emailAddress = info@wolfssl.com
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
RSA Public-Key: (2048 bit)
|
||||
Modulus:
|
||||
00:bf:0c:ca:2d:14:b2:1e:84:42:5b:cd:38:1f:4a:
|
||||
f2:4d:75:10:f1:b6:35:9f:df:ca:7d:03:98:d3:ac:
|
||||
de:03:66:ee:2a:f1:d8:b0:7d:6e:07:54:0b:10:98:
|
||||
21:4d:80:cb:12:20:e7:cc:4f:de:45:7d:c9:72:77:
|
||||
32:ea:ca:90:bb:69:52:10:03:2f:a8:f3:95:c5:f1:
|
||||
8b:62:56:1b:ef:67:6f:a4:10:41:95:ad:0a:9b:e3:
|
||||
a5:c0:b0:d2:70:76:50:30:5b:a8:e8:08:2c:7c:ed:
|
||||
a7:a2:7a:8d:38:29:1c:ac:c7:ed:f2:7c:95:b0:95:
|
||||
82:7d:49:5c:38:cd:77:25:ef:bd:80:75:53:94:3c:
|
||||
3d:ca:63:5b:9f:15:b5:d3:1d:13:2f:19:d1:3c:db:
|
||||
76:3a:cc:b8:7d:c9:e5:c2:d7:da:40:6f:d8:21:dc:
|
||||
73:1b:42:2d:53:9c:fe:1a:fc:7d:ab:7a:36:3f:98:
|
||||
de:84:7c:05:67:ce:6a:14:38:87:a9:f1:8c:b5:68:
|
||||
cb:68:7f:71:20:2b:f5:a0:63:f5:56:2f:a3:26:d2:
|
||||
b7:6f:b1:5a:17:d7:38:99:08:fe:93:58:6f:fe:c3:
|
||||
13:49:08:16:0b:a7:4d:67:00:52:31:67:23:4e:98:
|
||||
ed:51:45:1d:b9:04:d9:0b:ec:d8:28:b3:4b:bd:ed:
|
||||
36:79
|
||||
Exponent: 65537 (0x10001)
|
||||
X509v3 extensions:
|
||||
X509v3 Subject Key Identifier:
|
||||
27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5
|
||||
DirName:/C=US/ST=Montana/L=Bozeman/O=Sawtooth/OU=Consulting/CN=www.wolfssl.com/emailAddress=info@wolfssl.com
|
||||
serial:5E:BA:A4:F4:B1:F7:48:25:E3:5F:9B:DA:A1:13:ED:D5:2B:03:67:15
|
||||
|
||||
X509v3 Basic Constraints:
|
||||
CA:TRUE
|
||||
X509v3 Subject Alternative Name:
|
||||
DNS:example.com, IP Address:127.0.0.1
|
||||
X509v3 Extended Key Usage:
|
||||
TLS Web Server Authentication, TLS Web Client Authentication
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
b9:ed:94:3e:00:73:2d:a5:d1:04:b3:fb:dc:f0:b7:0d:3d:ad:
|
||||
96:74:4c:92:67:ad:6d:7c:e2:99:6a:33:ca:b2:0f:04:5a:a5:
|
||||
67:f8:e3:0b:3d:f5:d0:5b:1e:20:52:12:92:28:ea:31:a3:51:
|
||||
9e:8b:d2:39:e4:25:ea:61:61:41:16:2d:54:50:d3:fb:d0:34:
|
||||
00:10:f1:7b:bc:f0:08:a7:f5:27:5e:7e:40:9d:99:b0:d3:31:
|
||||
11:c3:9d:a9:51:a0:17:cf:83:2c:55:84:e0:d5:92:a0:05:3a:
|
||||
9f:b8:75:f8:1b:e5:f7:a4:6c:e9:aa:25:8b:19:93:46:1f:3f:
|
||||
33:af:47:29:cf:7b:8b:59:27:eb:d7:4f:cb:33:19:fa:5f:ee:
|
||||
d8:13:e9:0c:07:ad:3b:c0:7f:10:d7:e4:ed:e8:db:16:e1:1f:
|
||||
a4:7f:16:3c:bd:d7:11:f2:d4:3a:a9:9b:95:e1:39:51:99:eb:
|
||||
5b:65:46:ef:63:84:73:95:23:b8:bf:b5:f6:4d:12:71:f7:ff:
|
||||
33:aa:4a:8c:65:73:73:89:69:df:a6:dc:a4:91:ff:ae:c7:28:
|
||||
93:b5:1a:de:a9:8f:2b:30:85:83:8b:99:82:ca:b3:7c:11:10:
|
||||
88:9d:8e:6c:2c:f3:05:6f:cb:80:85:16:b7:ed:e4:68:fb:b6:
|
||||
b6:31:8a:7d
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIE/zCCA+egAwIBAgIUXrqk9LH3SCXjX5vaoRPt1SsDZxUwDQYJKoZIhvcNAQEL
|
||||
BQAwgZQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5hMRAwDgYDVQQHDAdC
|
||||
b3plbWFuMREwDwYDVQQKDAhTYXd0b290aDETMBEGA1UECwwKQ29uc3VsdGluZzEY
|
||||
MBYGA1UEAwwPd3d3LndvbGZzc2wuY29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdv
|
||||
bGZzc2wuY29tMB4XDTIwMDYxOTEzMjM0MVoXDTIzMDMxNjEzMjM0MVowgZQxCzAJ
|
||||
BgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5hMRAwDgYDVQQHDAdCb3plbWFuMREw
|
||||
DwYDVQQKDAhTYXd0b290aDETMBEGA1UECwwKQ29uc3VsdGluZzEYMBYGA1UEAwwP
|
||||
d3d3LndvbGZzc2wuY29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29t
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvwzKLRSyHoRCW804H0ry
|
||||
TXUQ8bY1n9/KfQOY06zeA2buKvHYsH1uB1QLEJghTYDLEiDnzE/eRX3Jcncy6sqQ
|
||||
u2lSEAMvqPOVxfGLYlYb72dvpBBBla0Km+OlwLDScHZQMFuo6AgsfO2nonqNOCkc
|
||||
rMft8nyVsJWCfUlcOM13Je+9gHVTlDw9ymNbnxW10x0TLxnRPNt2Osy4fcnlwtfa
|
||||
QG/YIdxzG0ItU5z+Gvx9q3o2P5jehHwFZ85qFDiHqfGMtWjLaH9xICv1oGP1Vi+j
|
||||
JtK3b7FaF9c4mQj+k1hv/sMTSQgWC6dNZwBSMWcjTpjtUUUduQTZC+zYKLNLve02
|
||||
eQIDAQABo4IBRTCCAUEwHQYDVR0OBBYEFCeOZxF0wyYdP+0zY7Ok2B0w5ejVMIHU
|
||||
BgNVHSMEgcwwgcmAFCeOZxF0wyYdP+0zY7Ok2B0w5ejVoYGapIGXMIGUMQswCQYD
|
||||
VQQGEwJVUzEQMA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8G
|
||||
A1UECgwIU2F3dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3
|
||||
dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbYIU
|
||||
Xrqk9LH3SCXjX5vaoRPt1SsDZxUwDAYDVR0TBAUwAwEB/zAcBgNVHREEFTATggtl
|
||||
eGFtcGxlLmNvbYcEfwAAATAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
|
||||
DQYJKoZIhvcNAQELBQADggEBALntlD4Acy2l0QSz+9zwtw09rZZ0TJJnrW184plq
|
||||
M8qyDwRapWf44ws99dBbHiBSEpIo6jGjUZ6L0jnkJephYUEWLVRQ0/vQNAAQ8Xu8
|
||||
8Ain9SdefkCdmbDTMRHDnalRoBfPgyxVhODVkqAFOp+4dfgb5fekbOmqJYsZk0Yf
|
||||
PzOvRynPe4tZJ+vXT8szGfpf7tgT6QwHrTvAfxDX5O3o2xbhH6R/Fjy91xHy1Dqp
|
||||
m5XhOVGZ61tlRu9jhHOVI7i/tfZNEnH3/zOqSoxlc3OJad+m3KSR/67HKJO1Gt6p
|
||||
jyswhYOLmYLKs3wREIidjmws8wVvy4CFFrft5Gj7trYxin0=
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,27 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
MIIEpQIBAAKCAQEAwJUI4VdB8nFtt9JFQScBZcZFrvK8JDC4lc4vTtb2HIi8fJ/7
|
||||
qGd//lycUXX3isoH5zUvj+G9e8AvfKtkqBf8yl17uuAh5XIuby6G2JVz2qwbU7lf
|
||||
P9cZDSVP4WNjUYsLZD+tQ7ilHFw0s64AoGPF9n8LWWh4c6aMGKkCba/DGQEuuBDj
|
||||
xsxAtGmjRjNph27Euxem8+jdrXO8ey8htf1mUQy9VLPhbV8cvCNz0QkDiRTSELlk
|
||||
wyrQoZZKvOHUGlvHoMDBY3gPRDcwMpaAMiOVoXe6E9KXc+JdJclqDcM5YKS0sGlC
|
||||
Qgnp2Ai8MyCzWCKnquvE4eZhg8XSlt/Z0E+t1wIDAQABAoIBAQCa0DQPUmIFUAHv
|
||||
n+1kbsLE2hryhNeSEEiSxOlq64t1bMZ5OPLJckqGZFSVd8vDmp231B2kAMieTuTd
|
||||
x7pnFsF0vKnWlI8rMBr77d8hBSPZSjm9mGtlmrjcxH3upkMVLj2+HSJgKnMw1T7Y
|
||||
oqyGQy7E9WReP4l1DxHYUSVOn9iqo85gs+KK2X4b8GTKmlsFC1uqy+XjP24yIgXz
|
||||
0PrvdFKB4l90073/MYNFdfpjepcu1rYZxpIm5CgGUFAOeC6peA0Ul7QS2DFAq6EB
|
||||
QcIw+AdfFuRhd9Jg8p+N6PS662PeKpeB70xs5lU0USsoNPRTHMRYCj+7r7X3SoVD
|
||||
LTzxWFiBAoGBAPIsVHY5I2PJEDK3k62vvhl1loFk5rW4iUJB0W3QHBv4G6xpyzY8
|
||||
ZH3c9Bm4w2CxV0hfUk9ZOlV/MsAZQ1A/rs5vF/MOn0DKTq0VO8l56cBZOHNwnAp8
|
||||
yTpIMqfYSXUKhcLC/RVz2pkJKmmanwpxv7AEpox6Wm9IWlQ7xrFTF9/nAoGBAMuT
|
||||
3ncVXbdcXHzYkKmYLdZpDmOzo9ymzItqpKISjI57SCyySzfcBhh96v52odSh6T8N
|
||||
zRtfr1+elltbD6F8r7ObkNtXczrtsCNErkFPHwdCEyNMy/r0FKTV9542fFufqDzB
|
||||
hV900jkt/9CE3/uzIHoumxeu5roLrl9TpFLtG8SRAoGBAOyY2rvV/vlSSn0CVUlv
|
||||
VW5SL4SjK7OGYrNU0mNS2uOIdqDvixWl0xgUcndex6MEH54ZYrUbG57D8rUy+UzB
|
||||
qusMJn3UX0pRXKRFBnBEp1bA1CIUdp7YY1CJkNPiv4GVkjFBhzkaQwsYpVMfORpf
|
||||
H0O8h2rfbtMiAP4imHBOGhkpAoGBAIpBVihRnl/Ungs7mKNU8mxW1KrpaTOFJAza
|
||||
1AwtxL9PAmk4fNTm3Ezt1xYRwz4A58MmwFEC3rt1nG9WnHrzju/PisUr0toGakTJ
|
||||
c/5umYf4W77xfOZltU9s8MnF/xbKixsX4lg9ojerAby/QM5TjI7t7+5ZneBj5nxe
|
||||
9Y5L8TvBAoGATUX5QIzFW/QqGoq08hysa+kMVja3TnKW1eWK0uL/8fEYEz2GCbjY
|
||||
dqfJHHFSlDBD4PF4dP1hG0wJzOZoKnGtHN9DvFbbpaS+NXCkXs9P/ABVmTo9I89n
|
||||
WvUi+LUp0EQR6zUuRr79jhiyX6i/GTKh9dwD5nyaHwx8qbAOITc78bA=
|
||||
-----END RSA PRIVATE KEY-----
|
||||
+101
@@ -0,0 +1,101 @@
|
||||
/* user_settings.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
/*-- Cipher related definitions -----------------------------------------------
|
||||
*
|
||||
*
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
#define HAVE_FIPS
|
||||
#define HAVE_FIPS_VERSION 3
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
#define HAVE_FFDHE_2048
|
||||
|
||||
#ifndef WOLFSSL_OPTIONS_IGNORE_SYS
|
||||
#undef _POSIX_THREADS
|
||||
#define _POSIX_THREADS
|
||||
#endif
|
||||
|
||||
#define HAVE_THREAD_LS
|
||||
#define TFM_TIMING_RESISTANT
|
||||
#define ECC_TIMING_RESISTANT
|
||||
#define WC_RSA_BLINDING
|
||||
#define HAVE_AESGCM
|
||||
#define WOLFSSL_SHA512
|
||||
#define WOLFSSL_SHA384
|
||||
#define HAVE_HKDF
|
||||
#define NO_DSA
|
||||
#define HAVE_ECC
|
||||
#define TFM_ECC256
|
||||
#define ECC_SHAMIR
|
||||
#define WC_RSA_PSS
|
||||
#define WOLFSSL_BASE64_ENCODE
|
||||
#define NO_RC4
|
||||
#define NO_HC128
|
||||
#define NO_RABBIT
|
||||
#define WOLFSSL_KEY_GEN
|
||||
#define WOLFSSL_SHA224
|
||||
#define WOLFSSL_AES_DIRECT
|
||||
#define HAVE_AES_ECB
|
||||
#define HAVE_ECC_CDH
|
||||
#define WC_RSA_NO_PADDING
|
||||
#define WOLFSSL_VALIDATE_FFC_IMPORT
|
||||
#define HAVE_FFDHE_Q
|
||||
#define WOLFSSL_NO_SHAKE256
|
||||
#define HAVE_AESCCM
|
||||
#define WOLFSSL_VALIDATE_ECC_IMPORT
|
||||
#define WOLFSSL_AES_COUNTER
|
||||
#define WOLFSSL_CMAC
|
||||
#define WOLFSSL_SHA224
|
||||
#define WOLFSSL_SHA3
|
||||
#define WOLFSSL_SHAKE256
|
||||
#define HAVE_HASHDRBG
|
||||
#define HAVE_TLS_EXTENSIONS
|
||||
#define HAVE_SUPPORTED_CURVES
|
||||
#define HAVE_EXTENDED_MASTER
|
||||
#define NO_RC4
|
||||
#define HAVE_ENCRYPT_THEN_MAC
|
||||
#define NO_PSK
|
||||
#define NO_MD4
|
||||
#define NO_PWDBASED
|
||||
#define USE_FAST_MATH
|
||||
#define WOLFSSL_X86_64_BUILD
|
||||
#define WC_NO_ASYNC_THREADING
|
||||
#define HAVE_DH_DEFAULT_PARAMS
|
||||
#define HAVE___UINT128_T 1
|
||||
|
||||
|
||||
|
||||
/*-- Debugging options ------------------------------------------------------
|
||||
*
|
||||
* "DEBUG_WOLFSSL" definition enables log to output into stdout.
|
||||
* Note: wolfSSL_Debugging_ON() must be called just after wolfSSL_Init().
|
||||
*----------------------------------------------------------------------------*/
|
||||
|
||||
/*#define DEBUG_WOLFSSL*/
|
||||
|
||||
|
||||
@@ -73,8 +73,8 @@ uint32_t ulCount = 0UL;
|
||||
xConnection.sin_addr.s_addr = inet_addr("127.0.0.1");
|
||||
xConnection.sin_port = htons( configTCP_PORT_NUMBER );
|
||||
|
||||
/* Attempt to create a context that uses the TLS 1.2 server protocol. */
|
||||
xWolfSSL_ClientContext = wolfSSL_CTX_new( wolfTLSv1_2_client_method() );
|
||||
/* Attempt to create a context that uses the TLS 1.3 server protocol. */
|
||||
xWolfSSL_ClientContext = wolfSSL_CTX_new( wolfTLSv1_3_client_method() );
|
||||
configASSERT( xWolfSSL_ClientContext );
|
||||
|
||||
/* Load the CA certificate. */
|
||||
|
||||
@@ -224,8 +224,8 @@ int32_t iReturn;
|
||||
are called. */
|
||||
wolfSSL_Init();
|
||||
|
||||
/* Attempt to create a context that uses the TLS 1.2 server protocol. */
|
||||
xWolfSSL_ServerContext = wolfSSL_CTX_new( wolfTLSv1_2_server_method() );
|
||||
/* Attempt to create a context that uses the TLS 1.3 server protocol. */
|
||||
xWolfSSL_ServerContext = wolfSSL_CTX_new( wolfTLSv1_3_server_method() );
|
||||
|
||||
if( xWolfSSL_ServerContext != NULL )
|
||||
{
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 9727763710660753659 (0x86fff58e10deb8fb)
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
Issuer: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.wolfssl.com/emailAddress=info@wolfssl.com
|
||||
Serial Number:
|
||||
5e:ba:a4:f4:b1:f7:48:25:e3:5f:9b:da:a1:13:ed:d5:2b:03:67:15
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
Issuer: C = US, ST = Montana, L = Bozeman, O = Sawtooth, OU = Consulting, CN = www.wolfssl.com, emailAddress = info@wolfssl.com
|
||||
Validity
|
||||
Not Before: Apr 13 15:23:09 2018 GMT
|
||||
Not After : Jan 7 15:23:09 2021 GMT
|
||||
Subject: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.wolfssl.com/emailAddress=info@wolfssl.com
|
||||
Not Before: Jun 19 13:23:41 2020 GMT
|
||||
Not After : Mar 16 13:23:41 2023 GMT
|
||||
Subject: C = US, ST = Montana, L = Bozeman, O = Sawtooth, OU = Consulting, CN = www.wolfssl.com, emailAddress = info@wolfssl.com
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
Public-Key: (2048 bit)
|
||||
RSA Public-Key: (2048 bit)
|
||||
Modulus:
|
||||
00:bf:0c:ca:2d:14:b2:1e:84:42:5b:cd:38:1f:4a:
|
||||
f2:4d:75:10:f1:b6:35:9f:df:ca:7d:03:98:d3:ac:
|
||||
@@ -37,50 +38,56 @@ Certificate:
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5
|
||||
DirName:/C=US/ST=Montana/L=Bozeman/O=Sawtooth/OU=Consulting/CN=www.wolfssl.com/emailAddress=info@wolfssl.com
|
||||
serial:86:FF:F5:8E:10:DE:B8:FB
|
||||
serial:5E:BA:A4:F4:B1:F7:48:25:E3:5F:9B:DA:A1:13:ED:D5:2B:03:67:15
|
||||
|
||||
X509v3 Basic Constraints:
|
||||
CA:TRUE
|
||||
X509v3 Subject Alternative Name:
|
||||
DNS:example.com, IP Address:127.0.0.1
|
||||
X509v3 Extended Key Usage:
|
||||
TLS Web Server Authentication, TLS Web Client Authentication
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
9e:28:88:72:00:ca:e6:e7:97:ca:c1:f1:1f:9e:12:b2:b8:c7:
|
||||
51:ea:28:e1:36:b5:2d:e6:2f:08:23:cb:a9:4a:87:25:c6:5d:
|
||||
89:45:ea:f5:00:98:ac:76:fb:1b:af:f0:ce:64:9e:da:08:bf:
|
||||
b6:eb:b4:b5:0c:a0:e7:f6:47:59:1c:61:cf:2e:0e:58:a4:82:
|
||||
ac:0f:3f:ec:c4:ae:80:f7:b0:8a:1e:85:41:e8:ff:fe:fe:4f:
|
||||
1a:24:d5:49:fa:fb:fe:5e:e5:d3:91:0e:4f:4e:0c:21:51:71:
|
||||
83:04:6b:62:7b:4f:59:76:48:81:1e:b4:f7:04:47:8a:91:57:
|
||||
a3:11:a9:f2:20:b4:78:33:62:3d:b0:5e:0d:f9:86:38:82:da:
|
||||
a1:98:8d:19:06:87:21:39:b7:02:f7:da:7d:58:ba:52:15:d8:
|
||||
3b:c9:7b:58:34:a0:c7:e2:7c:a9:83:13:e1:b6:ec:01:bf:52:
|
||||
33:0b:c4:fe:43:d3:c6:a4:8e:2f:87:7f:7a:44:ea:ca:53:6c:
|
||||
85:ed:65:76:73:31:03:4e:ea:bd:35:54:13:f3:64:87:6b:df:
|
||||
34:dd:34:a1:88:3b:db:4d:af:1b:64:90:92:71:30:8e:c8:cc:
|
||||
e5:60:24:af:31:16:39:33:91:50:f9:ab:68:42:74:7a:35:d9:
|
||||
dd:c8:c4:52
|
||||
b9:ed:94:3e:00:73:2d:a5:d1:04:b3:fb:dc:f0:b7:0d:3d:ad:
|
||||
96:74:4c:92:67:ad:6d:7c:e2:99:6a:33:ca:b2:0f:04:5a:a5:
|
||||
67:f8:e3:0b:3d:f5:d0:5b:1e:20:52:12:92:28:ea:31:a3:51:
|
||||
9e:8b:d2:39:e4:25:ea:61:61:41:16:2d:54:50:d3:fb:d0:34:
|
||||
00:10:f1:7b:bc:f0:08:a7:f5:27:5e:7e:40:9d:99:b0:d3:31:
|
||||
11:c3:9d:a9:51:a0:17:cf:83:2c:55:84:e0:d5:92:a0:05:3a:
|
||||
9f:b8:75:f8:1b:e5:f7:a4:6c:e9:aa:25:8b:19:93:46:1f:3f:
|
||||
33:af:47:29:cf:7b:8b:59:27:eb:d7:4f:cb:33:19:fa:5f:ee:
|
||||
d8:13:e9:0c:07:ad:3b:c0:7f:10:d7:e4:ed:e8:db:16:e1:1f:
|
||||
a4:7f:16:3c:bd:d7:11:f2:d4:3a:a9:9b:95:e1:39:51:99:eb:
|
||||
5b:65:46:ef:63:84:73:95:23:b8:bf:b5:f6:4d:12:71:f7:ff:
|
||||
33:aa:4a:8c:65:73:73:89:69:df:a6:dc:a4:91:ff:ae:c7:28:
|
||||
93:b5:1a:de:a9:8f:2b:30:85:83:8b:99:82:ca:b3:7c:11:10:
|
||||
88:9d:8e:6c:2c:f3:05:6f:cb:80:85:16:b7:ed:e4:68:fb:b6:
|
||||
b6:31:8a:7d
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEqjCCA5KgAwIBAgIJAIb/9Y4Q3rj7MA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD
|
||||
MIIE/zCCA+egAwIBAgIUXrqk9LH3SCXjX5vaoRPt1SsDZxUwDQYJKoZIhvcNAQEL
|
||||
BQAwgZQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5hMRAwDgYDVQQHDAdC
|
||||
b3plbWFuMREwDwYDVQQKDAhTYXd0b290aDETMBEGA1UECwwKQ29uc3VsdGluZzEY
|
||||
MBYGA1UEAwwPd3d3LndvbGZzc2wuY29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdv
|
||||
bGZzc2wuY29tMB4XDTIwMDYxOTEzMjM0MVoXDTIzMDMxNjEzMjM0MVowgZQxCzAJ
|
||||
BgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5hMRAwDgYDVQQHDAdCb3plbWFuMREw
|
||||
DwYDVQQKDAhTYXd0b290aDETMBEGA1UECwwKQ29uc3VsdGluZzEYMBYGA1UEAwwP
|
||||
d3d3LndvbGZzc2wuY29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29t
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvwzKLRSyHoRCW804H0ry
|
||||
TXUQ8bY1n9/KfQOY06zeA2buKvHYsH1uB1QLEJghTYDLEiDnzE/eRX3Jcncy6sqQ
|
||||
u2lSEAMvqPOVxfGLYlYb72dvpBBBla0Km+OlwLDScHZQMFuo6AgsfO2nonqNOCkc
|
||||
rMft8nyVsJWCfUlcOM13Je+9gHVTlDw9ymNbnxW10x0TLxnRPNt2Osy4fcnlwtfa
|
||||
QG/YIdxzG0ItU5z+Gvx9q3o2P5jehHwFZ85qFDiHqfGMtWjLaH9xICv1oGP1Vi+j
|
||||
JtK3b7FaF9c4mQj+k1hv/sMTSQgWC6dNZwBSMWcjTpjtUUUduQTZC+zYKLNLve02
|
||||
eQIDAQABo4IBRTCCAUEwHQYDVR0OBBYEFCeOZxF0wyYdP+0zY7Ok2B0w5ejVMIHU
|
||||
BgNVHSMEgcwwgcmAFCeOZxF0wyYdP+0zY7Ok2B0w5ejVoYGapIGXMIGUMQswCQYD
|
||||
VQQGEwJVUzEQMA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8G
|
||||
A1UECgwIU2F3dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3
|
||||
dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTAe
|
||||
Fw0xODA0MTMxNTIzMDlaFw0yMTAxMDcxNTIzMDlaMIGUMQswCQYDVQQGEwJVUzEQ
|
||||
MA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8GA1UECgwIU2F3
|
||||
dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3dy53b2xmc3Ns
|
||||
LmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTCCASIwDQYJKoZI
|
||||
hvcNAQEBBQADggEPADCCAQoCggEBAL8Myi0Ush6EQlvNOB9K8k11EPG2NZ/fyn0D
|
||||
mNOs3gNm7irx2LB9bgdUCxCYIU2AyxIg58xP3kV9yXJ3MurKkLtpUhADL6jzlcXx
|
||||
i2JWG+9nb6QQQZWtCpvjpcCw0nB2UDBbqOgILHztp6J6jTgpHKzH7fJ8lbCVgn1J
|
||||
XDjNdyXvvYB1U5Q8PcpjW58VtdMdEy8Z0TzbdjrMuH3J5cLX2kBv2CHccxtCLVOc
|
||||
/hr8fat6Nj+Y3oR8BWfOahQ4h6nxjLVoy2h/cSAr9aBj9VYvoybSt2+xWhfXOJkI
|
||||
/pNYb/7DE0kIFgunTWcAUjFnI06Y7VFFHbkE2Qvs2CizS73tNnkCAwEAAaOB/DCB
|
||||
+TAdBgNVHQ4EFgQUJ45nEXTDJh0/7TNjs6TYHTDl6NUwgckGA1UdIwSBwTCBvoAU
|
||||
J45nEXTDJh0/7TNjs6TYHTDl6NWhgZqkgZcwgZQxCzAJBgNVBAYTAlVTMRAwDgYD
|
||||
VQQIDAdNb250YW5hMRAwDgYDVQQHDAdCb3plbWFuMREwDwYDVQQKDAhTYXd0b290
|
||||
aDETMBEGA1UECwwKQ29uc3VsdGluZzEYMBYGA1UEAwwPd3d3LndvbGZzc2wuY29t
|
||||
MR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29tggkAhv/1jhDeuPswDAYD
|
||||
VR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAniiIcgDK5ueXysHxH54SsrjH
|
||||
Ueoo4Ta1LeYvCCPLqUqHJcZdiUXq9QCYrHb7G6/wzmSe2gi/tuu0tQyg5/ZHWRxh
|
||||
zy4OWKSCrA8/7MSugPewih6FQej//v5PGiTVSfr7/l7l05EOT04MIVFxgwRrYntP
|
||||
WXZIgR609wRHipFXoxGp8iC0eDNiPbBeDfmGOILaoZiNGQaHITm3AvfafVi6UhXY
|
||||
O8l7WDSgx+J8qYMT4bbsAb9SMwvE/kPTxqSOL4d/ekTqylNshe1ldnMxA07qvTVU
|
||||
E/Nkh2vfNN00oYg7202vG2SQknEwjsjM5WAkrzEWOTORUPmraEJ0ejXZ3cjEUg==
|
||||
dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbYIU
|
||||
Xrqk9LH3SCXjX5vaoRPt1SsDZxUwDAYDVR0TBAUwAwEB/zAcBgNVHREEFTATggtl
|
||||
eGFtcGxlLmNvbYcEfwAAATAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
|
||||
DQYJKoZIhvcNAQELBQADggEBALntlD4Acy2l0QSz+9zwtw09rZZ0TJJnrW184plq
|
||||
M8qyDwRapWf44ws99dBbHiBSEpIo6jGjUZ6L0jnkJephYUEWLVRQ0/vQNAAQ8Xu8
|
||||
8Ain9SdefkCdmbDTMRHDnalRoBfPgyxVhODVkqAFOp+4dfgb5fekbOmqJYsZk0Yf
|
||||
PzOvRynPe4tZJ+vXT8szGfpf7tgT6QwHrTvAfxDX5O3o2xbhH6R/Fjy91xHy1Dqp
|
||||
m5XhOVGZ61tlRu9jhHOVI7i/tfZNEnH3/zOqSoxlc3OJad+m3KSR/67HKJO1Gt6p
|
||||
jyswhYOLmYLKs3wREIidjmws8wVvy4CFFrft5Gj7trYxin0=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
@@ -2,15 +2,15 @@ Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 1 (0x1)
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
Issuer: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.wolfssl.com/emailAddress=info@wolfssl.com
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
Issuer: C = US, ST = Montana, L = Bozeman, O = Sawtooth, OU = Consulting, CN = www.wolfssl.com, emailAddress = info@wolfssl.com
|
||||
Validity
|
||||
Not Before: Apr 13 15:23:10 2018 GMT
|
||||
Not After : Jan 7 15:23:10 2021 GMT
|
||||
Subject: C=US, ST=Montana, L=Bozeman, O=wolfSSL, OU=Support, CN=www.wolfssl.com/emailAddress=info@wolfssl.com
|
||||
Not Before: Jun 19 13:23:41 2020 GMT
|
||||
Not After : Mar 16 13:23:41 2023 GMT
|
||||
Subject: C = US, ST = Montana, L = Bozeman, O = wolfSSL, OU = Support, CN = www.wolfssl.com, emailAddress = info@wolfssl.com
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
Public-Key: (2048 bit)
|
||||
RSA Public-Key: (2048 bit)
|
||||
Modulus:
|
||||
00:c0:95:08:e1:57:41:f2:71:6d:b7:d2:45:41:27:
|
||||
01:65:c6:45:ae:f2:bc:24:30:b8:95:ce:2f:4e:d6:
|
||||
@@ -37,32 +37,36 @@ Certificate:
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5
|
||||
DirName:/C=US/ST=Montana/L=Bozeman/O=Sawtooth/OU=Consulting/CN=www.wolfssl.com/emailAddress=info@wolfssl.com
|
||||
serial:86:FF:F5:8E:10:DE:B8:FB
|
||||
serial:5E:BA:A4:F4:B1:F7:48:25:E3:5F:9B:DA:A1:13:ED:D5:2B:03:67:15
|
||||
|
||||
X509v3 Basic Constraints:
|
||||
CA:TRUE
|
||||
X509v3 Subject Alternative Name:
|
||||
DNS:example.com, IP Address:127.0.0.1
|
||||
X509v3 Extended Key Usage:
|
||||
TLS Web Server Authentication, TLS Web Client Authentication
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
b4:54:60:ad:a0:03:32:de:02:7f:21:4a:81:c6:ed:cd:cd:d8:
|
||||
12:8a:c0:ba:82:5b:75:ad:54:e3:7c:80:6a:ac:2e:6c:20:4e:
|
||||
be:4d:82:a7:47:13:5c:f4:c6:6a:2b:10:99:58:de:ab:6b:7c:
|
||||
22:05:c1:83:9d:cb:ff:3c:e4:2d:57:6a:a6:96:df:d3:c1:68:
|
||||
e3:d2:c6:83:4b:97:e2:c6:32:0e:be:c4:03:b9:07:8a:5b:b8:
|
||||
84:ba:c5:39:3f:1c:58:a7:55:d7:f0:9b:e8:d2:45:b9:e3:83:
|
||||
2e:ee:b6:71:56:b9:3a:ee:3f:27:d8:77:e8:fb:44:48:65:27:
|
||||
47:4c:fb:fe:72:c3:ac:05:7b:1d:cb:eb:5e:65:9a:ab:02:e4:
|
||||
88:5b:3b:8b:0b:c7:cc:a9:a6:8b:e1:87:b0:19:1a:0c:28:58:
|
||||
6f:99:52:7e:ed:b0:3a:68:3b:8c:0a:08:74:72:ab:b9:09:c5:
|
||||
ed:04:7e:6f:0b:1c:09:21:d0:cd:7f:f9:c4:5e:27:20:e4:85:
|
||||
73:52:05:d2:ba:f8:d5:8f:41:cc:23:2e:12:6d:bc:31:98:e7:
|
||||
63:a3:8e:26:cd:e8:2b:88:ee:e2:fe:3a:74:52:34:0e:fd:12:
|
||||
e5:5e:69:50:20:31:34:e4:31:f1:e7:e4:5b:03:13:da:ac:41:
|
||||
6c:e7:cf:2b
|
||||
35:91:e6:72:cc:0b:f1:47:8f:3d:e3:5d:52:2f:83:b8:b1:3b:
|
||||
6d:d6:ac:13:79:74:14:ff:07:8d:ee:74:77:64:ff:b8:83:1d:
|
||||
81:80:84:bb:38:fa:8f:f3:75:29:23:ce:e5:09:a8:13:85:14:
|
||||
b6:6a:35:30:2c:1c:c4:0f:23:67:ea:ed:cb:91:c4:05:e3:ec:
|
||||
6b:be:11:bf:d9:9a:ab:93:17:9f:e4:9a:59:d4:e7:cc:ce:dc:
|
||||
83:10:f5:cd:de:d7:35:75:4b:aa:7a:7a:ba:02:a0:b0:b5:c1:
|
||||
8a:6b:b1:72:cf:64:59:4e:d3:a4:a1:6c:64:4b:14:cf:a3:d6:
|
||||
37:0a:e6:f9:5b:21:be:de:0c:c1:cf:43:e1:18:0b:19:13:6b:
|
||||
8e:3d:df:0f:a7:43:fb:35:67:4a:50:e8:09:46:34:bd:f4:ab:
|
||||
1a:8f:bd:4d:1c:6b:20:be:1c:8c:ca:66:98:ba:03:67:f2:1c:
|
||||
3c:1e:01:f0:4d:c6:85:82:6f:a9:49:f7:1b:7d:6b:db:76:84:
|
||||
73:bb:16:c5:6e:74:ab:7b:fb:1c:e9:91:bb:29:73:1c:de:27:
|
||||
b4:67:3b:10:51:f4:17:eb:b8:38:a0:9a:eb:37:5b:76:8f:39:
|
||||
12:39:35:d1:ca:fe:c0:26:fb:73:50:1e:2d:b9:d2:ba:e5:4c:
|
||||
35:bd:ed:7b
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEnjCCA4agAwIBAgIBATANBgkqhkiG9w0BAQsFADCBlDELMAkGA1UEBhMCVVMx
|
||||
MIIE6DCCA9CgAwIBAgIBATANBgkqhkiG9w0BAQsFADCBlDELMAkGA1UEBhMCVVMx
|
||||
EDAOBgNVBAgMB01vbnRhbmExEDAOBgNVBAcMB0JvemVtYW4xETAPBgNVBAoMCFNh
|
||||
d3Rvb3RoMRMwEQYDVQQLDApDb25zdWx0aW5nMRgwFgYDVQQDDA93d3cud29sZnNz
|
||||
bC5jb20xHzAdBgkqhkiG9w0BCQEWEGluZm9Ad29sZnNzbC5jb20wHhcNMTgwNDEz
|
||||
MTUyMzEwWhcNMjEwMTA3MTUyMzEwWjCBkDELMAkGA1UEBhMCVVMxEDAOBgNVBAgM
|
||||
bC5jb20xHzAdBgkqhkiG9w0BCQEWEGluZm9Ad29sZnNzbC5jb20wHhcNMjAwNjE5
|
||||
MTMyMzQxWhcNMjMwMzE2MTMyMzQxWjCBkDELMAkGA1UEBhMCVVMxEDAOBgNVBAgM
|
||||
B01vbnRhbmExEDAOBgNVBAcMB0JvemVtYW4xEDAOBgNVBAoMB3dvbGZTU0wxEDAO
|
||||
BgNVBAsMB1N1cHBvcnQxGDAWBgNVBAMMD3d3dy53b2xmc3NsLmNvbTEfMB0GCSqG
|
||||
SIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
||||
@@ -71,32 +75,35 @@ f/5cnFF194rKB+c1L4/hvXvAL3yrZKgX/Mpde7rgIeVyLm8uhtiVc9qsG1O5Xz/X
|
||||
GQ0lT+FjY1GLC2Q/rUO4pRxcNLOuAKBjxfZ/C1loeHOmjBipAm2vwxkBLrgQ48bM
|
||||
QLRpo0YzaYduxLsXpvPo3a1zvHsvIbX9ZlEMvVSz4W1fHLwjc9EJA4kU0hC5ZMMq
|
||||
0KGWSrzh1Bpbx6DAwWN4D0Q3MDKWgDIjlaF3uhPSl3PiXSXJag3DOWCktLBpQkIJ
|
||||
6dgIvDMgs1gip6rrxOHmYYPF0pbf2dBPrdcCAwEAAaOB/DCB+TAdBgNVHQ4EFgQU
|
||||
sxEyyZKYhOLJ+NA7bgNCyh8OjjwwgckGA1UdIwSBwTCBvoAUJ45nEXTDJh0/7TNj
|
||||
s6TYHTDl6NWhgZqkgZcwgZQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5h
|
||||
MRAwDgYDVQQHDAdCb3plbWFuMREwDwYDVQQKDAhTYXd0b290aDETMBEGA1UECwwK
|
||||
Q29uc3VsdGluZzEYMBYGA1UEAwwPd3d3LndvbGZzc2wuY29tMR8wHQYJKoZIhvcN
|
||||
AQkBFhBpbmZvQHdvbGZzc2wuY29tggkAhv/1jhDeuPswDAYDVR0TBAUwAwEB/zAN
|
||||
BgkqhkiG9w0BAQsFAAOCAQEAtFRgraADMt4CfyFKgcbtzc3YEorAuoJbda1U43yA
|
||||
aqwubCBOvk2Cp0cTXPTGaisQmVjeq2t8IgXBg53L/zzkLVdqppbf08Fo49LGg0uX
|
||||
4sYyDr7EA7kHilu4hLrFOT8cWKdV1/Cb6NJFueODLu62cVa5Ou4/J9h36PtESGUn
|
||||
R0z7/nLDrAV7HcvrXmWaqwLkiFs7iwvHzKmmi+GHsBkaDChYb5lSfu2wOmg7jAoI
|
||||
dHKruQnF7QR+bwscCSHQzX/5xF4nIOSFc1IF0rr41Y9BzCMuEm28MZjnY6OOJs3o
|
||||
K4ju4v46dFI0Dv0S5V5pUCAxNOQx8efkWwMT2qxBbOfPKw==
|
||||
6dgIvDMgs1gip6rrxOHmYYPF0pbf2dBPrdcCAwEAAaOCAUUwggFBMB0GA1UdDgQW
|
||||
BBSzETLJkpiE4sn40DtuA0LKHw6OPDCB1AYDVR0jBIHMMIHJgBQnjmcRdMMmHT/t
|
||||
M2OzpNgdMOXo1aGBmqSBlzCBlDELMAkGA1UEBhMCVVMxEDAOBgNVBAgMB01vbnRh
|
||||
bmExEDAOBgNVBAcMB0JvemVtYW4xETAPBgNVBAoMCFNhd3Rvb3RoMRMwEQYDVQQL
|
||||
DApDb25zdWx0aW5nMRgwFgYDVQQDDA93d3cud29sZnNzbC5jb20xHzAdBgkqhkiG
|
||||
9w0BCQEWEGluZm9Ad29sZnNzbC5jb22CFF66pPSx90gl41+b2qET7dUrA2cVMAwG
|
||||
A1UdEwQFMAMBAf8wHAYDVR0RBBUwE4ILZXhhbXBsZS5jb22HBH8AAAEwHQYDVR0l
|
||||
BBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBCwUAA4IBAQA1keZy
|
||||
zAvxR489411SL4O4sTtt1qwTeXQU/weN7nR3ZP+4gx2BgIS7OPqP83UpI87lCagT
|
||||
hRS2ajUwLBzEDyNn6u3LkcQF4+xrvhG/2Zqrkxef5JpZ1OfMztyDEPXN3tc1dUuq
|
||||
enq6AqCwtcGKa7Fyz2RZTtOkoWxkSxTPo9Y3Cub5WyG+3gzBz0PhGAsZE2uOPd8P
|
||||
p0P7NWdKUOgJRjS99Ksaj71NHGsgvhyMymaYugNn8hw8HgHwTcaFgm+pSfcbfWvb
|
||||
doRzuxbFbnSre/sc6ZG7KXMc3ie0ZzsQUfQX67g4oJrrN1t2jzkSOTXRyv7AJvtz
|
||||
UB4tudK65Uw1ve17
|
||||
-----END CERTIFICATE-----
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
Serial Number: 9727763710660753659 (0x86fff58e10deb8fb)
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
Issuer: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.wolfssl.com/emailAddress=info@wolfssl.com
|
||||
Serial Number:
|
||||
5e:ba:a4:f4:b1:f7:48:25:e3:5f:9b:da:a1:13:ed:d5:2b:03:67:15
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
Issuer: C = US, ST = Montana, L = Bozeman, O = Sawtooth, OU = Consulting, CN = www.wolfssl.com, emailAddress = info@wolfssl.com
|
||||
Validity
|
||||
Not Before: Apr 13 15:23:09 2018 GMT
|
||||
Not After : Jan 7 15:23:09 2021 GMT
|
||||
Subject: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.wolfssl.com/emailAddress=info@wolfssl.com
|
||||
Not Before: Jun 19 13:23:41 2020 GMT
|
||||
Not After : Mar 16 13:23:41 2023 GMT
|
||||
Subject: C = US, ST = Montana, L = Bozeman, O = Sawtooth, OU = Consulting, CN = www.wolfssl.com, emailAddress = info@wolfssl.com
|
||||
Subject Public Key Info:
|
||||
Public Key Algorithm: rsaEncryption
|
||||
Public-Key: (2048 bit)
|
||||
RSA Public-Key: (2048 bit)
|
||||
Modulus:
|
||||
00:bf:0c:ca:2d:14:b2:1e:84:42:5b:cd:38:1f:4a:
|
||||
f2:4d:75:10:f1:b6:35:9f:df:ca:7d:03:98:d3:ac:
|
||||
@@ -123,50 +130,56 @@ Certificate:
|
||||
X509v3 Authority Key Identifier:
|
||||
keyid:27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5
|
||||
DirName:/C=US/ST=Montana/L=Bozeman/O=Sawtooth/OU=Consulting/CN=www.wolfssl.com/emailAddress=info@wolfssl.com
|
||||
serial:86:FF:F5:8E:10:DE:B8:FB
|
||||
serial:5E:BA:A4:F4:B1:F7:48:25:E3:5F:9B:DA:A1:13:ED:D5:2B:03:67:15
|
||||
|
||||
X509v3 Basic Constraints:
|
||||
CA:TRUE
|
||||
X509v3 Subject Alternative Name:
|
||||
DNS:example.com, IP Address:127.0.0.1
|
||||
X509v3 Extended Key Usage:
|
||||
TLS Web Server Authentication, TLS Web Client Authentication
|
||||
Signature Algorithm: sha256WithRSAEncryption
|
||||
9e:28:88:72:00:ca:e6:e7:97:ca:c1:f1:1f:9e:12:b2:b8:c7:
|
||||
51:ea:28:e1:36:b5:2d:e6:2f:08:23:cb:a9:4a:87:25:c6:5d:
|
||||
89:45:ea:f5:00:98:ac:76:fb:1b:af:f0:ce:64:9e:da:08:bf:
|
||||
b6:eb:b4:b5:0c:a0:e7:f6:47:59:1c:61:cf:2e:0e:58:a4:82:
|
||||
ac:0f:3f:ec:c4:ae:80:f7:b0:8a:1e:85:41:e8:ff:fe:fe:4f:
|
||||
1a:24:d5:49:fa:fb:fe:5e:e5:d3:91:0e:4f:4e:0c:21:51:71:
|
||||
83:04:6b:62:7b:4f:59:76:48:81:1e:b4:f7:04:47:8a:91:57:
|
||||
a3:11:a9:f2:20:b4:78:33:62:3d:b0:5e:0d:f9:86:38:82:da:
|
||||
a1:98:8d:19:06:87:21:39:b7:02:f7:da:7d:58:ba:52:15:d8:
|
||||
3b:c9:7b:58:34:a0:c7:e2:7c:a9:83:13:e1:b6:ec:01:bf:52:
|
||||
33:0b:c4:fe:43:d3:c6:a4:8e:2f:87:7f:7a:44:ea:ca:53:6c:
|
||||
85:ed:65:76:73:31:03:4e:ea:bd:35:54:13:f3:64:87:6b:df:
|
||||
34:dd:34:a1:88:3b:db:4d:af:1b:64:90:92:71:30:8e:c8:cc:
|
||||
e5:60:24:af:31:16:39:33:91:50:f9:ab:68:42:74:7a:35:d9:
|
||||
dd:c8:c4:52
|
||||
b9:ed:94:3e:00:73:2d:a5:d1:04:b3:fb:dc:f0:b7:0d:3d:ad:
|
||||
96:74:4c:92:67:ad:6d:7c:e2:99:6a:33:ca:b2:0f:04:5a:a5:
|
||||
67:f8:e3:0b:3d:f5:d0:5b:1e:20:52:12:92:28:ea:31:a3:51:
|
||||
9e:8b:d2:39:e4:25:ea:61:61:41:16:2d:54:50:d3:fb:d0:34:
|
||||
00:10:f1:7b:bc:f0:08:a7:f5:27:5e:7e:40:9d:99:b0:d3:31:
|
||||
11:c3:9d:a9:51:a0:17:cf:83:2c:55:84:e0:d5:92:a0:05:3a:
|
||||
9f:b8:75:f8:1b:e5:f7:a4:6c:e9:aa:25:8b:19:93:46:1f:3f:
|
||||
33:af:47:29:cf:7b:8b:59:27:eb:d7:4f:cb:33:19:fa:5f:ee:
|
||||
d8:13:e9:0c:07:ad:3b:c0:7f:10:d7:e4:ed:e8:db:16:e1:1f:
|
||||
a4:7f:16:3c:bd:d7:11:f2:d4:3a:a9:9b:95:e1:39:51:99:eb:
|
||||
5b:65:46:ef:63:84:73:95:23:b8:bf:b5:f6:4d:12:71:f7:ff:
|
||||
33:aa:4a:8c:65:73:73:89:69:df:a6:dc:a4:91:ff:ae:c7:28:
|
||||
93:b5:1a:de:a9:8f:2b:30:85:83:8b:99:82:ca:b3:7c:11:10:
|
||||
88:9d:8e:6c:2c:f3:05:6f:cb:80:85:16:b7:ed:e4:68:fb:b6:
|
||||
b6:31:8a:7d
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEqjCCA5KgAwIBAgIJAIb/9Y4Q3rj7MA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD
|
||||
MIIE/zCCA+egAwIBAgIUXrqk9LH3SCXjX5vaoRPt1SsDZxUwDQYJKoZIhvcNAQEL
|
||||
BQAwgZQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5hMRAwDgYDVQQHDAdC
|
||||
b3plbWFuMREwDwYDVQQKDAhTYXd0b290aDETMBEGA1UECwwKQ29uc3VsdGluZzEY
|
||||
MBYGA1UEAwwPd3d3LndvbGZzc2wuY29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdv
|
||||
bGZzc2wuY29tMB4XDTIwMDYxOTEzMjM0MVoXDTIzMDMxNjEzMjM0MVowgZQxCzAJ
|
||||
BgNVBAYTAlVTMRAwDgYDVQQIDAdNb250YW5hMRAwDgYDVQQHDAdCb3plbWFuMREw
|
||||
DwYDVQQKDAhTYXd0b290aDETMBEGA1UECwwKQ29uc3VsdGluZzEYMBYGA1UEAwwP
|
||||
d3d3LndvbGZzc2wuY29tMR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29t
|
||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvwzKLRSyHoRCW804H0ry
|
||||
TXUQ8bY1n9/KfQOY06zeA2buKvHYsH1uB1QLEJghTYDLEiDnzE/eRX3Jcncy6sqQ
|
||||
u2lSEAMvqPOVxfGLYlYb72dvpBBBla0Km+OlwLDScHZQMFuo6AgsfO2nonqNOCkc
|
||||
rMft8nyVsJWCfUlcOM13Je+9gHVTlDw9ymNbnxW10x0TLxnRPNt2Osy4fcnlwtfa
|
||||
QG/YIdxzG0ItU5z+Gvx9q3o2P5jehHwFZ85qFDiHqfGMtWjLaH9xICv1oGP1Vi+j
|
||||
JtK3b7FaF9c4mQj+k1hv/sMTSQgWC6dNZwBSMWcjTpjtUUUduQTZC+zYKLNLve02
|
||||
eQIDAQABo4IBRTCCAUEwHQYDVR0OBBYEFCeOZxF0wyYdP+0zY7Ok2B0w5ejVMIHU
|
||||
BgNVHSMEgcwwgcmAFCeOZxF0wyYdP+0zY7Ok2B0w5ejVoYGapIGXMIGUMQswCQYD
|
||||
VQQGEwJVUzEQMA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8G
|
||||
A1UECgwIU2F3dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3
|
||||
dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTAe
|
||||
Fw0xODA0MTMxNTIzMDlaFw0yMTAxMDcxNTIzMDlaMIGUMQswCQYDVQQGEwJVUzEQ
|
||||
MA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8GA1UECgwIU2F3
|
||||
dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3dy53b2xmc3Ns
|
||||
LmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTCCASIwDQYJKoZI
|
||||
hvcNAQEBBQADggEPADCCAQoCggEBAL8Myi0Ush6EQlvNOB9K8k11EPG2NZ/fyn0D
|
||||
mNOs3gNm7irx2LB9bgdUCxCYIU2AyxIg58xP3kV9yXJ3MurKkLtpUhADL6jzlcXx
|
||||
i2JWG+9nb6QQQZWtCpvjpcCw0nB2UDBbqOgILHztp6J6jTgpHKzH7fJ8lbCVgn1J
|
||||
XDjNdyXvvYB1U5Q8PcpjW58VtdMdEy8Z0TzbdjrMuH3J5cLX2kBv2CHccxtCLVOc
|
||||
/hr8fat6Nj+Y3oR8BWfOahQ4h6nxjLVoy2h/cSAr9aBj9VYvoybSt2+xWhfXOJkI
|
||||
/pNYb/7DE0kIFgunTWcAUjFnI06Y7VFFHbkE2Qvs2CizS73tNnkCAwEAAaOB/DCB
|
||||
+TAdBgNVHQ4EFgQUJ45nEXTDJh0/7TNjs6TYHTDl6NUwgckGA1UdIwSBwTCBvoAU
|
||||
J45nEXTDJh0/7TNjs6TYHTDl6NWhgZqkgZcwgZQxCzAJBgNVBAYTAlVTMRAwDgYD
|
||||
VQQIDAdNb250YW5hMRAwDgYDVQQHDAdCb3plbWFuMREwDwYDVQQKDAhTYXd0b290
|
||||
aDETMBEGA1UECwwKQ29uc3VsdGluZzEYMBYGA1UEAwwPd3d3LndvbGZzc2wuY29t
|
||||
MR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29tggkAhv/1jhDeuPswDAYD
|
||||
VR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAniiIcgDK5ueXysHxH54SsrjH
|
||||
Ueoo4Ta1LeYvCCPLqUqHJcZdiUXq9QCYrHb7G6/wzmSe2gi/tuu0tQyg5/ZHWRxh
|
||||
zy4OWKSCrA8/7MSugPewih6FQej//v5PGiTVSfr7/l7l05EOT04MIVFxgwRrYntP
|
||||
WXZIgR609wRHipFXoxGp8iC0eDNiPbBeDfmGOILaoZiNGQaHITm3AvfafVi6UhXY
|
||||
O8l7WDSgx+J8qYMT4bbsAb9SMwvE/kPTxqSOL4d/ekTqylNshe1ldnMxA07qvTVU
|
||||
E/Nkh2vfNN00oYg7202vG2SQknEwjsjM5WAkrzEWOTORUPmraEJ0ejXZ3cjEUg==
|
||||
dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbYIU
|
||||
Xrqk9LH3SCXjX5vaoRPt1SsDZxUwDAYDVR0TBAUwAwEB/zAcBgNVHREEFTATggtl
|
||||
eGFtcGxlLmNvbYcEfwAAATAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIw
|
||||
DQYJKoZIhvcNAQELBQADggEBALntlD4Acy2l0QSz+9zwtw09rZZ0TJJnrW184plq
|
||||
M8qyDwRapWf44ws99dBbHiBSEpIo6jGjUZ6L0jnkJephYUEWLVRQ0/vQNAAQ8Xu8
|
||||
8Ain9SdefkCdmbDTMRHDnalRoBfPgyxVhODVkqAFOp+4dfgb5fekbOmqJYsZk0Yf
|
||||
PzOvRynPe4tZJ+vXT8szGfpf7tgT6QwHrTvAfxDX5O3o2xbhH6R/Fjy91xHy1Dqp
|
||||
m5XhOVGZ61tlRu9jhHOVI7i/tfZNEnH3/zOqSoxlc3OJad+m3KSR/67HKJO1Gt6p
|
||||
jyswhYOLmYLKs3wREIidjmws8wVvy4CFFrft5Gj7trYxin0=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
@@ -26,6 +26,10 @@
|
||||
*
|
||||
*
|
||||
*----------------------------------------------------------------------------*/
|
||||
#define WOLFSSL_TLS13
|
||||
#define HAVE_FFDHE_2048
|
||||
#define WC_RSA_PSS
|
||||
#define HAVE_HKDF
|
||||
|
||||
|
||||
#define HAVE_AESGCM
|
||||
|
||||
@@ -0,0 +1,339 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program 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.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,102 @@
|
||||
0. Building on *nix from git repository
|
||||
|
||||
Run the autogen script to generate configure, then proceed to step 1.
|
||||
Prerequisites: You'll need autoconf, automake and libtool installed.
|
||||
|
||||
$ ./autogen.sh
|
||||
|
||||
1. Building on *nix from a release
|
||||
|
||||
$ ./configure
|
||||
$ make
|
||||
$ make check # (optional, but highly recommended)
|
||||
$ sudo make install
|
||||
|
||||
2. Building on iOS
|
||||
|
||||
Use on the xcode project in IDE/iOS/wolfssl.xcodeproj
|
||||
There is a README in IDE/iOS with more information
|
||||
|
||||
3. Building on Windows
|
||||
|
||||
Use the 32bit Visual Studio Solution wolfssl.sln
|
||||
For a 64bit solution please use wolfssl64.sln
|
||||
|
||||
4. Building with IAR
|
||||
|
||||
Please see the README in IDE/IAR-EWARM for detailed instructions
|
||||
|
||||
5. Building with Keil
|
||||
|
||||
Please see the Keil Projects in IDE/MDK5-ARM/Projects
|
||||
|
||||
6. Building with Microchip tools
|
||||
|
||||
Please see the README in mplabx
|
||||
|
||||
7. Building with Freescale MQX
|
||||
|
||||
Please see the README in mqx
|
||||
|
||||
8. Building with Rowley CrossWorks for ARM
|
||||
|
||||
Use the CrossWorks project in IDE/ROWLEY-CROSSWORKS-ARM/wolfssl.hzp
|
||||
There is a README.md in IDE/ROWLEY-CROSSWORKS-ARM with more information
|
||||
|
||||
9. Building with Arduino
|
||||
|
||||
Use the script IDE/ARDUINO/wolfssl-arduino.sh to reformat the wolfSSL
|
||||
library for compatibility with the Arduino IDE. There is a README.md in
|
||||
IDE/ARDUINO for detailed instructions.
|
||||
|
||||
10. Building for Android with Visual Studio 2017
|
||||
|
||||
Please see the README in IDE/VS-ARM.
|
||||
Use the Visual Studio solution IDE/VS-ARM/wolfssl.sln.
|
||||
|
||||
11. Building for Yocto Project or OpenEmbedded
|
||||
|
||||
Please see the README in the "meta-wolfssl" repository. This repository
|
||||
holds wolfSSL's Yocto and OpenEmbedded layer, which contains recipes
|
||||
for wolfSSL, wolfSSH, wolfMQTT, wolfTPM, wolfCrypt examples, and OSS
|
||||
project bbappend files.
|
||||
|
||||
https://github.com/wolfssl/meta-wolfssl
|
||||
|
||||
The wolfSSL recipe can also be found in the OpenEmbedded
|
||||
"meta-openembedded/meta-networking/recipes-connectivity" layer:
|
||||
|
||||
https://github.com/openembedded/meta-openembedded
|
||||
|
||||
12. Porting to a new platform
|
||||
|
||||
Please see section 2.4 in the manual:
|
||||
http://www.wolfssl.com/yaSSL/Docs-cyassl-manual-2-building-cyassl.html
|
||||
|
||||
13. Building with CMake
|
||||
Note: Primary development uses automake (./configure). The support for CMake is minimal.
|
||||
|
||||
Internally cmake is setup to do the following:
|
||||
1. Uses the ./configure generated wolfssl/options.h as the build options by coping it to the build directory as user_settings.h.
|
||||
2. Builds wolfSSL as library.
|
||||
3. Builds the examples.
|
||||
|
||||
Build Steps:
|
||||
$ mkdir build
|
||||
$ cd build
|
||||
$ cmake ..
|
||||
$ cmake --build .
|
||||
$ cmake --install .
|
||||
|
||||
To build library only and not build examples and test apps use:
|
||||
$ cmake .. -DBUILD_TESTS=NO
|
||||
|
||||
To build with debugging use:
|
||||
$ cmake .. -DCMAKE_BUILD_TYPE=Debug
|
||||
|
||||
Make sure and run the built examples and test from the wolfssl-root to properly find the ./certs directory.
|
||||
|
||||
CMake on Windows with Visual Studio
|
||||
1. Open Command Prompt
|
||||
2. Run the Visual Studio batch to setup command line variables: Example: C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat
|
||||
3. Then use steps above
|
||||
@@ -0,0 +1,14 @@
|
||||
|
||||
wolfSSL (formerly known as CyaSSL) and wolfCrypt are either licensed for use
|
||||
under the GPLv3 (or at your option any later version) or a standard commercial
|
||||
license. For our users who cannot use wolfSSL under GPLv3
|
||||
(or any later version), a commercial license to wolfSSL and wolfCrypt is
|
||||
available.
|
||||
|
||||
Please contact wolfSSL Inc. directly at:
|
||||
|
||||
Email: licensing@wolfssl.com
|
||||
Phone: +1 425 245-8247
|
||||
|
||||
More information can be found on the wolfSSL website at www.wolfssl.com.
|
||||
|
||||
@@ -0,0 +1,265 @@
|
||||
# includes append to these:
|
||||
SUFFIXES =
|
||||
TESTS =
|
||||
CLEANFILES =
|
||||
DISTCLEANFILES =
|
||||
bin_PROGRAMS =
|
||||
noinst_HEADERS =
|
||||
lib_LTLIBRARIES =
|
||||
man_MANS =
|
||||
noinst_LTLIBRARIES =
|
||||
noinst_PROGRAMS =
|
||||
include_HEADERS =
|
||||
nobase_include_HEADERS =
|
||||
check_PROGRAMS =
|
||||
EXTRA_HEADERS =
|
||||
BUILT_SOURCES=
|
||||
EXTRA_DIST=
|
||||
dist_doc_DATA=
|
||||
dist_noinst_SCRIPTS =
|
||||
noinst_SCRIPTS =
|
||||
check_SCRIPTS =
|
||||
|
||||
#includes additional rules from aminclude.am
|
||||
@INC_AMINCLUDE@
|
||||
DISTCLEANFILES+= aminclude.am
|
||||
|
||||
CLEANFILES+= cert.der \
|
||||
cert.pem \
|
||||
certecc.der \
|
||||
certecc.pem \
|
||||
certreq.der \
|
||||
certreq.pem \
|
||||
key.der \
|
||||
key.pem \
|
||||
ntru-cert.der \
|
||||
ecc-key-pkcs8.der \
|
||||
ntru-cert.pem \
|
||||
ntru-key.raw \
|
||||
othercert.der \
|
||||
othercert.pem \
|
||||
pkcs7cert.der \
|
||||
pkcs7authEnvelopedDataAES128GCM.der \
|
||||
pkcs7authEnvelopedDataAES128GCM_ECDH_SHA1KDF.der \
|
||||
pkcs7authEnvelopedDataAES128GCM_KEKRI.der \
|
||||
pkcs7authEnvelopedDataAES128GCM_ORI.der \
|
||||
pkcs7authEnvelopedDataAES128GCM_PWRI.der \
|
||||
pkcs7authEnvelopedDataAES192GCM.der \
|
||||
pkcs7authEnvelopedDataAES256GCM.der \
|
||||
pkcs7authEnvelopedDataAES256GCM_ECDH_SHA256KDF.der \
|
||||
pkcs7authEnvelopedDataAES256GCM_ECDH_SHA256KDF_authAttribs.der \
|
||||
pkcs7authEnvelopedDataAES256GCM_ECDH_SHA256KDF_bothAttribs.der \
|
||||
pkcs7authEnvelopedDataAES256GCM_ECDH_SHA256KDF_fw_bothAttribs.der \
|
||||
pkcs7authEnvelopedDataAES256GCM_ECDH_SHA256KDF_unauthAttribs.der \
|
||||
pkcs7authEnvelopedDataAES256GCM_ECDH_SHA512KDF.der \
|
||||
pkcs7authEnvelopedDataAES256GCM_ECDH_SHA512KDF_ukm.der \
|
||||
pkcs7authEnvelopedDataAES256GCM_firmwarePkgData.der \
|
||||
pkcs7authEnvelopedDataAES256GCM_IANDS.der \
|
||||
pkcs7authEnvelopedDataAES256GCM_SKID.der \
|
||||
pkcs7compressedData_data_zlib.der \
|
||||
pkcs7compressedData_firmwarePkgData_zlib.der \
|
||||
pkcs7encryptedDataAES128CBC.der \
|
||||
pkcs7encryptedDataAES192CBC.der \
|
||||
pkcs7encryptedDataAES256CBC_attribs.der \
|
||||
pkcs7encryptedDataAES256CBC.der \
|
||||
pkcs7encryptedDataAES256CBC_firmwarePkgData.der \
|
||||
pkcs7encryptedDataAES256CBC_multi_attribs.der \
|
||||
pkcs7encryptedDataDES3.der \
|
||||
pkcs7encryptedDataDES.der \
|
||||
pkcs7envelopedDataAES256CBC_ECDH.der \
|
||||
pkcs7envelopedDataAES128CBC_ECDH_SHA1KDF.der \
|
||||
pkcs7envelopedDataAES256CBC_ECDH_SHA256KDF.der \
|
||||
pkcs7envelopedDataAES256CBC_ECDH_SHA512KDF.der \
|
||||
pkcs7envelopedDataAES256CBC_ECDH_SHA512KDF_ukm.der \
|
||||
pkcs7envelopedDataDES3.der \
|
||||
pkcs7envelopedDataAES128CBC.der \
|
||||
pkcs7envelopedDataAES128CBC_KEKRI.der \
|
||||
pkcs7envelopedDataAES128CBC_PWRI.der \
|
||||
pkcs7envelopedDataAES128CBC_ORI.der \
|
||||
pkcs7envelopedDataAES192CBC.der \
|
||||
pkcs7envelopedDataAES256CBC.der \
|
||||
pkcs7envelopedDataAES256CBC_IANDS.der \
|
||||
pkcs7envelopedDataAES256CBC_SKID.der \
|
||||
pkcs7signedData_RSA_SHA.der \
|
||||
pkcs7signedData_RSA_SHA_noattr.der \
|
||||
pkcs7signedData_RSA_SHA224.der \
|
||||
pkcs7signedData_RSA_SHA256.der \
|
||||
pkcs7signedData_RSA_SHA256_firmwarePkgData.der \
|
||||
pkcs7signedData_RSA_SHA256_custom_contentType.der \
|
||||
pkcs7signedData_RSA_SHA256_with_ca_cert.der \
|
||||
pkcs7signedData_RSA_SHA256_SKID.der \
|
||||
pkcs7signedData_RSA_SHA256_detachedSig.der \
|
||||
pkcs7signedData_RSA_SHA384.der \
|
||||
pkcs7signedData_RSA_SHA512.der \
|
||||
pkcs7signedData_ECDSA_SHA.der \
|
||||
pkcs7signedData_ECDSA_SHA_noattr.der \
|
||||
pkcs7signedData_ECDSA_SHA224.der \
|
||||
pkcs7signedData_ECDSA_SHA256.der \
|
||||
pkcs7signedData_ECDSA_SHA256_firmwarePkgData.der \
|
||||
pkcs7signedData_ECDSA_SHA256_custom_contentType.der \
|
||||
pkcs7signedData_ECDSA_SHA256_SKID.der \
|
||||
pkcs7signedData_ECDSA_SHA384.der \
|
||||
pkcs7signedData_ECDSA_SHA512.der \
|
||||
pkcs7signedFirmwarePkgData_ECDSA_SHA256.der \
|
||||
pkcs7signedFirmwarePkgData_ECDSA_SHA256_SKID.der \
|
||||
pkcs7signedFirmwarePkgData_ECDSA_SHA256_noattr.der \
|
||||
pkcs7signedFirmwarePkgData_RSA_SHA256.der \
|
||||
pkcs7signedFirmwarePkgData_RSA_SHA256_SKID.der \
|
||||
pkcs7signedFirmwarePkgData_RSA_SHA256_noattr.der \
|
||||
pkcs7signedFirmwarePkgData_RSA_SHA256_with_ca_cert.der \
|
||||
pkcs7signedCompressedFirmwarePkgData_ECDSA_SHA256.der \
|
||||
pkcs7signedCompressedFirmwarePkgData_ECDSA_SHA256_noattr.der \
|
||||
pkcs7signedCompressedFirmwarePkgData_RSA_SHA256.der \
|
||||
pkcs7signedCompressedFirmwarePkgData_RSA_SHA256_noattr.der \
|
||||
pkcs7signedEncryptedFirmwarePkgData_RSA_SHA256.der \
|
||||
pkcs7signedEncryptedFirmwarePkgData_RSA_SHA256_noattr.der \
|
||||
pkcs7signedEncryptedFirmwarePkgData_ECDSA_SHA256.der \
|
||||
pkcs7signedEncryptedFirmwarePkgData_ECDSA_SHA256_noattr.der \
|
||||
pkcs7signedEncryptedCompressedFirmwarePkgData_ECDSA_SHA256.der \
|
||||
pkcs7signedEncryptedCompressedFirmwarePkgData_ECDSA_SHA256_noattr.der \
|
||||
pkcs7signedEncryptedCompressedFirmwarePkgData_RSA_SHA256.der \
|
||||
pkcs7signedEncryptedCompressedFirmwarePkgData_RSA_SHA256_noattr.der \
|
||||
tests/test-log-dump-to-file.txt
|
||||
|
||||
exampledir = $(docdir)/example
|
||||
dist_example_DATA=
|
||||
|
||||
ACLOCAL_AMFLAGS= -I m4
|
||||
|
||||
EXTRA_DIST+= lib/dummy
|
||||
|
||||
EXTRA_DIST+= wolfssl-ntru.vcproj
|
||||
EXTRA_DIST+= wolfssl.vcproj
|
||||
EXTRA_DIST+= wolfssl.vcxproj
|
||||
EXTRA_DIST+= wolfssl-ntru.sln
|
||||
EXTRA_DIST+= wolfssl.sln
|
||||
EXTRA_DIST+= wolfssl64.sln
|
||||
EXTRA_DIST+= valgrind-error.sh
|
||||
EXTRA_DIST+= valgrind-bash.supp
|
||||
EXTRA_DIST+= fips-hash.sh
|
||||
EXTRA_DIST+= gencertbuf.pl
|
||||
EXTRA_DIST+= README.md
|
||||
EXTRA_DIST+= README
|
||||
EXTRA_DIST+= ChangeLog.md
|
||||
EXTRA_DIST+= LICENSING
|
||||
EXTRA_DIST+= INSTALL
|
||||
EXTRA_DIST+= IPP
|
||||
EXTRA_DIST+= LPCExpresso.cproject
|
||||
EXTRA_DIST+= LPCExpresso.project
|
||||
EXTRA_DIST+= resource.h wolfssl.rc
|
||||
EXTRA_DIST+= CMakeLists.txt
|
||||
|
||||
include wrapper/include.am
|
||||
include cyassl/include.am
|
||||
include wolfssl/include.am
|
||||
include certs/include.am
|
||||
include doc/include.am
|
||||
include swig/include.am
|
||||
|
||||
include src/include.am
|
||||
include support/include.am
|
||||
include wolfcrypt/user-crypto/include.am
|
||||
include wolfcrypt/benchmark/include.am
|
||||
include wolfcrypt/src/include.am
|
||||
include wolfcrypt/test/include.am
|
||||
include examples/include.am
|
||||
include testsuite/include.am
|
||||
include tests/include.am
|
||||
include sslSniffer/sslSnifferTest/include.am
|
||||
include rpm/include.am
|
||||
|
||||
# Exclude references to non-DFSG sources from build files
|
||||
if !BUILD_DISTRO
|
||||
include mqx/util_lib/Sources/include.am
|
||||
include mqx/wolfcrypt_benchmark/Sources/include.am
|
||||
include mqx/wolfcrypt_test/Sources/include.am
|
||||
include mqx/wolfssl/include.am
|
||||
include mqx/wolfssl_client/Sources/include.am
|
||||
include mplabx/include.am
|
||||
include mplabx/wolfcrypt_benchmark.X/nbproject/include.am
|
||||
include mplabx/wolfcrypt_test.X/nbproject/include.am
|
||||
include mplabx/wolfssl.X/nbproject/include.am
|
||||
include mcapi/include.am
|
||||
include mcapi/wolfcrypt_mcapi.X/nbproject/include.am
|
||||
include mcapi/wolfcrypt_test.X/nbproject/include.am
|
||||
include mcapi/wolfssl.X/nbproject/include.am
|
||||
include mcapi/zlib.X/nbproject/include.am
|
||||
include tirtos/include.am
|
||||
include IDE/include.am
|
||||
endif
|
||||
include scripts/include.am
|
||||
|
||||
if USE_VALGRIND
|
||||
TESTS_ENVIRONMENT=./valgrind-error.sh
|
||||
endif
|
||||
|
||||
TEST_EXTENSIONS=.test
|
||||
TESTS += $(check_PROGRAMS)
|
||||
|
||||
check_SCRIPTS+= $(dist_noinst_SCRIPTS)
|
||||
TESTS += $(check_SCRIPTS)
|
||||
|
||||
test: check
|
||||
tests/unit.log: testsuite/testsuite.log
|
||||
|
||||
DISTCLEANFILES+= cyassl-config
|
||||
DISTCLEANFILES+= wolfssl-config
|
||||
|
||||
maintainer-clean-local:
|
||||
-rm Makefile.in
|
||||
-rm aclocal.m4
|
||||
-rm build-aux/compile
|
||||
-rm build-aux/config.guess
|
||||
-rm build-aux/config.sub
|
||||
-rm build-aux/depcomp
|
||||
-rm build-aux/install-sh
|
||||
-rm build-aux/ltmain.sh
|
||||
-rm build-aux/missing
|
||||
-rm cyassl-config
|
||||
-rmdir build-aux
|
||||
-rm configure
|
||||
-rm config.log
|
||||
-rm config.status
|
||||
-rm config.in
|
||||
-rm m4/libtool.m4
|
||||
-rm m4/ltoptions.m4
|
||||
-rm m4/ltsugar.m4
|
||||
-rm m4/ltversion.m4
|
||||
-rm m4/lt~obsolete.m4
|
||||
-rm support/wolfssl.pc
|
||||
find . -type f -name '*~' -exec rm -f '{}' \;
|
||||
-rm -f @PACKAGE@-*.tar.gz
|
||||
-rm -f @PACKAGE@-*.rpm
|
||||
|
||||
# !!!! first line of rule has to start with a hard (real) tab, not spaces
|
||||
egs:
|
||||
$(MAKE) examples/client/client; \
|
||||
$(MAKE) examples/echoclient/echoclient;\
|
||||
$(MAKE) examples/server/server; \
|
||||
$(MAKE) examples/echoserver/echoserver;
|
||||
|
||||
wc_egs:
|
||||
$(MAKE) wolfcrypt/test/testwolfcrypt; \
|
||||
$(MAKE) wolfcrypt/benchmark/benchmark;
|
||||
|
||||
install-exec-local: install-generic-config
|
||||
|
||||
install-generic-config:
|
||||
$(mkinstalldirs) $(DESTDIR)$(bindir)
|
||||
$(INSTALL_SCRIPT) @GENERIC_CONFIG@ $(DESTDIR)$(bindir)
|
||||
|
||||
uninstall-local:
|
||||
-rm -f $(DESTDIR)$(bindir)/@GENERIC_CONFIG@
|
||||
|
||||
merge-clean:
|
||||
@find ./ | $(GREP) \.gcda | xargs rm -f
|
||||
@find ./ | $(GREP) \.gcno | xargs rm -f
|
||||
@find ./ | $(GREP) \.gz | xargs rm -f
|
||||
@find ./ | $(GREP) \.orig | xargs rm -f
|
||||
@find ./ | $(GREP) \.rej | xargs rm -f
|
||||
@find ./ | $(GREP) \.rpm | xargs rm -f
|
||||
@find ./ | $(GREP) \.THIS | xargs rm -f
|
||||
@find ./ | $(GREP) \.OTHER | xargs rm -f
|
||||
@find ./ | $(GREP) \.BASE | xargs rm -f
|
||||
@find ./ | $(GREP) \~$$ | xargs rm -f
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,239 @@
|
||||
*** Description ***
|
||||
|
||||
The wolfSSL embedded SSL library (formerly CyaSSL) is a lightweight SSL/TLS
|
||||
library written in ANSI C and targeted for embedded, RTOS, and
|
||||
resource-constrained environments - primarily because of its small size, speed,
|
||||
and feature set. It is commonly used in standard operating environments as well
|
||||
because of its royalty-free pricing and excellent cross platform support.
|
||||
wolfSSL supports industry standards up to the current TLS 1.3 and DTLS 1.2
|
||||
levels, is up to 20 times smaller than OpenSSL, and offers progressive ciphers
|
||||
such as ChaCha20, Curve25519, NTRU, and Blake2b. User benchmarking and feedback
|
||||
reports dramatically better performance when using wolfSSL over OpenSSL.
|
||||
|
||||
wolfSSL is powered by the wolfCrypt library. Two versions of the wolfCrypt
|
||||
cryptography library have been FIPS 140-2 validated (Certificate #2425 and
|
||||
certificate #3389). For additional information, visit the wolfCrypt FIPS FAQ
|
||||
(https://www.wolfssl.com/license/fips/) or contact fips@wolfssl.com
|
||||
|
||||
*** Why choose wolfSSL? ***
|
||||
|
||||
There are many reasons to choose wolfSSL as your embedded SSL solution. Some of
|
||||
the top reasons include size (typical footprint sizes range from 20-100 kB),
|
||||
support for the newest standards (SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3,
|
||||
DTLS 1.0, and DTLS 1.2), current and progressive cipher support (including
|
||||
stream ciphers), multi-platform, royalty free, and an OpenSSL compatibility API
|
||||
to ease porting into existing applications which have previously used the
|
||||
OpenSSL package. For a complete feature list, see chapter 4 of the wolfSSL
|
||||
manual. (https://www.wolfssl.com/docs/wolfssl-manual/ch4/)
|
||||
|
||||
*** Notes, Please read ***
|
||||
|
||||
Note 1)
|
||||
wolfSSL as of 3.6.6 no longer enables SSLv3 by default. wolfSSL also no longer
|
||||
supports static key cipher suites with PSK, RSA, or ECDH. This means if you
|
||||
plan to use TLS cipher suites you must enable DH (DH is on by default), or
|
||||
enable ECC (ECC is on by default), or you must enable static key cipher suites
|
||||
with
|
||||
|
||||
WOLFSSL_STATIC_DH
|
||||
WOLFSSL_STATIC_RSA
|
||||
or
|
||||
WOLFSSL_STATIC_PSK
|
||||
|
||||
though static key cipher suites are deprecated and will be removed from future
|
||||
versions of TLS. They also lower your security by removing PFS. Since current
|
||||
NTRU suites available do not use ephemeral keys, WOLFSSL_STATIC_RSA needs to be
|
||||
used in order to build with NTRU suites.
|
||||
|
||||
When compiling ssl.c, wolfSSL will now issue a compiler error if no cipher
|
||||
suites are available. You can remove this error by defining
|
||||
WOLFSSL_ALLOW_NO_SUITES in the event that you desire that, i.e., you're not
|
||||
using TLS cipher suites.
|
||||
|
||||
Note 2)
|
||||
wolfSSL takes a different approach to certificate verification than OpenSSL
|
||||
does. The default policy for the client is to verify the server, this means
|
||||
that if you don't load CAs to verify the server you'll get a connect error,
|
||||
no signer error to confirm failure (-188).
|
||||
|
||||
If you want to mimic OpenSSL behavior of having SSL_connect succeed even if
|
||||
verifying the server fails and reducing security you can do this by calling:
|
||||
|
||||
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
|
||||
|
||||
before calling wolfSSL_new();. Though it's not recommended.
|
||||
|
||||
Note 3)
|
||||
The enum values SHA, SHA256, SHA384, SHA512 are no longer available when
|
||||
wolfSSL is built with --enable-opensslextra (OPENSSL_EXTRA) or with the macro
|
||||
NO_OLD_SHA_NAMES. These names get mapped to the OpenSSL API for a single call
|
||||
hash function. Instead the name WC_SHA, WC_SHA256, WC_SHA384 and WC_SHA512
|
||||
should be used for the enum name.
|
||||
|
||||
*** end Notes ***
|
||||
|
||||
|
||||
# wolfSSL Release 4.5.0 (August 19, 2020)
|
||||
|
||||
If you have questions about this release, feel free to contact us on our
|
||||
info@ address.
|
||||
|
||||
Release 4.5.0 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
|
||||
## New Feature Additions
|
||||
|
||||
* Added Xilinx Vitis 2019.2 example and README updates
|
||||
* TLS v1.3 is now enabled by default
|
||||
* Building FIPS 140-2 code and test on Solaris
|
||||
* Secure renegotiation with DTLS 1.2
|
||||
* Update RSA calls for hardware acceleration with Xilsecure
|
||||
* Additional OpenSSL compatibility layer functions added
|
||||
* Cypress PSoC6 wolfCrypt driver added
|
||||
* Added STM32CubeIDE support
|
||||
* Added certificate parsing and inspection to C# wrapper layer
|
||||
* TLS v1.3 sniffer support added
|
||||
* TSIP v1.09 for target board GR-ROSE support added
|
||||
* Added support for the "X72N Envision Kit" evaluation board
|
||||
* Support for ECC nonblocking using the configure options
|
||||
"--enable-ecc=nonblock --enable-sp=yes,nonblock CFLAGS=-DWOLFSSL_PUBLIC_MP"
|
||||
* Added wc_curve25519_make_pub function to generate a public key given the
|
||||
private one
|
||||
|
||||
## Fixes
|
||||
|
||||
* PIC32MZ hardware cache and large hashes fix
|
||||
* AES-GCM use with EVP layer in compatibility layer code
|
||||
* Fix for RSA_LOW_MEM with ARM build of SP code
|
||||
* Sanity check on tag length with AES-CCM to conform with RFC 3610
|
||||
* Fixes for 32 and 64 bit software implementations of SP code when
|
||||
WOLFSSL_SP_CACHE_RESISTANT is defined
|
||||
* GCC warning fixes for GCC 9 and later
|
||||
* Sanity check on HKDF expand length to conform with RFC 5869
|
||||
* Fixes for STM32 CubeMX HAL with AES-GCM
|
||||
* Fixed point cache look up table (LUT) implementation fixes
|
||||
* Fix for ARM 32bit SP code when calling div word
|
||||
* Fix for potential out of bounds read when parsing CRLs
|
||||
* Fix for potential out of bounds read with RSA unpadding
|
||||
* AES-CCM optimized counter fix
|
||||
* Updates to Xcode projects for new files and features
|
||||
* Fix for adding CRL’s to a WOLFSSL_X509_STORE structure
|
||||
* FIPSv2 build with opensslall build fixes
|
||||
* Fixes for CryptoCell use with ECC and signature wrappers
|
||||
* Fix for mod calculation with SP code dealing with 3072 bit keys
|
||||
* Fix for handling certificates with multiple OU’s in name
|
||||
* Fix for SP math implementation of sp_add_d and add a sanity check on
|
||||
rshb range
|
||||
* Fix for sanity check on padding with DES3 conversion of PEM to DER
|
||||
* Sanity check for potential out of bounds read with fp_read_radix_16
|
||||
* Additional checking of ECC scalars.
|
||||
* Fixing the FIPS Ready build w.r.t. ecc.c.
|
||||
* When processing certificate names with OpenSSL compatibility layer
|
||||
enabled, unknown name item types were getting handled as having NID 0,
|
||||
and failing. Added a couple more items to what is handled correctly,
|
||||
and ignoring anything that is an unknown type.
|
||||
|
||||
## Improvements/Optimizations
|
||||
|
||||
* TLS 1.3 certificate verify update to handle 8192 bit RSA keys
|
||||
* wpa_supplicant support with reduced code size option
|
||||
* TLS 1.3 alerts encrypted when possible
|
||||
* Many minor coverity fixes added
|
||||
* Error checking when parsing PKCS12 DER
|
||||
* IAR warning in test.c resolved
|
||||
* ATECC608A improvements for use with Harmony 3 and PIC32 MZ
|
||||
* Support for AES-GCM and wc_SignatureVerifyHash with static memory and no
|
||||
malloc’s
|
||||
* Enable SNI by default with JNI/JSSE builds
|
||||
* NetBSD GCC compiler warnings resolved
|
||||
* Additional test cases and code coverage added including curve25519 and
|
||||
curve448 tests
|
||||
* Option for user defined mutexes with WOLFSSL_USER_MUTEX
|
||||
* Sniffer API’s for loading buffer directly
|
||||
* Fixes and improvements from going through the DO-178 process were added
|
||||
* Doxygen updates and fixes for auto documentation generation
|
||||
* Changed the configure option for FIPS Ready builds to be
|
||||
`--enable-fips=ready`.
|
||||
|
||||
## This release of wolfSSL includes fixes for 6 security vulnerabilities.
|
||||
|
||||
wolfSSL version 4.5.0 contains 6 vulnerability fixes: 2 fixes for TLS 1.3,
|
||||
2 side channel attack mitigations, 1 fix for a potential private key leak
|
||||
in a specific use case, 1 fix for DTLS.
|
||||
|
||||
* In earlier versions of wolfSSL there exists a potential man in the middle
|
||||
attack on TLS 1.3 clients. Malicious attackers with a privileged network
|
||||
position can impersonate TLS 1.3 servers and bypass authentication. Users
|
||||
that have applications with client side code and have TLS 1.3 turned on,
|
||||
should update to the latest version of wolfSSL. Users that do not have
|
||||
TLS 1.3 turned on, or that are server side only, are NOT affected by this
|
||||
report. Thanks to Gerald Doussot from NCC group for the report.
|
||||
* Denial of service attack on TLS 1.3 servers from repetitively sending
|
||||
ChangeCipherSpecs messages. This denial of service results from the
|
||||
relatively low effort of sending a ChangeCipherSpecs message versus the
|
||||
effort of the server to process that message. Users with TLS 1.3 servers are
|
||||
recommended to update to the most recent version of wolfSSL which limits the
|
||||
number of TLS 1.3 ChangeCipherSpecs that can be received in order to avoid
|
||||
this DoS attack. CVE-2020-12457 was reserved for the report. Thanks to
|
||||
Lenny Wang of Tencent Security Xuanwu LAB.
|
||||
* Potential cache timing attacks on public key operations in builds that are
|
||||
not using SP (single precision). Users that have a system where malicious
|
||||
agents could execute code on the system, are not using the SP build with
|
||||
wolfSSL, and are doing private key operations on the system (such as signing
|
||||
with a private key) are recommended to regenerate private keys and update to
|
||||
the most recent version of wolfSSL. CVE-2020-15309 is reserved for this
|
||||
issue. Thanks to Ida Bruhns from Universität zu Lübeck for the report.
|
||||
* When using SGX with EC scalar multiplication the possibility of side-channel
|
||||
attacks are present. To mitigate the risk of side channel attacks wolfSSL’s
|
||||
single precision EC operations should be used instead. Release 4.5.0 turns
|
||||
this on be default now with SGX builds and in previous versions of wolfSSL
|
||||
this can be turned on by using the WOLFSSL_SP macros. Thank you to
|
||||
Alejandro Cabrera Aldaya, Cesar Pereida García and Billy Bob Brumley from
|
||||
the Network and Information Security Group (NISEC) at Tampere University for
|
||||
the report.
|
||||
* Leak of private key in the case that PEM format private keys are bundled in
|
||||
with PEM certificates into a single file. This is due to the
|
||||
misclassification of certificate type versus private key type when parsing
|
||||
through the PEM file. To be affected, wolfSSL would need to have been built
|
||||
with OPENSSL_EXTRA (--enable-opensslextra). Some build variants such as
|
||||
--enable-all and --enable-opensslall also turn on this code path, checking
|
||||
wolfssl/options.h for OPENSSL_EXTRA will show if the macro was used with the
|
||||
build. If having built with the opensslextra enable option and having placed
|
||||
PEM certificates with PEM private keys in the same file when loading up the
|
||||
certificate file, then we recommend updating wolfSSL for this use case and
|
||||
also recommend regenerating any private keys in the file.
|
||||
* During the handshake, clear application_data messages in epoch 0 are
|
||||
processed and returned to the application. Fixed by dropping received
|
||||
application_data messages in epoch 0. Thank you to Paul Fiterau of Uppsala
|
||||
University and Robert Merget of Ruhr-University Bochum for the report.
|
||||
|
||||
For additional vulnerability information visit the vulnerability page at
|
||||
https://www.wolfssl.com/docs/security-vulnerabilities/
|
||||
|
||||
See INSTALL file for build instructions.
|
||||
More info can be found on-line at https://wolfssl.com/wolfSSL/Docs.html
|
||||
|
||||
|
||||
|
||||
*** Resources ***
|
||||
|
||||
|
||||
[wolfSSL Website](https://www.wolfssl.com/)
|
||||
|
||||
[wolfSSL Wiki](https://github.com/wolfSSL/wolfssl/wiki)
|
||||
|
||||
[FIPS FAQ](https://wolfssl.com/license/fips)
|
||||
|
||||
[wolfSSL Documents](https://wolfssl.com/wolfSSL/Docs.html)
|
||||
|
||||
[wolfSSL Manual](https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-toc.html)
|
||||
|
||||
[wolfSSL API Reference]
|
||||
(https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-17-wolfssl-api-reference.html)
|
||||
|
||||
[wolfCrypt API Reference]
|
||||
(https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-18-wolfcrypt-api-reference.html)
|
||||
|
||||
[TLS 1.3](https://www.wolfssl.com/docs/tls13/)
|
||||
|
||||
[wolfSSL Vulnerabilities]
|
||||
(https://www.wolfssl.com/docs/security-vulnerabilities/)
|
||||
@@ -0,0 +1,239 @@
|
||||
*** Description ***
|
||||
|
||||
The wolfSSL embedded SSL library (formerly CyaSSL) is a lightweight SSL/TLS
|
||||
library written in ANSI C and targeted for embedded, RTOS, and
|
||||
resource-constrained environments - primarily because of its small size, speed,
|
||||
and feature set. It is commonly used in standard operating environments as well
|
||||
because of its royalty-free pricing and excellent cross platform support.
|
||||
wolfSSL supports industry standards up to the current TLS 1.3 and DTLS 1.2
|
||||
levels, is up to 20 times smaller than OpenSSL, and offers progressive ciphers
|
||||
such as ChaCha20, Curve25519, NTRU, and Blake2b. User benchmarking and feedback
|
||||
reports dramatically better performance when using wolfSSL over OpenSSL.
|
||||
|
||||
wolfSSL is powered by the wolfCrypt library. Two versions of the wolfCrypt
|
||||
cryptography library have been FIPS 140-2 validated (Certificate #2425 and
|
||||
certificate #3389). For additional information, visit the wolfCrypt FIPS FAQ
|
||||
(https://www.wolfssl.com/license/fips/) or contact fips@wolfssl.com
|
||||
|
||||
*** Why choose wolfSSL? ***
|
||||
|
||||
There are many reasons to choose wolfSSL as your embedded SSL solution. Some of
|
||||
the top reasons include size (typical footprint sizes range from 20-100 kB),
|
||||
support for the newest standards (SSL 3.0, TLS 1.0, TLS 1.1, TLS 1.2, TLS 1.3,
|
||||
DTLS 1.0, and DTLS 1.2), current and progressive cipher support (including
|
||||
stream ciphers), multi-platform, royalty free, and an OpenSSL compatibility API
|
||||
to ease porting into existing applications which have previously used the
|
||||
OpenSSL package. For a complete feature list, see chapter 4 of the wolfSSL
|
||||
manual. (https://www.wolfssl.com/docs/wolfssl-manual/ch4/)
|
||||
|
||||
*** Notes, Please read ***
|
||||
|
||||
Note 1)
|
||||
wolfSSL as of 3.6.6 no longer enables SSLv3 by default. wolfSSL also no longer
|
||||
supports static key cipher suites with PSK, RSA, or ECDH. This means if you
|
||||
plan to use TLS cipher suites you must enable DH (DH is on by default), or
|
||||
enable ECC (ECC is on by default), or you must enable static key cipher suites
|
||||
with
|
||||
|
||||
WOLFSSL_STATIC_DH
|
||||
WOLFSSL_STATIC_RSA
|
||||
or
|
||||
WOLFSSL_STATIC_PSK
|
||||
|
||||
though static key cipher suites are deprecated and will be removed from future
|
||||
versions of TLS. They also lower your security by removing PFS. Since current
|
||||
NTRU suites available do not use ephemeral keys, WOLFSSL_STATIC_RSA needs to be
|
||||
used in order to build with NTRU suites.
|
||||
|
||||
When compiling ssl.c, wolfSSL will now issue a compiler error if no cipher
|
||||
suites are available. You can remove this error by defining
|
||||
WOLFSSL_ALLOW_NO_SUITES in the event that you desire that, i.e., you're not
|
||||
using TLS cipher suites.
|
||||
|
||||
Note 2)
|
||||
wolfSSL takes a different approach to certificate verification than OpenSSL
|
||||
does. The default policy for the client is to verify the server, this means
|
||||
that if you don't load CAs to verify the server you'll get a connect error,
|
||||
no signer error to confirm failure (-188).
|
||||
|
||||
If you want to mimic OpenSSL behavior of having SSL_connect succeed even if
|
||||
verifying the server fails and reducing security you can do this by calling:
|
||||
|
||||
wolfSSL_CTX_set_verify(ctx, SSL_VERIFY_NONE, 0);
|
||||
|
||||
before calling wolfSSL_new();. Though it's not recommended.
|
||||
|
||||
Note 3)
|
||||
The enum values SHA, SHA256, SHA384, SHA512 are no longer available when
|
||||
wolfSSL is built with --enable-opensslextra (OPENSSL_EXTRA) or with the macro
|
||||
NO_OLD_SHA_NAMES. These names get mapped to the OpenSSL API for a single call
|
||||
hash function. Instead the name WC_SHA, WC_SHA256, WC_SHA384 and WC_SHA512
|
||||
should be used for the enum name.
|
||||
|
||||
*** end Notes ***
|
||||
|
||||
|
||||
# wolfSSL Release 4.5.0 (August 19, 2020)
|
||||
|
||||
If you have questions about this release, feel free to contact us on our
|
||||
info@ address.
|
||||
|
||||
Release 4.5.0 of wolfSSL embedded TLS has bug fixes and new features including:
|
||||
|
||||
## New Feature Additions
|
||||
|
||||
* Added Xilinx Vitis 2019.2 example and README updates
|
||||
* TLS v1.3 is now enabled by default
|
||||
* Building FIPS 140-2 code and test on Solaris
|
||||
* Secure renegotiation with DTLS 1.2
|
||||
* Update RSA calls for hardware acceleration with Xilsecure
|
||||
* Additional OpenSSL compatibility layer functions added
|
||||
* Cypress PSoC6 wolfCrypt driver added
|
||||
* Added STM32CubeIDE support
|
||||
* Added certificate parsing and inspection to C# wrapper layer
|
||||
* TLS v1.3 sniffer support added
|
||||
* TSIP v1.09 for target board GR-ROSE support added
|
||||
* Added support for the "X72N Envision Kit" evaluation board
|
||||
* Support for ECC nonblocking using the configure options
|
||||
"--enable-ecc=nonblock --enable-sp=yes,nonblock CFLAGS=-DWOLFSSL_PUBLIC_MP"
|
||||
* Added wc_curve25519_make_pub function to generate a public key given the
|
||||
private one
|
||||
|
||||
## Fixes
|
||||
|
||||
* PIC32MZ hardware cache and large hashes fix
|
||||
* AES-GCM use with EVP layer in compatibility layer code
|
||||
* Fix for RSA_LOW_MEM with ARM build of SP code
|
||||
* Sanity check on tag length with AES-CCM to conform with RFC 3610
|
||||
* Fixes for 32 and 64 bit software implementations of SP code when
|
||||
WOLFSSL_SP_CACHE_RESISTANT is defined
|
||||
* GCC warning fixes for GCC 9 and later
|
||||
* Sanity check on HKDF expand length to conform with RFC 5869
|
||||
* Fixes for STM32 CubeMX HAL with AES-GCM
|
||||
* Fixed point cache look up table (LUT) implementation fixes
|
||||
* Fix for ARM 32bit SP code when calling div word
|
||||
* Fix for potential out of bounds read when parsing CRLs
|
||||
* Fix for potential out of bounds read with RSA unpadding
|
||||
* AES-CCM optimized counter fix
|
||||
* Updates to Xcode projects for new files and features
|
||||
* Fix for adding CRL’s to a WOLFSSL_X509_STORE structure
|
||||
* FIPSv2 build with opensslall build fixes
|
||||
* Fixes for CryptoCell use with ECC and signature wrappers
|
||||
* Fix for mod calculation with SP code dealing with 3072 bit keys
|
||||
* Fix for handling certificates with multiple OU’s in name
|
||||
* Fix for SP math implementation of sp_add_d and add a sanity check on
|
||||
rshb range
|
||||
* Fix for sanity check on padding with DES3 conversion of PEM to DER
|
||||
* Sanity check for potential out of bounds read with fp_read_radix_16
|
||||
* Additional checking of ECC scalars.
|
||||
* Fixing the FIPS Ready build w.r.t. ecc.c.
|
||||
* When processing certificate names with OpenSSL compatibility layer
|
||||
enabled, unknown name item types were getting handled as having NID 0,
|
||||
and failing. Added a couple more items to what is handled correctly,
|
||||
and ignoring anything that is an unknown type.
|
||||
|
||||
## Improvements/Optimizations
|
||||
|
||||
* TLS 1.3 certificate verify update to handle 8192 bit RSA keys
|
||||
* wpa_supplicant support with reduced code size option
|
||||
* TLS 1.3 alerts encrypted when possible
|
||||
* Many minor coverity fixes added
|
||||
* Error checking when parsing PKCS12 DER
|
||||
* IAR warning in test.c resolved
|
||||
* ATECC608A improvements for use with Harmony 3 and PIC32 MZ
|
||||
* Support for AES-GCM and wc_SignatureVerifyHash with static memory and no
|
||||
malloc’s
|
||||
* Enable SNI by default with JNI/JSSE builds
|
||||
* NetBSD GCC compiler warnings resolved
|
||||
* Additional test cases and code coverage added including curve25519 and
|
||||
curve448 tests
|
||||
* Option for user defined mutexes with WOLFSSL_USER_MUTEX
|
||||
* Sniffer API’s for loading buffer directly
|
||||
* Fixes and improvements from going through the DO-178 process were added
|
||||
* Doxygen updates and fixes for auto documentation generation
|
||||
* Changed the configure option for FIPS Ready builds to be
|
||||
`--enable-fips=ready`.
|
||||
|
||||
## This release of wolfSSL includes fixes for 6 security vulnerabilities.
|
||||
|
||||
wolfSSL version 4.5.0 contains 6 vulnerability fixes: 2 fixes for TLS 1.3,
|
||||
2 side channel attack mitigations, 1 fix for a potential private key leak
|
||||
in a specific use case, 1 fix for DTLS.
|
||||
|
||||
* In earlier versions of wolfSSL there exists a potential man in the middle
|
||||
attack on TLS 1.3 clients. Malicious attackers with a privileged network
|
||||
position can impersonate TLS 1.3 servers and bypass authentication. Users
|
||||
that have applications with client side code and have TLS 1.3 turned on,
|
||||
should update to the latest version of wolfSSL. Users that do not have
|
||||
TLS 1.3 turned on, or that are server side only, are NOT affected by this
|
||||
report. Thanks to Gerald Doussot from NCC group for the report.
|
||||
* Denial of service attack on TLS 1.3 servers from repetitively sending
|
||||
ChangeCipherSpecs messages. This denial of service results from the
|
||||
relatively low effort of sending a ChangeCipherSpecs message versus the
|
||||
effort of the server to process that message. Users with TLS 1.3 servers are
|
||||
recommended to update to the most recent version of wolfSSL which limits the
|
||||
number of TLS 1.3 ChangeCipherSpecs that can be received in order to avoid
|
||||
this DoS attack. CVE-2020-12457 was reserved for the report. Thanks to
|
||||
Lenny Wang of Tencent Security Xuanwu LAB.
|
||||
* Potential cache timing attacks on public key operations in builds that are
|
||||
not using SP (single precision). Users that have a system where malicious
|
||||
agents could execute code on the system, are not using the SP build with
|
||||
wolfSSL, and are doing private key operations on the system (such as signing
|
||||
with a private key) are recommended to regenerate private keys and update to
|
||||
the most recent version of wolfSSL. CVE-2020-15309 is reserved for this
|
||||
issue. Thanks to Ida Bruhns from Universität zu Lübeck for the report.
|
||||
* When using SGX with EC scalar multiplication the possibility of side-channel
|
||||
attacks are present. To mitigate the risk of side channel attacks wolfSSL’s
|
||||
single precision EC operations should be used instead. Release 4.5.0 turns
|
||||
this on be default now with SGX builds and in previous versions of wolfSSL
|
||||
this can be turned on by using the WOLFSSL_SP macros. Thank you to
|
||||
Alejandro Cabrera Aldaya, Cesar Pereida García and Billy Bob Brumley from
|
||||
the Network and Information Security Group (NISEC) at Tampere University for
|
||||
the report.
|
||||
* Leak of private key in the case that PEM format private keys are bundled in
|
||||
with PEM certificates into a single file. This is due to the
|
||||
misclassification of certificate type versus private key type when parsing
|
||||
through the PEM file. To be affected, wolfSSL would need to have been built
|
||||
with OPENSSL_EXTRA (--enable-opensslextra). Some build variants such as
|
||||
--enable-all and --enable-opensslall also turn on this code path, checking
|
||||
wolfssl/options.h for OPENSSL_EXTRA will show if the macro was used with the
|
||||
build. If having built with the opensslextra enable option and having placed
|
||||
PEM certificates with PEM private keys in the same file when loading up the
|
||||
certificate file, then we recommend updating wolfSSL for this use case and
|
||||
also recommend regenerating any private keys in the file.
|
||||
* During the handshake, clear application_data messages in epoch 0 are
|
||||
processed and returned to the application. Fixed by dropping received
|
||||
application_data messages in epoch 0. Thank you to Paul Fiterau of Uppsala
|
||||
University and Robert Merget of Ruhr-University Bochum for the report.
|
||||
|
||||
For additional vulnerability information visit the vulnerability page at
|
||||
https://www.wolfssl.com/docs/security-vulnerabilities/
|
||||
|
||||
See INSTALL file for build instructions.
|
||||
More info can be found on-line at https://wolfssl.com/wolfSSL/Docs.html
|
||||
|
||||
|
||||
|
||||
*** Resources ***
|
||||
|
||||
|
||||
[wolfSSL Website](https://www.wolfssl.com/)
|
||||
|
||||
[wolfSSL Wiki](https://github.com/wolfSSL/wolfssl/wiki)
|
||||
|
||||
[FIPS FAQ](https://wolfssl.com/license/fips)
|
||||
|
||||
[wolfSSL Documents](https://wolfssl.com/wolfSSL/Docs.html)
|
||||
|
||||
[wolfSSL Manual](https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-toc.html)
|
||||
|
||||
[wolfSSL API Reference]
|
||||
(https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-17-wolfssl-api-reference.html)
|
||||
|
||||
[wolfCrypt API Reference]
|
||||
(https://wolfssl.com/wolfSSL/Docs-wolfssl-manual-18-wolfcrypt-api-reference.html)
|
||||
|
||||
[TLS 1.3](https://www.wolfssl.com/docs/tls13/)
|
||||
|
||||
[wolfSSL Vulnerabilities]
|
||||
(https://www.wolfssl.com/docs/security-vulnerabilities/)
|
||||
+1183
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,190 @@
|
||||
/* config.h. Generated from config.in by configure. */
|
||||
/* config.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define if building universal (internal helper macro) */
|
||||
/* #undef AC_APPLE_UNIVERSAL_BUILD */
|
||||
|
||||
/* User RSA is being defined */
|
||||
#define BUILD_USER_RSA /**/
|
||||
|
||||
/* Define to 1 to enable debugging code. */
|
||||
#define DEBUG 0
|
||||
|
||||
/* Define to 1 if you have the <arpa/inet.h> header file. */
|
||||
#define HAVE_ARPA_INET_H 1
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#define HAVE_DLFCN_H 1
|
||||
|
||||
/* Define to 1 if you have the <errno.h> header file. */
|
||||
#define HAVE_ERRNO_H 1
|
||||
|
||||
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||
#define HAVE_FCNTL_H 1
|
||||
|
||||
/* Define to 1 if you have the `getaddrinfo' function. */
|
||||
#define HAVE_GETADDRINFO 1
|
||||
|
||||
/* Define to 1 if you have the `gethostbyname' function. */
|
||||
#define HAVE_GETHOSTBYNAME 1
|
||||
|
||||
/* Define to 1 if you have the `gettimeofday' function. */
|
||||
#define HAVE_GETTIMEOFDAY 1
|
||||
|
||||
/* Define to 1 if you have the `gmtime_r' function. */
|
||||
#define HAVE_GMTIME_R 1
|
||||
|
||||
/* Define to 1 if you have the `inet_ntoa' function. */
|
||||
#define HAVE_INET_NTOA 1
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#define HAVE_INTTYPES_H 1
|
||||
|
||||
/* Define to 1 if you have the <ippcp.h> header file. */
|
||||
/* #undef HAVE_IPPCP_H */
|
||||
|
||||
/* Define to 1 if you have the `network' library (-lnetwork). */
|
||||
/* #undef HAVE_LIBNETWORK */
|
||||
|
||||
/* Define to 1 if you have the `pthread' library (-lpthread). */
|
||||
/* #undef HAVE_LIBPTHREAD */
|
||||
|
||||
/* Define to 1 if you have the <limits.h> header file. */
|
||||
#define HAVE_LIMITS_H 1
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#define HAVE_MEMORY_H 1
|
||||
|
||||
/* Define to 1 if you have the `memset' function. */
|
||||
#define HAVE_MEMSET 1
|
||||
|
||||
/* Define to 1 if you have the <netdb.h> header file. */
|
||||
#define HAVE_NETDB_H 1
|
||||
|
||||
/* Define to 1 if you have the <netinet/in.h> header file. */
|
||||
#define HAVE_NETINET_IN_H 1
|
||||
|
||||
/* Define to 1 if you have the <pcap/pcap.h> header file. */
|
||||
/* #undef HAVE_PCAP_PCAP_H */
|
||||
|
||||
/* Define if you have POSIX threads libraries and header files. */
|
||||
#define HAVE_PTHREAD 1
|
||||
|
||||
/* Have PTHREAD_PRIO_INHERIT. */
|
||||
#define HAVE_PTHREAD_PRIO_INHERIT 1
|
||||
|
||||
/* Define to 1 if you have the `socket' function. */
|
||||
#define HAVE_SOCKET 1
|
||||
|
||||
/* Define to 1 if you have the <stddef.h> header file. */
|
||||
#define HAVE_STDDEF_H 1
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#define HAVE_STDINT_H 1
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#define HAVE_STDLIB_H 1
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#define HAVE_STRINGS_H 1
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#define HAVE_STRING_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/ioctl.h> header file. */
|
||||
#define HAVE_SYS_IOCTL_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/socket.h> header file. */
|
||||
#define HAVE_SYS_SOCKET_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#define HAVE_SYS_STAT_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||
#define HAVE_SYS_TIME_H 1
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#define HAVE_SYS_TYPES_H 1
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#define HAVE_UNISTD_H 1
|
||||
|
||||
/* Define to 1 or 0, depending whether the compiler supports simple visibility
|
||||
declarations. */
|
||||
#define HAVE_VISIBILITY 1
|
||||
|
||||
/* Define to 1 if the system has the type `__uint128_t'. */
|
||||
#define HAVE___UINT128_T 1
|
||||
|
||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
#define LT_OBJDIR ".libs/"
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#define PACKAGE_BUGREPORT "https://github.com/wolfssl/wolfssl/issues"
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#define PACKAGE_NAME "wolfssl"
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#define PACKAGE_STRING "wolfssl 4.4.0"
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#define PACKAGE_TARNAME "wolfssl"
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#define PACKAGE_URL "https://www.wolfssl.com"
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#define PACKAGE_VERSION "4.4.0"
|
||||
|
||||
/* Define to necessary symbol if this constant uses a non-standard name on
|
||||
your system. */
|
||||
/* #undef PTHREAD_CREATE_JOINABLE */
|
||||
|
||||
/* The size of `long', as computed by sizeof. */
|
||||
#define SIZEOF_LONG 8
|
||||
|
||||
/* The size of `long long', as computed by sizeof. */
|
||||
#define SIZEOF_LONG_LONG 8
|
||||
|
||||
/* The size of `time_t', as computed by sizeof. */
|
||||
#define SIZEOF_TIME_T 8
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#define STDC_HEADERS 1
|
||||
|
||||
/* If the compiler supports a TLS storage class define it to that here */
|
||||
#define TLS __thread
|
||||
|
||||
/* Define if the code was built from VCS. */
|
||||
#define VCS_CHECKOUT 0
|
||||
|
||||
/* VCS system */
|
||||
#define VCS_SYSTEM "none"
|
||||
|
||||
/* Use __declspec(dllexport) when building library */
|
||||
/* #undef WOLFSSL_DLL */
|
||||
|
||||
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
|
||||
significant byte first (like Motorola and SPARC, unlike Intel). */
|
||||
#if defined AC_APPLE_UNIVERSAL_BUILD
|
||||
# if defined __BIG_ENDIAN__
|
||||
# define WORDS_BIGENDIAN 1
|
||||
# endif
|
||||
#else
|
||||
# ifndef WORDS_BIGENDIAN
|
||||
/* # undef WORDS_BIGENDIAN */
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>,
|
||||
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
|
||||
#define below would cause a syntax error. */
|
||||
/* #undef _UINT8_T */
|
||||
|
||||
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||
/* #undef size_t */
|
||||
|
||||
/* Define to the type of an unsigned integer type of width exactly 8 bits if
|
||||
such a type exists and the standard includes do not define it. */
|
||||
/* #undef uint8_t */
|
||||
@@ -0,0 +1,189 @@
|
||||
/* config.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define if building universal (internal helper macro) */
|
||||
#undef AC_APPLE_UNIVERSAL_BUILD
|
||||
|
||||
/* User RSA is being defined */
|
||||
#undef BUILD_USER_RSA
|
||||
|
||||
/* Define to 1 to enable debugging code. */
|
||||
#undef DEBUG
|
||||
|
||||
/* Define to 1 if you have the <arpa/inet.h> header file. */
|
||||
#undef HAVE_ARPA_INET_H
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <errno.h> header file. */
|
||||
#undef HAVE_ERRNO_H
|
||||
|
||||
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||
#undef HAVE_FCNTL_H
|
||||
|
||||
/* Define to 1 if you have the `getaddrinfo' function. */
|
||||
#undef HAVE_GETADDRINFO
|
||||
|
||||
/* Define to 1 if you have the `gethostbyname' function. */
|
||||
#undef HAVE_GETHOSTBYNAME
|
||||
|
||||
/* Define to 1 if you have the `gettimeofday' function. */
|
||||
#undef HAVE_GETTIMEOFDAY
|
||||
|
||||
/* Define to 1 if you have the `gmtime_r' function. */
|
||||
#undef HAVE_GMTIME_R
|
||||
|
||||
/* Define to 1 if you have the `inet_ntoa' function. */
|
||||
#undef HAVE_INET_NTOA
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the <ippcp.h> header file. */
|
||||
#undef HAVE_IPPCP_H
|
||||
|
||||
/* Define to 1 if you have the `network' library (-lnetwork). */
|
||||
#undef HAVE_LIBNETWORK
|
||||
|
||||
/* Define to 1 if you have the `pthread' library (-lpthread). */
|
||||
#undef HAVE_LIBPTHREAD
|
||||
|
||||
/* Define to 1 if you have the <limits.h> header file. */
|
||||
#undef HAVE_LIMITS_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the `memset' function. */
|
||||
#undef HAVE_MEMSET
|
||||
|
||||
/* Define to 1 if you have the <netdb.h> header file. */
|
||||
#undef HAVE_NETDB_H
|
||||
|
||||
/* Define to 1 if you have the <netinet/in.h> header file. */
|
||||
#undef HAVE_NETINET_IN_H
|
||||
|
||||
/* Define to 1 if you have the <pcap/pcap.h> header file. */
|
||||
#undef HAVE_PCAP_PCAP_H
|
||||
|
||||
/* Define if you have POSIX threads libraries and header files. */
|
||||
#undef HAVE_PTHREAD
|
||||
|
||||
/* Have PTHREAD_PRIO_INHERIT. */
|
||||
#undef HAVE_PTHREAD_PRIO_INHERIT
|
||||
|
||||
/* Define to 1 if you have the `socket' function. */
|
||||
#undef HAVE_SOCKET
|
||||
|
||||
/* Define to 1 if you have the <stddef.h> header file. */
|
||||
#undef HAVE_STDDEF_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/ioctl.h> header file. */
|
||||
#undef HAVE_SYS_IOCTL_H
|
||||
|
||||
/* Define to 1 if you have the <sys/socket.h> header file. */
|
||||
#undef HAVE_SYS_SOCKET_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/time.h> header file. */
|
||||
#undef HAVE_SYS_TIME_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define to 1 or 0, depending whether the compiler supports simple visibility
|
||||
declarations. */
|
||||
#undef HAVE_VISIBILITY
|
||||
|
||||
/* Define to 1 if the system has the type `__uint128_t'. */
|
||||
#undef HAVE___UINT128_T
|
||||
|
||||
/* Define to the sub-directory where libtool stores uninstalled libraries. */
|
||||
#undef LT_OBJDIR
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the home page for this package. */
|
||||
#undef PACKAGE_URL
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define to necessary symbol if this constant uses a non-standard name on
|
||||
your system. */
|
||||
#undef PTHREAD_CREATE_JOINABLE
|
||||
|
||||
/* The size of `long', as computed by sizeof. */
|
||||
#undef SIZEOF_LONG
|
||||
|
||||
/* The size of `long long', as computed by sizeof. */
|
||||
#undef SIZEOF_LONG_LONG
|
||||
|
||||
/* The size of `time_t', as computed by sizeof. */
|
||||
#undef SIZEOF_TIME_T
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* If the compiler supports a TLS storage class define it to that here */
|
||||
#undef TLS
|
||||
|
||||
/* Define if the code was built from VCS. */
|
||||
#undef VCS_CHECKOUT
|
||||
|
||||
/* VCS system */
|
||||
#undef VCS_SYSTEM
|
||||
|
||||
/* Use __declspec(dllexport) when building library */
|
||||
#undef WOLFSSL_DLL
|
||||
|
||||
/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
|
||||
significant byte first (like Motorola and SPARC, unlike Intel). */
|
||||
#if defined AC_APPLE_UNIVERSAL_BUILD
|
||||
# if defined __BIG_ENDIAN__
|
||||
# define WORDS_BIGENDIAN 1
|
||||
# endif
|
||||
#else
|
||||
# ifndef WORDS_BIGENDIAN
|
||||
# undef WORDS_BIGENDIAN
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Define for Solaris 2.5.1 so the uint8_t typedef from <sys/synch.h>,
|
||||
<pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
|
||||
#define below would cause a syntax error. */
|
||||
#undef _UINT8_T
|
||||
|
||||
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||
#undef size_t
|
||||
|
||||
/* Define to the type of an unsigned integer type of width exactly 8 bits if
|
||||
such a type exists and the standard includes do not define it. */
|
||||
#undef uint8_t
|
||||
+30151
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
if test ! -x ./wolfcrypt/test/testwolfcrypt
|
||||
then
|
||||
echo "fips-hash: wolfCrypt test missing"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test ! -s ./wolfcrypt/src/fips_test.c
|
||||
then
|
||||
echo "fips-hash: fips_test.c missing"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
NEWHASH=$(./wolfcrypt/test/testwolfcrypt | sed -n 's/hash = \(.*\)/\1/p')
|
||||
if test -n "$NEWHASH"
|
||||
then
|
||||
cp wolfcrypt/src/fips_test.c wolfcrypt/src/fips_test.c.bak
|
||||
sed "s/^\".*\";/\"${NEWHASH}\";/" wolfcrypt/src/fips_test.c.bak >wolfcrypt/src/fips_test.c
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,283 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
# gencertbuf.pl
|
||||
# version 1.1
|
||||
# Updated 07/01/2014
|
||||
#
|
||||
# Copyright (C) 2006-2015 wolfSSL Inc.
|
||||
#
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
# ---- SCRIPT SETTINGS -------------------------------------------------------
|
||||
|
||||
# output C header file to write cert/key buffers to
|
||||
my $outputFile = "./wolfssl/certs_test.h";
|
||||
|
||||
# ecc keys and certs to be converted
|
||||
# Used with HAVE_ECC && USE_CERT_BUFFERS_256
|
||||
|
||||
my @fileList_ecc = (
|
||||
[ "./certs/ecc-client-key.der", "ecc_clikey_der_256" ],
|
||||
[ "./certs/ecc-client-keyPub.der", "ecc_clikeypub_der_256" ],
|
||||
[ "./certs/client-ecc-cert.der", "cliecc_cert_der_256" ],
|
||||
[ "./certs/ecc-key.der", "ecc_key_der_256" ],
|
||||
[ "./certs/ecc-keyPub.der", "ecc_key_pub_der_256" ],
|
||||
[ "./certs/server-ecc-comp.der", "serv_ecc_comp_der_256" ],
|
||||
[ "./certs/server-ecc-rsa.der", "serv_ecc_rsa_der_256" ],
|
||||
[ "./certs/server-ecc.der", "serv_ecc_der_256" ],
|
||||
[ "./certs/ca-ecc-key.der", "ca_ecc_key_der_256" ],
|
||||
[ "./certs/ca-ecc-cert.der", "ca_ecc_cert_der_256" ],
|
||||
[ "./certs/ca-ecc384-key.der", "ca_ecc_key_der_384" ],
|
||||
[ "./certs/ca-ecc384-cert.der", "ca_ecc_cert_der_384" ]
|
||||
);
|
||||
|
||||
|
||||
# ed25519 keys and certs
|
||||
# Used with HAVE_ED25519 define.
|
||||
my @fileList_ed = (
|
||||
[ "./certs/ed25519/server-ed25519.der", "server_ed25519_cert" ],
|
||||
[ "./certs/ed25519/server-ed25519-key.der", "server_ed25519_key" ],
|
||||
[ "./certs/ed25519/ca-ed25519.der", "ca_ed25519_cert" ],
|
||||
[ "./certs/ed25519/client-ed25519.der", "client_ed25519_cert" ],
|
||||
[ "./certs/ed25519/client-ed25519-key.der", "client_ed25519_key" ]
|
||||
);
|
||||
|
||||
# 1024-bit certs/keys to be converted
|
||||
# Used with USE_CERT_BUFFERS_1024 define.
|
||||
|
||||
my @fileList_1024 = (
|
||||
[ "./certs/1024/client-key.der", "client_key_der_1024" ],
|
||||
[ "./certs/1024/client-keyPub.der", "client_keypub_der_1024" ],
|
||||
[ "./certs/1024/client-cert.der", "client_cert_der_1024" ],
|
||||
[ "./certs/1024/dh1024.der", "dh_key_der_1024" ],
|
||||
[ "./certs/1024/dsa1024.der", "dsa_key_der_1024" ],
|
||||
[ "./certs/1024/rsa1024.der", "rsa_key_der_1024" ],
|
||||
[ "./certs/1024/ca-key.der", "ca_key_der_1024"],
|
||||
[ "./certs/1024/ca-cert.der", "ca_cert_der_1024" ],
|
||||
[ "./certs/1024/server-key.der", "server_key_der_1024" ],
|
||||
[ "./certs/1024/server-cert.der", "server_cert_der_1024" ]
|
||||
);
|
||||
|
||||
# 2048-bit certs/keys to be converted
|
||||
# Used with USE_CERT_BUFFERS_2048 define.
|
||||
my @fileList_2048 = (
|
||||
[ "./certs/client-key.der", "client_key_der_2048" ],
|
||||
[ "./certs/client-keyPub.der", "client_keypub_der_2048" ],
|
||||
[ "./certs/client-cert.der", "client_cert_der_2048" ],
|
||||
[ "./certs/dh2048.der", "dh_key_der_2048" ],
|
||||
[ "./certs/dsa2048.der", "dsa_key_der_2048" ],
|
||||
[ "./certs/rsa2048.der", "rsa_key_der_2048" ],
|
||||
[ "./certs/ca-key.der", "ca_key_der_2048" ],
|
||||
[ "./certs/ca-cert.der", "ca_cert_der_2048" ],
|
||||
[ "./certs/ca-cert-chain.der", "ca_cert_chain_der" ],
|
||||
[ "./certs/server-key.der", "server_key_der_2048" ],
|
||||
[ "./certs/server-cert.der", "server_cert_der_2048" ]
|
||||
);
|
||||
|
||||
# 3072-bit certs/keys to be converted
|
||||
# Used with USE_CERT_BUFFERS_3072 define.
|
||||
my @fileList_3072 = (
|
||||
[ "./certs/dh3072.der", "dh_key_der_3072" ],
|
||||
[ "./certs/dsa3072.der", "dsa_key_der_3072" ],
|
||||
[ "./certs/rsa3072.der", "rsa_key_der_3072" ],
|
||||
[ "./certs/3072/client-key.der", "client_key_der_3072" ],
|
||||
[ "./certs/3072/client-keyPub.der", "client_keypub_der_3072" ],
|
||||
[ "./certs/3072/client-cert.der", "client_cert_der_3072" ],
|
||||
);
|
||||
|
||||
# 4096-bit certs/keys to be converted
|
||||
# Used with USE_CERT_BUFFERS_4096 define.
|
||||
my @fileList_4096 = (
|
||||
[ "./certs/4096/client-key.der", "client_key_der_4096" ],
|
||||
[ "./certs/4096/client-keyPub.der", "client_keypub_der_4096" ],
|
||||
[ "./certs/4096/client-cert.der", "client_cert_der_4096" ],
|
||||
[ "./certs/dh4096.der", "dh_key_der_4096" ],
|
||||
);
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
my $num_ecc = @fileList_ecc;
|
||||
my $num_ed = @fileList_ed;
|
||||
my $num_1024 = @fileList_1024;
|
||||
my $num_2048 = @fileList_2048;
|
||||
my $num_3072 = @fileList_3072;
|
||||
my $num_4096 = @fileList_4096;
|
||||
|
||||
# open our output file, "+>" creates and/or truncates
|
||||
open OUT_FILE, "+>", $outputFile or die $!;
|
||||
|
||||
print OUT_FILE "/* certs_test.h */\n\n";
|
||||
print OUT_FILE "#ifndef WOLFSSL_CERTS_TEST_H\n";
|
||||
print OUT_FILE "#define WOLFSSL_CERTS_TEST_H\n\n";
|
||||
|
||||
|
||||
# convert and print 1024-bit cert/keys
|
||||
print OUT_FILE "#ifdef USE_CERT_BUFFERS_1024\n\n";
|
||||
for (my $i = 0; $i < $num_1024; $i++) {
|
||||
|
||||
my $fname = $fileList_1024[$i][0];
|
||||
my $sname = $fileList_1024[$i][1];
|
||||
|
||||
print OUT_FILE "/* $fname, 1024-bit */\n";
|
||||
print OUT_FILE "static const unsigned char $sname\[] =\n";
|
||||
print OUT_FILE "{\n";
|
||||
file_to_hex($fname);
|
||||
print OUT_FILE "};\n";
|
||||
print OUT_FILE "static const int sizeof_$sname = sizeof($sname);\n\n";
|
||||
}
|
||||
print OUT_FILE "#endif /* USE_CERT_BUFFERS_1024 */\n\n";
|
||||
|
||||
|
||||
# convert and print 2048-bit certs/keys
|
||||
print OUT_FILE "#ifdef USE_CERT_BUFFERS_2048\n\n";
|
||||
for (my $i = 0; $i < $num_2048; $i++) {
|
||||
|
||||
my $fname = $fileList_2048[$i][0];
|
||||
my $sname = $fileList_2048[$i][1];
|
||||
|
||||
print OUT_FILE "/* $fname, 2048-bit */\n";
|
||||
print OUT_FILE "static const unsigned char $sname\[] =\n";
|
||||
print OUT_FILE "{\n";
|
||||
file_to_hex($fname);
|
||||
print OUT_FILE "};\n";
|
||||
print OUT_FILE "static const int sizeof_$sname = sizeof($sname);\n\n";
|
||||
}
|
||||
|
||||
|
||||
print OUT_FILE "#endif /* USE_CERT_BUFFERS_2048 */\n\n";
|
||||
|
||||
|
||||
# convert and print 3072-bit certs/keys
|
||||
print OUT_FILE "#ifdef USE_CERT_BUFFERS_3072\n\n";
|
||||
for (my $i = 0; $i < $num_3072; $i++) {
|
||||
|
||||
my $fname = $fileList_3072[$i][0];
|
||||
my $sname = $fileList_3072[$i][1];
|
||||
|
||||
print OUT_FILE "/* $fname, 3072-bit */\n";
|
||||
print OUT_FILE "static const unsigned char $sname\[] =\n";
|
||||
print OUT_FILE "{\n";
|
||||
file_to_hex($fname);
|
||||
print OUT_FILE "};\n";
|
||||
print OUT_FILE "static const int sizeof_$sname = sizeof($sname);\n\n";
|
||||
}
|
||||
|
||||
print OUT_FILE "#endif /* USE_CERT_BUFFERS_3072 */\n\n";
|
||||
|
||||
|
||||
# convert and print 4096-bit certs/keys
|
||||
print OUT_FILE "#ifdef USE_CERT_BUFFERS_4096\n\n";
|
||||
for (my $i = 0; $i < $num_4096; $i++) {
|
||||
|
||||
my $fname = $fileList_4096[$i][0];
|
||||
my $sname = $fileList_4096[$i][1];
|
||||
|
||||
print OUT_FILE "/* $fname, 4096-bit */\n";
|
||||
print OUT_FILE "static const unsigned char $sname\[] =\n";
|
||||
print OUT_FILE "{\n";
|
||||
file_to_hex($fname);
|
||||
print OUT_FILE "};\n";
|
||||
print OUT_FILE "static const int sizeof_$sname = sizeof($sname);\n\n";
|
||||
}
|
||||
|
||||
print OUT_FILE "#endif /* USE_CERT_BUFFERS_4096 */\n\n";
|
||||
|
||||
|
||||
# convert and print 256-bit cert/keys
|
||||
print OUT_FILE "#if defined(HAVE_ECC) && defined(USE_CERT_BUFFERS_256)\n\n";
|
||||
for (my $i = 0; $i < $num_ecc; $i++) {
|
||||
|
||||
my $fname = $fileList_ecc[$i][0];
|
||||
my $sname = $fileList_ecc[$i][1];
|
||||
|
||||
print OUT_FILE "/* $fname, ECC */\n";
|
||||
print OUT_FILE "static const unsigned char $sname\[] =\n";
|
||||
print OUT_FILE "{\n";
|
||||
file_to_hex($fname);
|
||||
print OUT_FILE "};\n";
|
||||
print OUT_FILE "static const int sizeof_$sname = sizeof($sname);\n\n";
|
||||
}
|
||||
print OUT_FILE "#endif /* HAVE_ECC && USE_CERT_BUFFERS_256 */\n\n";
|
||||
|
||||
|
||||
print OUT_FILE "/* dh1024 p */
|
||||
static const unsigned char dh_p[] =
|
||||
{
|
||||
0xE6, 0x96, 0x9D, 0x3D, 0x49, 0x5B, 0xE3, 0x2C, 0x7C, 0xF1, 0x80, 0xC3,
|
||||
0xBD, 0xD4, 0x79, 0x8E, 0x91, 0xB7, 0x81, 0x82, 0x51, 0xBB, 0x05, 0x5E,
|
||||
0x2A, 0x20, 0x64, 0x90, 0x4A, 0x79, 0xA7, 0x70, 0xFA, 0x15, 0xA2, 0x59,
|
||||
0xCB, 0xD5, 0x23, 0xA6, 0xA6, 0xEF, 0x09, 0xC4, 0x30, 0x48, 0xD5, 0xA2,
|
||||
0x2F, 0x97, 0x1F, 0x3C, 0x20, 0x12, 0x9B, 0x48, 0x00, 0x0E, 0x6E, 0xDD,
|
||||
0x06, 0x1C, 0xBC, 0x05, 0x3E, 0x37, 0x1D, 0x79, 0x4E, 0x53, 0x27, 0xDF,
|
||||
0x61, 0x1E, 0xBB, 0xBE, 0x1B, 0xAC, 0x9B, 0x5C, 0x60, 0x44, 0xCF, 0x02,
|
||||
0x3D, 0x76, 0xE0, 0x5E, 0xEA, 0x9B, 0xAD, 0x99, 0x1B, 0x13, 0xA6, 0x3C,
|
||||
0x97, 0x4E, 0x9E, 0xF1, 0x83, 0x9E, 0xB5, 0xDB, 0x12, 0x51, 0x36, 0xF7,
|
||||
0x26, 0x2E, 0x56, 0xA8, 0x87, 0x15, 0x38, 0xDF, 0xD8, 0x23, 0xC6, 0x50,
|
||||
0x50, 0x85, 0xE2, 0x1F, 0x0D, 0xD5, 0xC8, 0x6B,
|
||||
};
|
||||
|
||||
/* dh1024 g */
|
||||
static const unsigned char dh_g[] =
|
||||
{
|
||||
0x02,
|
||||
};\n\n";
|
||||
|
||||
# convert and print ed25519 cert/keys
|
||||
print OUT_FILE "#if defined(HAVE_ED25519)\n\n";
|
||||
for (my $i = 0; $i < $num_ed; $i++) {
|
||||
|
||||
my $fname = $fileList_ed[$i][0];
|
||||
my $sname = $fileList_ed[$i][1];
|
||||
|
||||
print OUT_FILE "/* $fname, ED25519 */\n";
|
||||
print OUT_FILE "static const unsigned char $sname\[] =\n";
|
||||
print OUT_FILE "{\n";
|
||||
file_to_hex($fname);
|
||||
print OUT_FILE "};\n";
|
||||
print OUT_FILE "static const int sizeof_$sname = sizeof($sname);\n\n";
|
||||
}
|
||||
print OUT_FILE "#endif /* HAVE_ED25519 */\n\n";
|
||||
|
||||
print OUT_FILE "#endif /* WOLFSSL_CERTS_TEST_H */\n\n";
|
||||
|
||||
# close certs_test.h file
|
||||
close OUT_FILE or die $!;
|
||||
|
||||
# print file as hex, comma-separated, as needed by C buffer
|
||||
sub file_to_hex {
|
||||
my $fileName = $_[0];
|
||||
|
||||
open my $fp, "<", $fileName or die $!;
|
||||
binmode($fp);
|
||||
|
||||
my $fileLen = -s $fileName;
|
||||
my $byte;
|
||||
|
||||
for (my $i = 0, my $j = 1; $i < $fileLen; $i++, $j++)
|
||||
{
|
||||
if ($j == 1) {
|
||||
print OUT_FILE " ";
|
||||
}
|
||||
if ($j != 1) {
|
||||
print OUT_FILE " ";
|
||||
}
|
||||
read($fp, $byte, 1) or die "Error reading $fileName";
|
||||
my $output = sprintf("0x%02X", ord($byte));
|
||||
print OUT_FILE $output;
|
||||
|
||||
if ($i != ($fileLen - 1)) {
|
||||
print OUT_FILE ",";
|
||||
}
|
||||
|
||||
if ($j == 10) {
|
||||
$j = 0;
|
||||
print OUT_FILE "\n";
|
||||
}
|
||||
}
|
||||
|
||||
print OUT_FILE "\n";
|
||||
|
||||
close($fp);
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,89 @@
|
||||
/* echoclient.c */
|
||||
|
||||
#include "openssl/ssl.h"
|
||||
#include "../test.h"
|
||||
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
SOCKET_T sockfd = 0;
|
||||
|
||||
FILE* fin = stdin;
|
||||
FILE* fout = stdout;
|
||||
|
||||
int inCreated = 0;
|
||||
int outCreated = 0;
|
||||
|
||||
char send[1024];
|
||||
char reply[1024];
|
||||
|
||||
SSL_METHOD* method = 0;
|
||||
SSL_CTX* ctx = 0;
|
||||
SSL* ssl = 0;
|
||||
|
||||
#ifdef _WIN32
|
||||
WSADATA wsd;
|
||||
WSAStartup(0x0002, &wsd);
|
||||
#endif
|
||||
|
||||
if (argc >= 2) {
|
||||
fin = fopen(argv[1], "r");
|
||||
inCreated = 1;
|
||||
}
|
||||
if (argc >= 3) {
|
||||
fout = fopen(argv[2], "w");
|
||||
outCreated = 1;
|
||||
}
|
||||
|
||||
if (!fin) err_sys("can't open input file");
|
||||
if (!fout) err_sys("can't open output file");
|
||||
|
||||
tcp_connect(&sockfd);
|
||||
|
||||
method = SSLv3_client_method();
|
||||
ctx = SSL_CTX_new(method);
|
||||
|
||||
if (SSL_CTX_load_verify_locations(ctx, caCert, 0) != SSL_SUCCESS)
|
||||
err_sys("can't load ca file");
|
||||
|
||||
ssl = SSL_new(ctx);
|
||||
|
||||
if (SSL_set_fd(ssl, sockfd) != SSL_SUCCESS)
|
||||
err_sys("can't set ssl fd");
|
||||
|
||||
if (SSL_connect(ssl) != SSL_SUCCESS) err_sys("SSL_connect failed");
|
||||
|
||||
while (fgets(send, sizeof(send), fin)) {
|
||||
|
||||
int sendSz = strlen(send) + 1;
|
||||
|
||||
if (SSL_write(ssl, send, sendSz) != sendSz)
|
||||
err_sys("SSL_write failed");
|
||||
|
||||
if (strncmp(send, "quit", 4) == 0) {
|
||||
fputs("sending server shutdown command: quit!\n", fout);
|
||||
break;
|
||||
}
|
||||
|
||||
if (SSL_read(ssl, reply, sizeof(reply)) > 0)
|
||||
fputs(reply, fout);
|
||||
}
|
||||
|
||||
SSL_shutdown(ssl);
|
||||
SSL_free(ssl);
|
||||
SSL_CTX_free(ctx);
|
||||
|
||||
fflush(fout);
|
||||
if (inCreated) fclose(fin);
|
||||
if (outCreated) fclose(fout);
|
||||
|
||||
#ifdef _WIN32
|
||||
closesocket(sockfd);
|
||||
#else
|
||||
close(sockfd);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
quit
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,41 @@
|
||||
# libwolfssl.la - a libtool library file
|
||||
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# The name that we can dlopen(3).
|
||||
dlname='libwolfssl.so.24'
|
||||
|
||||
# Names of this library.
|
||||
library_names='libwolfssl.so.24.1.0 libwolfssl.so.24 libwolfssl.so'
|
||||
|
||||
# The name of the static archive.
|
||||
old_library=''
|
||||
|
||||
# Linker flags that cannot go in dependency_libs.
|
||||
inherited_linker_flags=' -pthread'
|
||||
|
||||
# Libraries that this one depends upon.
|
||||
dependency_libs=' -lm'
|
||||
|
||||
# Names of additional weak libraries provided by this library
|
||||
weak_library_names=''
|
||||
|
||||
# Version information for libwolfssl.
|
||||
current=25
|
||||
age=1
|
||||
revision=0
|
||||
|
||||
# Is this an already installed library?
|
||||
installed=no
|
||||
|
||||
# Should we warn about portability when linking against -modules?
|
||||
shouldnotlink=no
|
||||
|
||||
# Files to dlopen/dlpreopen
|
||||
dlopen=''
|
||||
dlpreopen=''
|
||||
|
||||
# Directory that this library needs to be installed in:
|
||||
libdir='/usr/local/lib'
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,12 @@
|
||||
# src/src_libwolfssl_la-internal.lo - a libtool object file
|
||||
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# Name of the PIC object.
|
||||
pic_object='.libs/src_libwolfssl_la-internal.o'
|
||||
|
||||
# Name of the non-PIC object
|
||||
non_pic_object=none
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
# src/src_libwolfssl_la-keys.lo - a libtool object file
|
||||
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# Name of the PIC object.
|
||||
pic_object='.libs/src_libwolfssl_la-keys.o'
|
||||
|
||||
# Name of the non-PIC object
|
||||
non_pic_object=none
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
# src/src_libwolfssl_la-ssl.lo - a libtool object file
|
||||
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# Name of the PIC object.
|
||||
pic_object='.libs/src_libwolfssl_la-ssl.o'
|
||||
|
||||
# Name of the non-PIC object
|
||||
non_pic_object=none
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
# src/src_libwolfssl_la-tls.lo - a libtool object file
|
||||
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-2
|
||||
#
|
||||
# Please DO NOT delete this file!
|
||||
# It is necessary for linking the library.
|
||||
|
||||
# Name of the PIC object.
|
||||
pic_object='.libs/src_libwolfssl_la-tls.o'
|
||||
|
||||
# Name of the non-PIC object
|
||||
non_pic_object=none
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user