wolfssl-examples/CSharp/README.md

47 lines
1018 B
Markdown

# C# Wrapper Examples
This directory contains examples that demonstrate using the C# wrapper.
These assume the use of `wolfssl\wrapper\CSharp\wolfSSL_CSharp.sln`.
## wolfSSL-TLS-pq
wolfSSL Server and Client using PQC algorithms (ML-KEM / ML-DSA).
### Build Options
`wrapper/CSharp/user_settings.h` already enables these, so a wolfSSL built
against it needs nothing added:
```
HAVE_MLKEM
WOLFSSL_HAVE_MLKEM
WOLFSSL_DTLS_CH_FRAG
WOLFSSL_HAVE_MLDSA
WOLFSSL_SHAKE128
WOLFSSL_SHAKE256
```
On Linux that is:
```sh
cd wolfssl
./configure --enable-usersettings CPPFLAGS=-I$PWD/wrapper/CSharp
make && sudo make install
```
The Visual Studio `wolfssl` project needs the same defines added to it.
The `wolfSSL_CSharp` project needs none: the wrapper compiles the ML-KEM and
ML-DSA bindings unconditionally.
### wolfSSL-TLS-pq-Server
wolfSSL Server using ML-DSA-87.
### wolfSSL-TLS-pq-ServerThreaded
Threaded version of `wolfSSL-TLS-pq-Server`.
### wolfSSL-TLS-pq-Client
wolfSSL Client using ML-KEM-1024/ML-DSA-87.