LibreSSL
# LibreSSL

LibreSSL est une boîte à outils de chiffrement implémentant les protocoles SSL et TLS et résultant d'un fork de la populaire OpenSSL par le projet OpenBSD à la suite de la découverte de la faille Heartbleed en avril 2014.

Dans un premier temps, LibreSSL s'est orienté avant tout vers OpenBSD, afin d’accroitre l’efficacité de l'audit et des corrections, pour ensuite étendre la portabilité vers d'autres systèmes.

## Changements apportés

### Suppression de code

L'une des premières opérations fut la suppression de code jugé obsolète (90 000 lignes), comme :

* le support de systèmes d'exploitations abandonnés depuis de longues années (première version de MacOS, OS/2, Netware, VMS, Microsoft Windows 16 bits…) ;
* des macros jugées non sécurisées ;
* des programmes de démonstration et documentations devenues incompatibles ;
* des algorithmes connus pour leurs portes dérobées (Dual_EC_DRBG) ou leur failles (MD2, SSLv2, Kerberos, J-PAKE et SRPSSLv2).

### Pratiques facilitant la maintenance

Les fonctions de la bibliothèque standard sont davantage utilisées à la place des fonctions d'OpenSSL pour la gestion de la mémoire, ceci facilitant l'utilisation d'outils d'analyse et la détection de dépassement de tampon.

Des options de compilation prévues pour détecter les erreurs de programmation (-Wall, -Werror, -Wextra, -Wuninitialized) ont été activées par défaut pour permettre de détecter plus rapidement les problèmes potentiels.

L'indentation du code source est également mieux prise en compte afin d'obtenir une meilleure lisibilité.

### Gestion des bugs

OpenSSL comportait de nombreux bugs datant de plusieurs années qui n'étaient pas corrigés, et qui sont repris en compte par le projet LibreSSL.

