wolfssl-examples/picotcp/README.md

40 lines
1.1 KiB
Markdown

## 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](https://github.com/tass-belgium/picotcp.git)
- 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](../tls/client-tls.c).
Example:
```(bash)
# 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
```