Skip to content

Tester un certificat TLS avec openssl et s_client

Auteur : Philippe Le Van - @plv@framapiaf.org

Date : 15 novembre 2021

Introduction

Parfois on a besoin de simuler des clients http tout pourris :

  • un micro-contrôleur qui utilise encore TLS1 par exemple
  • une liste de ciphers réduite
  • pas de SNI

Pour ça on peut débugguer la mise en place du certificat TLS avec openssl s_client.

exemple d'utilisation

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# connexion de base
openssl s_client -connect www.example.org:443

# un client tls1 uniquement
openssl s_client -connect www.example.org:443 -tls1

# limiter la liste des ciphers
openssl s_client -connect www.example.org:443 -tls1 -cipher RSA-PSK-AES256-CBC-SHA:SRP-RSA-AES-256-CBC-SHA

# désactive SNI
openssl s_client -connect www.example.org:443 -noservername

# vérifie le hostname et utiliser un certficat racine d'une autorité de certification donnée
openssl s_client -connect www.example.org:443 -noservername -verify_hostname www.example.org -CAfile ./certif.pem

Voir la liste des ciphers

1
openssl ciphers -stdname

Point annexe

Là l'idée, c'était de donner des exemples d'utiliser de openssl s_client, mais si vous voulez vraiment tester votre certificat, il y a le site https://www.ssllabs.com/ssltest/