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:
TakayukiMatsuo 2020-10-24 11:35:06 +09:00 committed by GitHub
parent ee588710dd
commit c44794cd11
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
471 changed files with 792175 additions and 60158 deletions

View file

@ -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 */

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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 );
}
}
}
/*-----------------------------------------------------------*/

View file

@ -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 );
}
}

View file

@ -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>

View file

@ -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>

View file

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
</Project>

View file

@ -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-----

View file

@ -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 );
}
}
/*-----------------------------------------------------------*/

View file

@ -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-----

View file

@ -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-----

View file

@ -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*/

View file

@ -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. */

View file

@ -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 )
{

View file

@ -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-----

View file

@ -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-----

View file

@ -26,6 +26,10 @@
*
*
*----------------------------------------------------------------------------*/
#define WOLFSSL_TLS13
#define HAVE_FFDHE_2048
#define WC_RSA_PSS
#define HAVE_HKDF
#define HAVE_AESGCM