
openssl openssl-4.0.3
Libreria TLS e crittografica per scopi generali
Benvenuto nel Progetto OpenSSL
[![openssl logo]][www.openssl.org]
[![github actions ci badge]][github actions ci]
OpenSSL è un toolkit Open Source robusto, di livello commerciale e completo per i protocolli Transport Layer Security (TLS, precedentemente SSL), Datagram TLS (DTLS) e QUIC.
Le implementazioni dei protocolli si basano su una libreria crittografica di uso generale a piena forza, che può anche essere utilizzata in modo autonomo. È inoltre incluso un modulo crittografico validato conforme agli standard FIPS.
OpenSSL discende dalla libreria SSLeay sviluppata da Eric A. Young e Tim J. Hudson.
La Home Page ufficiale del Progetto OpenSSL è [www.openssl.org].
Indice
- Panoramica
- Download
- Compilazione e installazione
- Documentazione
- Licenza
- Supporto
- Contribuire
- Aspetti legali
Panoramica
Il toolkit OpenSSL include:
-
libssl un'implementazione di tutte le versioni del protocollo TLS fino a TLSv1.3 ([RFC 8446]), delle versioni del protocollo DTLS fino a DTLSv1.3 ([RFC 9147]) e del protocollo QUIC versione 1 ([RFC 9000]).
-
libcrypto una libreria crittografica di uso generale a piena forza. Costituisce la base dell'implementazione TLS, ma può anche essere utilizzata in modo indipendente.
-
openssl lo strumento da riga di comando OpenSSL, un coltellino svizzero per attività crittografiche, test e analisi. Può essere utilizzato per
- la creazione di parametri di chiave
- la creazione di certificati X.509, CSR e CRL
- il calcolo di digest di messaggi
- la cifratura e la decifratura
- test SSL/TLS/DTLS e client e server
- test client QUIC
- la gestione di posta S/MIME firmata o cifrata
- e altro ancora...
Download
Per l'uso in produzione
I tarball del codice sorgente delle release ufficiali possono essere scaricati da openssl-library.org/source/. Il progetto OpenSSL non distribuisce il toolkit in forma binaria.
Tuttavia, per una grande varietà di sistemi operativi sono disponibili versioni precompilate del toolkit OpenSSL. In particolare, su Linux e altri sistemi operativi Unix, è normalmente consigliato il collegamento alle librerie condivise precompilate fornite dal distributore o dal fornitore.
Manteniamo inoltre un elenco di terze parti che producono binari OpenSSL per vari sistemi operativi (incluso Windows) nella pagina [Binaries] del nostro wiki.
Per test e sviluppo
Sebbene test e sviluppo possano in teoria essere effettuati anche utilizzando i tarball del codice sorgente, avere una copia locale del repository git con l'intera cronologia del progetto offre una visione molto più approfondita della base di codice.
Il repository Git principale di OpenSSL è privato. Ne esiste un mirror pubblico su GitHub all'indirizzo [github.com/openssl/openssl], che viene aggiornato automaticamente dal primo a ogni commit.
Una copia locale del repository Git può essere ottenuta clonandola dal mirror GitHub usando
git clone https://github.com/openssl/openssl.git
Se intendi contribuire a OpenSSL, sia per correggere bug che per contribuire con nuove funzionalità, devi eseguire il fork del mirror GitHub e clonare il tuo fork pubblico invece.
git clone https://github.com/yourname/openssl.git
Ciò è necessario perché tutto lo sviluppo di OpenSSL oggigiorno avviene tramite pull request su GitHub. Per maggiori dettagli, vedi Contributing.
Compilazione e installazione
Dopo aver ottenuto il codice sorgente, dai un'occhiata al file INSTALL per istruzioni dettagliate su come compilare e installare OpenSSL. Per alcune piattaforme, le istruzioni di installazione sono integrate da un documento specifico per la piattaforma.
- Note per piattaforme UNIX-like
- Note per piattaforme Android
- Note per piattaforme Windows
- Note per la piattaforma DOS con DJGPP
- Note per la piattaforma OpenVMS
- Note su Perl
- Note su Valgrind
Note specifiche sull'aggiornamento a OpenSSL 3.x da versioni precedenti sono disponibili nella pagina di manuale [ossl-guide-migration(7ossl)].
Documentazione
File README
Ci sono alcuni file README.md nella directory di primo livello della distribuzione del codice sorgente che contengono informazioni aggiuntive su argomenti specifici.
- Informazioni sull'implementazione del protocollo QUIC di OpenSSL
- Informazioni sull'architettura Provider di OpenSSL
- Informazioni sull'uso del modulo OpenSSL validato FIPS
La Guida di OpenSSL
Ci sono alcune pagine tutorial e introduttive su alcuni importanti argomenti di OpenSSL all'interno della [OpenSSL Guide].
Pagine di manuale
Le pagine di manuale per il branch master e tutte le release stabili attuali sono disponibili online.
Demo
Ci sono numerose demo di codice sorgente per l'utilizzo di varie funzionalità di OpenSSL nella sottocartella demos.
Wiki
Esiste una [GitHub Wiki] che attualmente non è molto attiva.
Licenza
OpenSSL è distribuito sotto la Licenza Apache 2.0, il che significa che sei libero di ottenerlo e utilizzarlo per scopi commerciali e non commerciali purché tu rispetti le sue condizioni.
Vedi il file LICENSE.txt per maggiori dettagli.
Supporto
Ci sono vari modi per mettersi in contatto. Il canale corretto dipende dalle tue esigenze. Vedi il file SUPPORT per maggiori dettagli.
Contribuire
Se sei interessato e disposto a contribuire al progetto OpenSSL, dai un'occhiata al file CONTRIBUTING.