wolfssl-examples/picotcp
Andras Fekete 4c2f96ff64 Clean up wolfSSL path variable name 2024-04-04 13:28:23 -04:00
..
Makefile Clean up wolfSSL path variable name 2024-04-04 13:28:23 -04:00
README.md Phase 1 updates to wolfSSL examples based on testing with wolfSSL 2023-03-25 09:15:11 -05:00
picotcp-server.c Added picotcp-server example 2020-09-21 22:12:28 +02:00

README.md

TLS server using picoTCP via wolfSSL custom callbacks

This TLS server runs in userspace, using picoTCP as compiled-in TCP/IP stack.

picotcp-server has been tested on Linux using latest picoTCP master, and wolfSSL 4.5.0.

Requirements

  • PicoTCP v.1.7 or later
  • wolfSSL (default configuration)
  • Access to /dev/net/tun on the host system (typically root privileges)

How to compile picotcp-server

  • clone or download picoTCP
  • compile picoTCP with make ARCH=shared TAP=1 WOLFSSL=1
  • modify PICOTCP_PATH at the top of Makefile, pointing to the picoTCP root directory
  • run make

Testing picotcp-server

Run picotcp-server with no arguments. If the executable was run with the right permissions (i.e. accessing /dev/net/tun), a tap0 device will be created, and the picoTCP endpoint address is set to 10.0.0.1/24.

The TLS server listens to port 11111 by default, and can be reached using the TLS client example.

Example:

# Server side:
./picotcp-server

# On client side:
ip addr add dev tap0 10.0.0.2/24
ip link set tap0 up

./client-tls 10.0.0.1