From 664a858cdc41b93c92005de124324b7f4deab3d0 Mon Sep 17 00:00:00 2001 From: root Date: Sat, 10 Feb 2024 21:37:28 +0100 Subject: [PATCH] update --- TIIGER TLS/README.md | 170 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 TIIGER TLS/README.md diff --git a/TIIGER TLS/README.md b/TIIGER TLS/README.md new file mode 100644 index 0000000..e6b48f8 --- /dev/null +++ b/TIIGER TLS/README.md @@ -0,0 +1,170 @@ +# TIIGER TLS + +## Building +### LINUX +Systémové a softvérové špecifikácie:
+- Ubuntu 20.04.6 LTS (GNU/Linux 5.4.72-microsoft-standard-WSL2 x86_64) +- gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2) +- GNU Make 4.2.1 built for x86_64-pc-linux-gnu +- Rust version 1.72.1 (d5c2e9c34 2023-09-13) [update na 1.73.0 (cc66ad468 2023-10-03)] +- MIRACL core v4.1 +- Python 3.8.10 +- libsodium 1.0.19 + +## Server + +```curl https://sh.rustup.rs -sSf | sh``` +- inštalácia potrebných nástrojov na kompiláciu kódu v jazyku Rust + +``` +sudo apt install python3 +git clone https://github.com/miracl/core.git +cd core/rust +python3 config64.py test +cd ../.. +``` +- inštalácia pythonu (ak sa ešte nenechádza v systéme), stiahnutie a auto-build MIRACL knižnice + +``` +git clone https://github.com/Crypto-TII/TLS1.3.git +cd TLS1.3/rust/server +nano Cargo.toml +``` +- stiahnutie TIIGER TLS knižnice +- v súbore Cargo.toml je nutné správne nalinkovať cestu k zložke *mcore*, ktorá vznikla auto-buildom MIRACL knižnice v predošlom kroku + +``` +cargo build +cargo run +``` +- príkazy na kompiláciu serveru a jeho následné spustenie +- server je defaultne prístupný cez webový prehliadač na adrese https://127.0.0.1:4433; pripojenie vytvoreným klientom je popísané nižšie + +TODO:
+:white_square_button: doplniť popis pre zmenu podporovaných certifikátov + +## Klient +``` +sudo apt install python3 +git clone https://github.com/miracl/core.git +*// môžeme preskočiť ak už máme python3 a miracl* +cd core/cpp +python3 config64.py test +cd ../.. +``` +- auto-build MIRACL knižnice pre jazyk C++ + +``` +wget https://download.libsodium.org/libsodium/releases/LATEST.tar.gz +tar xvf LATEST.tar.gz +cd libsodium-stable/ +./configure +make && make check +sudo make install +``` +- stiahnutie a inštalácia knižnice libsodium + +``` +git clone https://github.com/Crypto-TII/TLS1.3.git +cd TLS1.3/cpp +mkdir -p sal/miracl/includes +cp /core/cpp/core.a sal/miracl +cp /core/cpp/*.h sal/miracl/includes +``` + +``` +cmake -DSAL=MIRACL_SODIUM -D CMAKE_CXX_COMPILER=/usr/bin/gcc +cd CMakeFiles/client.dir +nano link.txt +``` +- na koniec riadku za prepínač *-lsodium* pridáme prepínač *-lstdc++* + +``` +cd ../.. +make +./client +``` +TODO:
+:white_square_button: doplniť popis funkcií podporovaných klientom + +### WINDOWS +Systémové a softvérové špecifikácie:
+- Microsoft Windows 10 Home, build 10.0.19045 +- gcc version 13.2.0 (MinGW-W64 x86_64-ucrt-posix-seh, built by Brecht Sanders) +- Rust version 1.73.0 +- Python 3.10.8 + +## Server +https://www.python.org/downloads/windows/ +- stiahnutie a inštalácia pythonu pre Windows - PATH je možné nastaviť priamo pri inštalácii (inak je nutné nastaviť ju manuálne) +- Python3 je tiež možné záskať z Microsoft Storu + +https://github.com/miracl/core/archive/refs/heads/master.zip +- stiahnutie MIRACL knižnice (identická s verziou pre Linux, vrátane konfigurácie) + +https://win.rustup.rs/ +- stiahnutie .exe súboru na rýchlu inštaláciu Rustu a ďalších nástrojov + +``` +cd core/rust +python config64.py test +cd ../.. +``` +- auto-build MIRACL knižnice prostredníctvom python scriptu + +``` +cd .\TLS1.3\rust\server\ +notepad.exe .\Cargo.toml +``` +- v súbore Cargo.toml je nutné správne nalinkovať cestu k zložke *mcore*, ktorá vznikla auto-buildom MIRACL knižnice v predošlom kroku + +``` +cargo build +cargo run +``` +- príkazy na kompiláciu serveru a jeho následné spustenie +- správne spustenie serveru môžeme overiť na adrese https://127.0.0.1:4433 + +## Client + +``` +cd core\cpp +python config64.py test +cd ../.. +``` + +- https://download.libsodium.org/libsodium/releases/libsodium-1.0.19-stable-mingw.tar.gz
+:white_check_mark: doplniť postup linkovania knižnice s prekladačom gcc + +- nájdeme miesto, kde sme uložili knižnicu WinLibs a prejdeme do zložky */mingw64/lib/gcc/x86_64-w64-mingw32/11.2.0/* + +- do tejto zložky skopírujeme súbor libsodium.a zo stiahnutého balíka knižnice libsodium */libsodium-1.0.19-stable-mingw.tar/libsodium-win64/lib/* +- následne skopírujeme celý obsah */libsodium-1.0.19-stable-mingw.tar/libsodium-win64/include/* do zložky */mingw64/lib/gcc/x86_64-w64-mingw32/11.2.0/include/* + + +``` +cd TLS1.3/cpp +mkdir -p sal/miracl/includes +cp /core/cpp/core.a sal/miracl +cp /core/cpp/*.h sal/miracl/includes +``` + +``` +cmake -DSAL=MIRACL_SODIUM -D CMAKE_CXX_COMPILER=D:/mingw64/bin/gcc.exe -G "Unix Makefiles" +``` + +:white_square_button: doplniť úpravy v súboroch tls_sockets.h a tls_sockets.cpp +- tls_sockets.h:22:10: fatal error: sys/socket.h: No such file or directory #include +- tls_sockets.cpp:31:47: error: cannot convert 'timeval*' to 'const char*' setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof(timeout)); + +``` +cd CMakeFiles/client.dir +``` +- do súboru *linkLibs.rsp* pridáme prepínače *-lws2_32* a *-lstdc++* + +``` +cd ../.. +make +``` + +## References