- mbedTLS/SSL_Client/Src/stm32f4xx_hal_timebase_tim.c HAL time base functions
- mbedTLS/SSL_Client/Src/net_socket.c mbedTLS TCP/IP socket API implementation using LwIP.
- mbedTLS/SSL_Client/Src/system_stm32f4xx.c STM32 system clock configuration file
@note Because of the low RAM size on the ST32F4 family the mbedtls_config.h is not the full-featured configuration.It is instead based on the configuration provided by the "config-suite-b.h" under mbedTLS-2.4.0/configs.
This file is the minimal configuration required for the TLS NSA Suite B Profile RFC(6460).
https://tools.ietf.org/html/rfc6460. Thus to get this application working both the SSL_Server and SSL_Client need to be configured with the same profile.
@par Hardware and Software environment
- This application runs on STM32F469xx/STM32479xx Devices.
- This application has been tested with two scenarios.
- Using a Host PC as server, running a Fedora 23 operating System or similar.
- Using a Windows PC as server, running Windows 7 operating system or later.
- using two STM32F469I_EVAL boards the first as server, the second as client.
- Senario 1:
- Remote PC Set-up
- Make sure that the PC is in the same local network as the baord.
- Using a Linux Machine
- Download the mebedTLS source code from (https://tls.mbed.org/download/start/mbedtls-2.4.0-apache.tgz)
- build the mbedTLS package following the instructions in the https://github.com/ARMmbed/mbedtls#make
- Once done, run the server application "programs/ssl/ssl_server".
- Using a Windows Machine
- Follow the instructions in the file "Firmware\Utilities\PC_Software\ssl_server\readme.txt" to run the ssl_server application.
- the "ssl_server" will wait for remote connections.
- Senario 2:
- a second STM32F469I_EVAL running the "mdedTLS/SSL_Server" application
- STM32F769I-Discovery Set-up
- Connect STM32F469I_EVAL to your local network (through a straight ethernet cable).
@par How to use it ?
In order to make the program work, you must do the following :
- Open your preferred toolchain
- edit the file "main.h" setup the correct "SERVER_NAME"
- Rebuild all files and load your image into target memory
- Run the application.
@Note: 1 Please ensure that the remote PC IP address is the same IP address
as the one defined in main.h in the "SERVER_NAME", and the port number
used for the connection is the same as the one defined in "SERVER_PORT"
2 If using two boards for testing and the DHCP is enabled then the "SSL_Server" needs to be
run first, to get the board IP Address and use it in the "SSL_Client" application.
3 To avoid network issues please make sure to assign different MAC addresses for boards connected
to the same LAN. Edit the values MAC_ADDR0, MAC_ADDR1, MAC_ADDR2, MAC_ADDR3, MAC_ADDR4, MAC_ADDR5