GnuTLS ( / ˈɡn uːˌt iːˌɛlˈɛs / , la Biblioteca de Seguridad de la Capa de Transporte de GNU ) es una implementación de software libre de los protocolos TLS , SSL y DTLS . Ofrece una interfaz de programación de aplicaciones ( API) para que las aplicaciones permitan una comunicación segura a través de la capa de transporte de red , así como interfaces para acceder a X.509 , PKCS #12 , OpenPGP y otras estructuras.
GnuTLS consiste en una biblioteca que permite a las aplicaciones cliente iniciar sesiones seguras utilizando los protocolos disponibles. También proporciona herramientas de línea de comandos, incluyendo un administrador de certificados X.509, un cliente y un servidor de prueba y generadores de claves y contraseñas aleatorias.
GnuTLS tiene las siguientes características:
GnuTLS fue creado inicialmente entre marzo [6] y noviembre [7] de 2000 por Nikos Mavrogiannopoulos para permitir que las aplicaciones del Proyecto GNU utilizaran protocolos seguros como TLS . Aunque OpenSSL ya existía, su licencia no es compatible con la GPL; [8] por lo tanto, el software bajo la GPL, como el software GNU, no podría utilizar OpenSSL sin realizar una excepción de enlace GPL .
La biblioteca GnuTLS fue licenciada originalmente bajo la Licencia Pública General Reducida GNU v2, mientras que las aplicaciones incluidas para usarla estaban bajo la Licencia Pública General GNU .
En agosto de 2011, la biblioteca se actualizó a la LGPLv3 . [9] Después de que se notó [10] que se habían introducido nuevos problemas de compatibilidad de licencia , especialmente con otro software libre con el cambio de licencia, después de discusiones, la licencia se degradó nuevamente a LGPLv2.1 en marzo de 2013. [11]
GnuTLS fue creado para el Proyecto GNU , [12] [13] pero en diciembre de 2012 su mantenedor, Nikos Mavrogiannopoulos, disoció el proyecto de GNU después de disputas políticas con la Free Software Foundation . [12] [13] Richard Stallman se opuso a esta medida y sugirió bifurcar el proyecto en su lugar. [14] Poco después, el desarrollador Paolo Bonzini finalizó su mantenimiento de GNU Sed y Grep , expresando preocupaciones similares a las del mantenedor de GnuTLS Mavrogiannopoulos. [15]
Los paquetes de software que utilizan GnuTLS incluyen:
La LGPLv3 es la última versión de la Licencia Pública General Reducida de GNU. Sigue a la exitosa licencia LGPLv2.1 y fue publicada por la Free Software Foundation como contraparte de su Licencia Pública General de GNU versión 3. El objetivo de las Licencias Públicas Generales Reducidas de GNU es proporcionar software que pueda ser utilizado tanto por software propietario como libre. Este objetivo ha sido manejado exitosamente hasta ahora por la LGPLv2.1 y hay una multitud de bibliotecas que utilizan esa licencia. Ahora tenemos la LGPLv3 como la última, y la pregunta es ¿qué tan exitosa es la LGPLv3 en este objetivo? En mi opinión, muy poco. Si asumimos que su objetivo principal es ser utilizada por software libre, entonces falla descaradamente en eso.
No se puede sacar a GNUTLS del Proyecto GNU.