piątek,
OpenSSL
23 grudnia 1998 roku powstał projekt OpenSSL. Jest to obecnie powszechnie stosowana otwarta implementacja kryptograficznych protokołów SSL i TLS.
Z przesyłaniem danych przez sieć wiąże się ryzyko ich przechwycenia przez niepożądane osoby. Metody tajnego przekazywania poufnych informacji znane są ludziom od wieków. W epoce ekspansji komputerów szyfrowanie danych stało się powszechne, w tym celu powstało wiele narzędzi, a jednym z nich jest OpenSSL.
W 1994 roku zasłużona dla rozwoju przeglądarek internetowych firma Netscape opracował protokół SSL (Secure Socket Layer). Służy on do bezpiecznej transmisji zaszyfrowanego strumienia danych. Rok później Eric Andrew Young i Tim Hudson uruchomili projekt SSLeay, którego celem było powstanie dostępnych nieodpłatnie z kodem źródłowym narzędzi szyfrujących do zastosowań w sieci. Pod koniec 1998 roku obaj twórcy SSLeay podjęli pracę w firmie RSA Security i zakończyli rozwój projektu.
Aby kontynuować ich prace, 23 grudnia 1998 roku powstał projekt OpenSSL. Jego założycielami byli Mark Cox, Ralf Engelschall, Stephen Henson, Ben Laurie i Paul Sutton. Pozyskano sponsoring od Departamentu Bezpieczeństwa Krajowego Stanów Zjednoczonych oraz Departamentu Obrony Stanów Zjednoczonych, a także założono fundację OpenSSL Software Foundation (OSF) przyjmującą darowizny. W połowie 2019 roku nad rozwojem OpenSSL pracowało 17 programistów. Projekt ma tylko dwóch pełnoetatowych pracowników, pozostali to wolontariusze.
OpenSSL implementuje protokoły SSL i TLS, a także podstawowe funkcje kryptograficzne. Jej podstawą jest biblioteka napisana w języku programowania C. Twórcy OpenSSL dostarczają także program z interfejsem wiersza polecenia pozwalający na wykorzystanie możliwości biblioteki. OpenSSL jest dostępny dla większości systemów operacyjnych, w tym Linux, macOS, BSD oraz Microsoft Windows.
Niezaprzeczalnym walorami biblioteki OpenSSL są dostępność kodu źródłowego oraz możliwość wykorzystania komercyjnego bez potrzeby ponoszenia opłat licencyjnych. Często jest ona dołączana do innych programów.
Możliwości programu openssl to m.in.:
- tworzenie kluczy prywatnych i publicznych oraz zarządzanie nimi;
- wykonywanie operacji kryptograficznych;
- wystawiania certyfikatów X.509, CSR oraz CRL;
- obliczanie skrótów wiadomości;
- szyfrowanie i deszyfrowanie;
- testowanie klientów i serwerów SSL/TLS;
- obsługi poczty z podpisem S/MIME lub zaszyfrowanej;
- generowanie i weryfikowanie żądań Time Stamp.