Fiche technique | |
---|---|
Type de produit : | Bibliothèque |
Langage de programmation : | C |
Auteur : | Nikos Mavrogiannopoulos, Simon Josefsson |
Licence : | LGPL-2.1 |
Date de publication : | 2000 à maintenant |
Site Web : | https://www.gnutls.org/ |
Introduction
Le GnuTLS (GNU Transport Layer Security) est une bibliothèque open-source implémentant les protocoles de sécurité réseau TLS (Transport Layer Security) et SSL (Secure Sockets Layer). Elle est utilisée pour sécuriser les communications sur un réseau, notamment pour des connexions HTTPS, IMAPS, SMTPS, et d'autres protocoles nécessitant une couche de chiffrement.
Voici les principales caractéristiques de GnuTLS :
- Support des protocoles TLS/SSL :
- Implémente les protocoles TLS 1.0, 1.1, 1.2, et 1.3 (la version la plus récente).
- Prend en charge SSL 3.0, bien que celui-ci soit obsolète et généralement déconseillé pour des raisons de sécurité.
- Open-source et libre : Distribué sous la licence LGPLv2.1+ (pour la bibliothèque principale) et GPLv3+ (pour certains outils), ce qui le rend utilisable dans des projets open-source ou propriétaires.
- Sécurité moderne :
- Support des algorithmes de chiffrement modernes comme AES, ChaCha20, et Poly1305.
- Intégration de l'authentification basée sur des certificats X.509 ou OpenPGP.
- Interopérabilité :
- Compatible avec d'autres bibliothèques SSL/TLS telles qu'OpenSSL.
- Peut être utilisé pour sécuriser des protocoles comme HTTP, FTP, SMTP, et bien d'autres.
- API robuste :
- Fournit une API en C pour intégrer la gestion TLS/SSL dans vos applications.
- Supporte les fonctionnalités avancées comme le DTLS (TLS pour UDP), les certificats client-serveur, et le chiffrement asymétrique.
- Outils CLI : Inclut des utilitaires comme gnutls-cli (client) et gnutls-serv (serveur) pour tester les connexions TLS/SSL depuis la ligne de commande.
Différences entre GnuTLS et OpenSSL
Caractéristique | GnuTLS | OpenSSL |
---|---|---|
Licence | LGPLv2.1+ / GPLv3+ | Apache 2.0 (compatible avec GPL) |
Complexité | API plus simple à utiliser | API plus complexe mais plus flexible |
Interopérabilité | Bon support pour OpenPGP et X.509 | Principalement axé sur X.509 |
Performance | Performances correctes | Souvent plus rapide |
Adoption | Utilisé dans les projets GNU/Linux | Plus largement utilisé globalement |
Applications et cas d'utilisation
GnuTLS est utilisé pour :
- Sécuriser les communications dans des outils comme wget, curl, et glib-networking.
- Chiffrer les connexions SMTP, FTP, ou IMAP pour des serveurs et clients de messagerie.
- Fournir une couche de sécurité dans des serveurs web ou des services réseau.
Installation de GnuTLS
Sous Linux :
sudo apt-get install libgnutls-dev |
Sous macOS (Homebrew) :
brew install gnutls |
Dernière mise à jour : Mardi, le 8 octobre 2024