Daniel Pouzzner 996986d0c1 refactor wc_AesDelete, wc_curve25519_delete, wc_ed25519_delete, wc_HashDelete, and wc_DeleteRsaKey to take two arguments, the first a required pointer to the object, the second an optional pointer to the pointer to be zeroed upon successful deletion, for the benefit of calling from C# without unsafe code. | há 5 dias atrás | |
---|---|---|
.. | ||
wolfCrypt-Test | há 2 semanas atrás | |
wolfSSL-DTLS-PSK-Server | há 2 semanas atrás | |
wolfSSL-DTLS-Server | há 2 semanas atrás | |
wolfSSL-Example-IOCallbacks | há 2 semanas atrás | |
wolfSSL-TLS-Client | há 2 semanas atrás | |
wolfSSL-TLS-PSK-Client | há 2 semanas atrás | |
wolfSSL-TLS-PSK-Server | há 2 semanas atrás | |
wolfSSL-TLS-Server | há 2 semanas atrás | |
wolfSSL-TLS-ServerThreaded | há 2 semanas atrás | |
wolfSSL_CSharp | há 5 dias atrás | |
README.md | há 2 semanas atrás | |
include.am | há 2 semanas atrás | |
user_settings.h | há 2 semanas atrás | |
wolfSSL_CSharp.sln | há 2 semanas atrás | |
wolfssl.vcxproj | há 2 semanas atrás |
This directory contains the CSharp wrapper for the wolfSSL TLS layer with examples.
wolfSSL_CSharp
: wolfSSL TLS layer wrappers (library).wolfCrypt-Test
: wolfCrypt layer wrapper testing.user_settings.h
: wolfCrypt wrapper user settings.Examples:
wolfSSL-DTLS-PSK-Server
wolfSSL-DTLS-Server
wolfSSL-Example-IOCallbacks
wolfSSL-TLS-Client
wolfSSL-TLS-PSK-Client
wolfSSL-TLS-PSK-Server
wolfSSL-TLS-Server
wolfSSL-TLS-ServerThreaded
A Visual Studio solution wolfSSL_CSharp.sln
is provided. This will allow you
to build the wrapper library and examples. It includes the wolfSSL Visual Studio
project directly.
To successfully run and build the solution on Windows Visual Studio you will
need to open a new solution wolfSSL_CSharp.sln
located in wrapper\CSharp\wolfSSL_CSharp.sln
.
Select the CPU type, configuration, and target file.
select Build
and either Rebuild Solution
or Build Solution
.
Prerequisites for linux:
apt-get update
apt-get upgrade
apt-get install mono-complete
./autogen.sh
./configure --enable-keygen --enable-eccencrypt --enable-ed25519 --enable-curve25519 --enable-aesgcm
make
make check
sudo make install
From the wrapper/CSharp
directory (cd wrapper/CSharp
):
Compile wolfCrypt test:
mcs wolfCrypt-Test/wolfCrypt-Test.cs wolfSSL_CSharp/wolfCrypt.cs -OUT:wolfcrypttest.exe
mono wolfcrypttest.exe
From the wrapper/CSharp
directory (cd wrapper/CSharp
):
Compile server:
mcs wolfSSL_CSharp/wolfSSL.cs wolfSSL_CSharp/X509.cs wolfSSL-TLS-Server/wolfSSL-TLS-Server.cs -OUT:server.exe
Compile client:
mcs wolfSSL_CSharp/wolfSSL.cs wolfSSL_CSharp/X509.cs wolfSSL-TLS-Client/wolfSSL-TLS-Client.cs -OUT:client.exe
In one terminal instance run the server:
mono server.exe
And in another terminal instance run the client:
mono client.exe
To enable SNI, just pass the -S
argument with the specified hostname to the client:
mono client.exe -S hostname
And run the server with the -S
flag:
mono server.exe -S