s_time(1) Programme d'analyse de performances SSL/TLS

SYNOPSIS

openssl s_time [-connect hôte:port] [-www page] [-cert fichier] [-key fichier] [-CApath répertoire] [-CAfile fichier] [-reuse] [-new] [-verify profondeur] [-nbio] [-time seconde] [-ssl2] [-ssl3] [-bugs] [-cipher listechiffrements]

DESCRIPTION

La commande s_time implémente un client générique SSL/TLS qui se connecte à un hôte distant en utilisant SSL ou TLS. Elle peut demander une page d'un serveur et inclure le temps de transfert de l'information dans ses mesures de temps. Elle mesure le nombre de connections dans un laps de temps donné, la quantité d'information transférée (s'il y en a), et calcule le temps moyen utilisé pour une connexion.

OPTIONS

-connect hôte:port
Cela indique l’hôte et le port facultatif où se connecter.
-www page
Cela indique la page à obtenir sur le serveur. La valeur de « / » correspond à la page index.htm[l]. Si ce paramètre n'est pas indiqué, alors s_time n’effectuera qu’une initialisation de connexion (« handshake ») pour établir des connexions SSL mais ne transférera pas de données utiles.
-cert fichier
Le certificat à utiliser, s'il est requis par le serveur. Par défaut, aucun certificat n'est utilisé. Le fichier est au format PEM.
-key fichier
La clef privée à utiliser. En absence d’indication, le fichier de certificats sera utilisé. Le fichier est au format PEM.
-verify profondeur
La profondeur de vérification à utiliser. Cela indique la taille maximale de la chaîne de certificats du serveur et active la vérification de certificat du serveur. Actuellement l'opération de vérification continue après les erreurs de façon à montrer tous les problèmes liés à la chaîne de certificats. Par conséquent, la connexion n'échouera jamais à cause d'un échec de vérification de certificat du serveur.
-CApath répertoire
Le répertoire utilisé pour la vérification de certificat du client. Ce répertoire doit être au « format de hachage », consultez verify pour plus de renseignements. Il est aussi utilisé pour construire la chaîne de certificats du client.
-CAfile fichier
Un fichier contenant des certificats de confiance utilisés pendant l’authentification du serveur et lors d’une tentative de créer la chaîne de certificats du client.
-new
Effectuer la mesure du temps en utilisant un nouvel identifiant de session pour chaque connexion. Si ni -new ni -reuse ne sont indiquées, elles sont toutes deux activées par défaut et exécutées à la suite.
-reuse
Effectuer la mesure du temps en utilisant le même identifiant de session ; cela permet de tester le fonctionnement de la mise en cache des sessions. Si ni -new ni -reuse ne sont indiquées, elles sont toutes deux activées par défaut et exécutées à la suite.
-nbio
Activer les entrées et sorties non bloquantes.
-ssl2, -ssl3
Ces options désactivent l'utilisation de certains protocoles SSL ou TLS. Par défaut, l’initialisation de connexion utilise une méthode qui devrait être compatible avec tous les serveurs et leur permettre d'utiliser SSL v3, SSL v2 ou TLS comme approprié. Le programme de test des performances n'est pas aussi riche en options pour utiliser ou non des protocoles que le programme s_client(1) et pourrait ne pas pouvoir se connecter à tous les serveurs.

Malheureusement, beaucoup d'anciens serveurs mal conçus encore utilisés ne gèrent pas cette technique et échoueront à se connecter. Certains serveurs ne fonctionnent que si TLS est désactivé avec l'option -ssl3 ; d'autres ne gèrent que SSL v2 et peuvent avoir besoin de l'option -ssl2.

-bugs
Plusieurs bogues sont connus dans les implémentations SSL et TLS. L'ajout de cette option permet de contourner certains problèmes.
-cipher listechiffrements
Cela permet de modifier la liste d'algorithmes envoyée par le client. Bien que le serveur détermine l’ensemble d'algorithmes utilisé, il devrait prendre le premier algorithme accepté dans la liste envoyée par le client. Consultez la commande ciphers(1) pour plus de renseignements.
-time seconde
Indiquer la durée (en seconde) pendant laquelle s_time devrait établir des connexions et facultativement transférer des informations à partir d'un serveur. La performance du serveur et du client ainsi que la vitesse du lien déterminent le nombre de connexions que s_time peut établir.

NOTES

s_time peut être utilisée pour mesurer la performance d'une connexion SSL. La commande suivante est typiquement utilisée pour se connecter à un serveur HTTP SSL (https utilise le port 443) et obtenir la page par défaut :

 openssl s_time -connect nom_serveur:443 -www / -CApath répertoire \
         -CAfile fichier.pem -cipher algorithme_commun [-ssl3]

« algorithme_commun » est un algorithme sur lequel client et serveur peuvent s'accorder, consultez la commande ciphers(1) pour plus de précisions.

En cas d’échec de l’initialisation de connexion, plusieurs causes sont possibles. Si aucune raison évidente n’est détectée comme l’absence de certificat client, les options -bugs, -ssl2 et -ssl3 peuvent être essayées si le serveur est bogué. En particulier, vous devriez essayer ces options avant de soumettre un rapport de bogue sur une liste de diffusion d’OpenSSL.

Un problème classique lors d’une tentative d’obtention de certificat client fonctionnel, est qu’un client web se plaint de ne pas avoir de certificat ou donne une liste vide pour le choisir. C’est généralement dû au serveur qui n’envoie pas aux clients les autorités de certification dans sa « liste d’autorités de certification acceptables » quand il demande un certificat. En utilisant s_client(1), la liste d’autorités de certification peut être vue et vérifiée. Cependant, certains serveurs ne demandent une authentification du client qu’après une demande d’URL spécifique. Pour obtenir la liste dans ce cas, il faut utiliser l’option -prexit de s_client(1) et envoyer une requête HTTP pour une page appropriée.

Si un certificat est indiqué sur la ligne de commandes en utilisant l'option -cert, il ne sera pas utilisé à moins que le serveur indiqué n’exige un certificat client. Par conséquent, la simple utilisation d'un certificat client sur la ligne de commandes ne garantit pas que le certificat fonctionne.

BOGUES

Ce programme n'a pas toutes les options du programme s_client(1) pour activer ou désactiver des protocoles, vous ne pouvez pas mesurer les performances de tous les protocoles avec tous les serveurs.

L'option -verify devrait réellement quitter si la vérification du serveur échoue.

TRADUCTION

Cette page de manuel a été traduite par Guillaume Quesnel en 2008 et est maintenue par la liste <debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.