title: GnuTLS
text: # GnuTLS
  
  GnuTLS (GNU Transport Layer Security Library) è un'implementazione libera dei protocolli SSL e TLS. Il suo scopo è di offrire un'interfaccia di programmazione (API) per aprire un canale di comunicazione sicura attraverso la rete.
  
  ## Funzionalità
  
  GnuTLS ha le seguenti funzionalità:
  
  * Protocolli SSL 3.0, TLS 1.0, TLS 1.1 e, in sviluppo, il protocollo TLS 1.2
  * Secure remote password protocol (SRP) per l'autenticazione TLS
  * Pre-Shared Key (PSK) per l'autenticazione TLS
  * Meccanismo di estensione TLS
  * Compressione TLS
  * Gestione dei certificati X.509 e OpenPGP
  
  ## Licenza e motivazioni
  
  GnuTLS è pubblicato tramite la licenza GNU Lesser General Public License; alcune parti sono pubblicate sotto la GNU General Public License.
  
  GnuTLS venne inizialmente creato per consentire alle applicazioni del Progetto GNU di usare un protocollo sicuro come TLS. Benché esistesse già OpenSSL, quest'ultima libreria ha una licenza che non è compatibile con la GPL, per cui i software sotto GPL non avrebbero potuto usare la libreria OpenSSL senza inserire nella licenza una speciale eccezione.
  
  GnuTLS è usato in software come GNOME, CenterIM, Exim, Mutt, Slrn, Lynx, CUPS, gnoMint e Kmc-Subset137.
  
  