Up Next

1  Presentation de openSSL

1.1  Protocole SSL

Le protocole SSL (Secure Socket Layer) a été développé par la société Netscape Communications Corporation pour permettre aux applications client/serveur de communiquer de façon sécurisée. TLS (Transport Layer Security) est une évolution de SSL réalisée par l’IETF.

La version 3 de SSL est utilisée par les navigateurs tels Netscape et Microsoft Internet Explorer depuis leur version 4.

SSL est un protocole qui s’intercale entre TCP/IP et les applications qui s’appuient sur TCP. Une session SSL se déroule en deux temps

  1. une phase de poignée de mains (handshake) durant laquelle le client et le serveur s’identifient, conviennent du système de chiffrement et d’une clé qu’ils utiliseront par la suite.
  2. la phase de communication proprement dite durant laquelle les données échangées sont compressées, chiffrées et signées.

L’identification durant la poignée de mains est assurée à l’aide de certificats X509.

1.2  openSSL

openSSL est une boîte à outils cryptographiques implémentant les protocoles SSL et TLS qui offre

  1. une bibliothèque de programmation en C permettant de réaliser des applications client/serveur sécurisées s’appuyant sur SSL/TLS.
  2. une commande en ligne (openssl) permettant

Pour connaître toutes les fonctionnalités de openSSL : man openssl.

La syntaxe générale de la commande openssl est

$ openssl <commande> <options>

(le $ est le prompt du shell)

Dans le texte qui suit, les commandes invoquant openssl supposent que cette commande est dans votre PATH.


Up Next