OpenSSL 3.0 przeniósł kilka przestarzałych lub niebezpiecznych algorytmów do wewnętrznego modułu biblioteki o nazwie legacy provider. Nie jest on ładowany domyślnie, więc aplikacje (lub ich środowiska uruchomieniowe), które używają OpenSSL do operacji kryptograficznych, nie mogą używać takich algorytmów przy ładowaniu certyfikatów, tworzeniu skrótów wiadomości...
Jeśli spróbujesz załadować na przykład certyfikat p12, otrzymasz błąd. Jeśli chcesz załadować certyfikat p12 za pomocą sgcIndy lub sgcWebSockets, musisz wdrożyć bibliotekę legacy.dll i włączyć niektóre właściwości w komponentach.
Obecnie możesz pobrać legacy.dll wraz z najnowszą wersją openSSL 3.3.
sgcWebSockets
- Ustaw właściwość OpenSSL_Options.Legacy.Enabled na True.
- Ustaw lokalizację biblioteki Legacy.
- OpenSSL_Options.Legacy.LibPath: tutaj możesz skonfigurować, gdzie znajduje się biblioteka legacy
- oslpNone: to wartość domyślna, biblioteka legacy powinna znajdować się w tym samym folderze co plik binarny lub w znanej ścieżce.
- oslpDefaultFolder: automatycznie ustawia ścieżkę biblioteki legacy tam, gdzie biblioteki powinny się znajdować dla wszystkich osobowości IDE.
- oslpCustomFolder: jeśli wybrana jest ta opcja, zdefiniuj pełną ścieżkę we właściwości LibPathCustom.
- OpenSSL_Options.Legacy.LibPathCustom: gdy LibPath = oslpCustomFolder, zdefiniuj tutaj pełną ścieżkę, w której znajduje się biblioteka legacy.
- OpenSSL_Options.Legacy.LibPath: tutaj możesz skonfigurować, gdzie znajduje się biblioteka legacy
sgcIndy
- Ustaw właściwość SSLOptions.Legacy na True.
- Przed uruchomieniem serwera lub klienta ustaw ścieżkę, w której znajduje się biblioteka legacy.dll. Użyj funkcji IdOpenSSLSetOSSLPath i przekaż ścieżkę jako argument.
