Postup kompilácie projektu PQ_PROJECT_SSL_TLS pre výučbu

Tento postup kompilácia predpokladá, že používateľ už úspešne nainštaloval
a aktivoval knižnicu oqs-provider

OQS-PROVIDER
Súčasťou projektu je už skompilovaná knižnice oqs-provider 0.6.0 s využitím
knižnice liboqs 0.10.0 na 32-bitovom systéme Windows 7, ktorý sa používa 
pri výučbe predmetov BPS a BIKS.
Zároveň:
- predpokladáme, že systém obsahuje knižnice libcrypto a libssl
- na generovanie PQ certifikátov je potrebné mať OpenSSL.exe

Subor oqsprovider.dll presunieme na nas virtualny pocitac na lubovolne miesto.
Napr. ho skopirujeme priamo na plochu, teda do C:\Users\Administrator\Desktop

Cestu k suboru potom definujeme ako systemovu premennu OPENSSL_MODULES.

Systemovu premennu mozeme definovat:
a) PowerShell prikaz
[Environment]::SetEnvironmentVariable("OPENSSL_MODULES", "C:\Users\Administrator\Desktop\", "Machine")

b) cmd prikaz
setx OPENSSL_MODULES "C:\Users\Administrator\Desktop\"

c) manualne cez nastavenia
Settings-System-Advanced system settings-Environment Variables-System variables-New
Name: OPENSSL_MODULES
Value: C:\Users\Administrator\Desktop\

Po nastaveni premennej restartujeme cmd/PowerShell.

KOMPILACIA A SPUSTENIE

LINUX
- stiahneme celý balík PQ_PROJECT_SSL_TLS a prejdeme napríklad 
do zložky CLIENT_SERVER_SECURE
- kompiláciu realizujeme príkazmi:
        gcc -Wall -Wextra -o server_run ./SERVER/server.c -lcrypto -lssl
        gcc -Wall -Wextra -o client_run ./CLIENT/client.c -lcrypto -lssl

- aplikácie spustíme príkazmi:
        ./server_run 5000 ./SERVER/server.pem ./SERVER/server.key
        ./client_run 127.0.0.1 5000 ./CLIENT/client.key ./CLIENT/client.pem

WINDOWS
- stiahneme celý balík PQ_PROJECT_SSL_TLS a prejdeme napríklad 
do zložky CLIENT_SERVER_SECURE
- kompiláciu spustíme priloženými skriptami comp_server.bat a comp_client.bat
- aplikácie spustíme skriptami start_client.bat, resp. start_server.bat

GENEROVANIE PQ CERTIFIKATOV
K zdrojovým kódom aplikácii sme pridali nami vygenerované testovacie certifikáty. 
Používateľ si môže vygenerovať vlastné certifikáty pomocou skriptu gen_PQ_cert.bat, 
ktorý sa nachádza v zložke PQ_PROJECT_SSL_TLS/CERIFICATEs/PQ/
Staré .pem a .key súbory potom stačí nahradiť novo-vygenerovanými súbormi.

Generovanie PQ certifikatov prostrednictvom OpenSSL je mozne po aktivacii
oqsprovidera priamo cez konfiguracny subor. V tomto subore je potrebne
aktivovat default providera a doplnit aktivaciu modulu oqsprovider.

[provider_sect]
default = default_sect
oqsprovider = oqsprovider_sect
[oqsprovider_sect]
activate = 1 