---
title: "STM32: ethernet w5500 with plain (HTTP) and SSL (HTTPS)"
url: "https://maker.wiznet.io/irina/projects/stm32%3A-ethernet-w5500-with-plain-http-and-ssl-https/"
markdown_url: "https://maker.wiznet.io/irina/projects/stm32%3A-ethernet-w5500-with-plain-http-and-ssl-https/md"
type: "UCC: User Created Content"
author: "RENZO MISCHIANTI"
author_url: "https://www.mischianti.org/2022/07/13/stm32-ethernet-w5500-with-plain-http-and-ssl-https/"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "RENZO MISCHIANTI"
original_url: "https://www.mischianti.org/2022/07/13/stm32-ethernet-w5500-with-plain-http-and-ssl-https/"
license: "Apache License 2.0 (Apache-2.0)"
published: "2022-09-21"
language: "en"
hardware: ["WIZnet W5500", "STMicroelectronics STM32F103RCT6", "STMicroelectronics STM32F411RE"]
likes: 12
views: 6225
comments: 4
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# STM32: ethernet w5500 with plain (HTTP) and SSL (HTTPS)

> OPEnS is with a quiet amount of resources, allows standard Arduino Ethernet to use secure connections.

Original author: RENZO MISCHIANTI (source: https://www.mischianti.org/2022/07/13/stm32-ethernet-w5500-with-plain-http-and-ssl-https/)

## Components

- **WIZnet W5500** x 1 ([docs](https://docs.wiznet.io/Product/Chip/Ethernet/W5500))
- **STMicroelectronics STM32F103RCT6** x 1 ([docs](https://estore.st.com/en/stm32f103rct6-cpn.html))
- **STMicroelectronics STM32F411RE** x 1 ([docs](https://www.st.com/en/microcontrollers-microprocessors/stm32f411re.html))
- Software: **Arduino IDE** ([docs](https://www.arduino.cc/en/software))

WIZnet parts: W5500 ([Datasheet](https://docs.wiznet.io/Product/Chip/Ethernet/W5500/datasheet?utm_source=maker&utm_medium=project&utm_campaign=w5500), [product hub](https://maker.wiznet.io/products/w5500/))

## Documents and links

- [source code](https://www.mischianti.org/2022/07/13/stm32-ethernet-w5500-with-plain-http-and-ssl-https/) (code)

## Article

### STM32F1

[![STM32F1 ethernet w5500 wiring breadboard](https://www.mischianti.org/wp-content/uploads/2022/03/STM32F1-ethernet-w5500-wiring-breadboard-1024x303.jpg)](https://www.mischianti.org/wp-content/uploads/2022/03/STM32F1-ethernet-w5500-wiring-breadboard.jpg)

### STM32F4

[![STM32F4 ethernet w5500 wiring breadboard](https://www.mischianti.org/wp-content/uploads/2022/03/STM32F4-ethernet-w5500-wiring-breadboard-1024x322.jpg)](https://www.mischianti.org/wp-content/uploads/2022/03/STM32F4-ethernet-w5500-wiring-breadboard.jpg)

| **STM32** | **w5500** |
| --- | --- |
| PA4 | CS |
| PA5 | SCK |
| PA6 | MISO |
| PA7 | MOSI |
| 3.3v (better with external 200mha) | VCC |
| GND | GND |

#### Retrieve certificate

To use an SSL, we need the server certificate, but in this case, SSLClient uses a trick given by BearSSL implementation. This minimal x509 verification engine allows using of Trust Anchors.

I add a simple online generator that you can find [here](https://www.mischianti.org/online-bearssl-certificate-trust-anchor-retriever-for-minimal-x509-verification-engine/).

You must only write the site’s address (httpbin.org) in the first input box, click `Generate code`, copy the code, and put it inside a file called `trust_anchors.h` and put it inside the sketch folder.

![BearSSL certificate trust anchor retriever online](https://www.mischianti.org/wp-content/uploads/2022/03/BearSSL-certificate-trust-anchor-retriever-online-589x1024.jpg)

---

Source: https://maker.wiznet.io/irina/projects/stm32%3A-ethernet-w5500-with-plain-http-and-ssl-https/
