From e5b2be96767a5b8d502341a3180514c635ebef32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jozef=20=C5=A0imko?= Date: Thu, 11 Apr 2024 09:47:33 +0000 Subject: [PATCH] added variable OPENSSL_MODULES, bug fix --- OpenSSL_liboqs_oqsprovider/README.md | 32 +++++++++++----------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/OpenSSL_liboqs_oqsprovider/README.md b/OpenSSL_liboqs_oqsprovider/README.md index 6ecc6a6..618176a 100644 --- a/OpenSSL_liboqs_oqsprovider/README.md +++ b/OpenSSL_liboqs_oqsprovider/README.md @@ -95,9 +95,9 @@ Providers: #### WinLibs gcc - zo stránky [WinLibs GCC](https://winlibs.com) stiahneme .zip archív, rozbalíme ho a skopírujeme celú zložku na nami určené miesto -- prejdeme do *Settings-System-Advanced system settings-Environment Variables-System variables-Path-Edit* a pridáme cestu k priečinku s prekladačom, napríklad: `D:\mingw64\bin\` -- nastaviť cestu k prekladaču môžeme aj úpravou premennej v príkazovom riadku príkazom `SET PATH=\path\;%PATH%`, napríklad `SET PATH=D:\mingw64\bin\;%PATH%` -- v priečinku /bin/ sa nachádza aplikácia *mingw32-make.exe*, ktorú si pre jednoduchšie používanie premenujeme na *make.exe* +- prejdeme do *Settings-System-Advanced system settings-Environment Variables-System variables-Path-Edit* a pridáme cestu k priečinku s prekladačom, napríklad: `C:\mingw64\bin\` +- nastaviť cestu k prekladaču môžeme aj úpravou premennej v príkazovom riadku príkazom `SET PATH=\path\;%PATH%`, napríklad `SET PATH=C:\mingw64\bin\;%PATH%` +- v priečinku /bin/ sa nachádza aplikácia *mingw32-make.exe*, z ktorej si urobíme kópiu a premenujeme ju na *make.exe* #### OpenSSL (FireDaemon OpenSSL) @@ -105,11 +105,10 @@ Providers: - stiahneme .zip archív, rozbalíme ho a všetky priečinky z priečinku *x64* spolu s priečinkom *ssl* skopírujeme na nami vybrané miesto - nastavíme cestu k aplikácii OpenSSL a konfiguračnému súboru prostredníctvom konzolových príkazov: ``` -set OPENSSL_HOME=C:\Program Files\Common Files\FireDaemon SSL 3 -set OPENSSL_CONF=%OPENSSL_HOME%\ssl\openssl.cnf -set PATH=%OPENSSL_HOME%\bin;%PATH% +set OPENSSL_CONF=C:\openssl\ssl\openssl.cnf +set PATH=C:\openssl\bin;%PATH% ``` -- z priečinku */bin/* skopírujeme súbory *libssl.lib* a *libcrypto.lib* do */lib/* priečinku nášho prekladača, v našom prípade teda do `D:\mingw64\lib\` +- z priečinku */bin/* skopírujeme súbory *libssl.lib* a *libcrypto.lib* do */lib/* priečinku nášho prekladača, v našom prípade teda do `C:\mingw64\lib\` #### LIBOQS - stiahneme .zip súbor knižnice liboqs z oficiálneho GITu - [liboqs](https://github.com/open-quantum-safe/liboqs) @@ -123,30 +122,25 @@ cmake -GNinja .. -DOQS_ALGS_ENABLED=ALL ninja ninja install ``` -- po dokončení inštalácie prejdeme do žložky, kde sme si knižnicu nainštalovali (bez zmeny parameteru CMAKE_INSTALL_PREFIX) ide o zložku *C:\Program Files (x86)\liboqs\* -- oba priečinky *include* a *lib* skopírujeme do zložky s našim gcc prekladačom, teda do *D:\mingw64\* +- po dokončení inštalácie skopírujeme vygenerované priečinky *include* a *lib* do zložky s našim gcc prekladačom, teda do *D:\mingw64\* -Poznámka: ak sme OpenSSL umiestnili na iný disk než na aký inštalujeme liboqs, cmake nás informuje, že je nutné definovať premennú `OPENSSL_ROOT_DIR` - -Poznámka2: vo vygenerovanom súbore *cmake_install.cmake* sa nachádza premenná `set(CMAKE_INSTALL_PREFIX)`, ktorá umožňuje zmeniť miesto inštalácie celej knižnice - -Poznámka3: podľa nastavení systému môžu byť potrebné na vykonanie príkazu `ninja install` administrátorské práva +Poznámka: podľa nastavení systému môžu byť potrebné na vykonanie príkazu `ninja install` administrátorské práva #### OQS-PROVIDER - stiahneme .zip súbor knižnice oqs-provider z oficiálneho GITu - [oqsprovider](https://github.com/open-quantum-safe/oqs-provider) - stiahnutý súbor rozbalíme na nami vybrané miesto - v súbore *CMakeLists.txt* pridáme na riadok 90 a 91 pred funkcie *enable_testing()* a *add_subdirectory(test)* symbol `#`, ktorým zakomentujeme a nezrealizujeme kompiláciu testov - pri kompilácii testu *oqs_test_tlssig.c* by nám vyskočila chyba, ktorá by spôsobila, že by celá kompilácia knižnice spadla ``` - cmake -GNinja -DOPENSSL_ROOT_DIR="C:\Program Files\Common Files\FireDaemon SSL 3" -S . -B _build -DBUILD_SHARED_LIBS=OFF +cmake -GNinja -DOPENSSL_ROOT_DIR=C:\openssl -S . -B _build cd _build ninja ninja install ``` -Poznámka: premennú *OPENSSL_ROOT_DIR* je potrebné definovať ak sme OpenSSL umiestnili na iný disk než na aký inštalujeme oqsprovider, cmake nás informuje či bola manuálne nastavená premenná ignorovaná +Poznámka: chybu v teste *oqs_test_tlssig.c* môžeme opraviť aj doplnením podmienenej kompilácie pre MINGW64 kompilátor a úpravou problematickej definície funkcie *mkdir*, z ktorej odstránime druhý argument -Poznámka2: cmake nás môže upozorniť na to, že nenašiel v našom systéme knižnicu liboqs, čo sa môže stať, ak sme pri inštalácii knižnice liboqs zmenili premennú *CMAKE_INSTALL_PREFIX*. CMake nás upozorní na to, že premenná `liboqs_DIR` musí obsahovať cestu k súboru *liboqsTargets.cmake* - -Poznámka3: chybu v teste *oqs_test_tlssig.c* môžeme opraviť aj doplnením podmienenej kompilácie pre MINGW64 kompilátor a úpravou problematickej definície funkcie *mkdir*, z ktorej odstránime druhý argument +- nastavíme cestu k vygenerovanému .DLL súboru:
+Powershell - `[Environment]::SetEnvironmentVariable("OPENSSL_MODULES", "C:\openssl\lib\ossl-modules\", "Machine")`
+cmd - `setx OPENSSL_MODULES "C:\openssl\lib\ossl-modules\"` - po inštalácii všetkých knižníc pridáme do konfiguračného súboru *openssl.cnf* modul, ktorý permanentne aktivuje OQS provider a jeho funkcie pri používani OpenSSL - `Note: Be sure to always activate the "default" provider`