OpenSSL

Fiche logiciel validé
  • Création ou MAJ importante : 13/04/11
  • Correction mineure : 14/11/12
Mots-clés
Fiche en recherche de repreneur
Cette fiche est en recherche d'un repreneur. Si vous êtes intéressé(e)s, contactez-nous !

OpenSSL : bibliothèque pour réaliser des échanges chiffrés avec authentification...

Description
Fonctionnalités générales

OpenSSL est une boite à outils de chiffrement (bibliothèque de cryptographie générale et implémentation du protocole SSL) : Secure Sockets Layer (SSL v2/v3) et Transport Layer Security (TLS v1)
L'API en langage C permet de développer des logiciels qui nécessitent de chiffrer des données et d'authentifier les correspondants en utilisant une architecture PKI (Public Key Infrastrucure). Elle permet de développer rapidement des clients/serveurs.

La documentation livrée présente en quelques lignes le développement d'un client/serveur en C. Si l'on ne doit pas faire un code trop spécifique, le client serveur présenté peut être un bon début pour se familiariser à l'API. Par contre, un développement spécifique est plutôt complexe et nécessite de très bonne connaissances des infrastructures PKI, de la technologies des certificats et du langage C.

Cette bibliothèque est très utilisée pour des fonctions de sécurité par les logiciels réseau tels que : Apache, bind, postfix...

Autres fonctionnalités

L'API fournit les générateurs de clés publiques/privées dans un format standard avec une signature électronique (ie: SHA1, MD5). Il est possible d'utiliser le protocole SSL ou TLS. Les certificats peuvent être auto-signés (cas du certificat root d'un domaine).

Interopérabilité

Il est possible de faire fonctionner un client Java (JDK5 minimum) avec un serveur SSL développé avec OPENSSL.

Contexte d'utilisation dans mon laboratoire/service

Dans mon laboratoire, développement de clients/serveurs qui chiffrent leurs données sur le réseau.

Limitations, difficultés, fonctionnalités importantes non couvertes

La documentation est parfois succincte et nécessite de rentrer dans le code de l'API. L'interopérabilité avec Java est assez complexe mais possible.

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

APACHE, SSH, SFTP

Plates-formes

Linux, Win32

Logiciels connexes

Java JDK6

Environnement de développement
Type de structure associée au développement

Projet OPENSSL collaboratif

Eléments de pérennité

OPENSSL est utilisé dans les serveurs Apache (très largement utilisé sur le WEB)

Références d'utilisateurs institutionnels

Parmi les nombreux sites académiques : LAAS/CNRS

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur

http://www.openssl.org/docs/
Network Security with OpenSSL - O'reilly

Divers (astuces, actualités, sécurité)

L'ouvrage OPENSSL édité chez O'reilly est une bonne base de départ, il présente un client/serveur basique.