Il s'agit de la commande s_clientssl qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
s_client - programme client SSL/TLS
SYNOPSIS
openssl s_client [-relier port hôte] [-nom du serveur prénom] [-Vérifier profondeur]
[-verify_return_error] [-certificat nom de fichier] [-formulaire de certificat DER|PEM] [-clé nom de fichier] [-forme de clé
DER|PEM] [-passer arg] [-CAchemin annuaire] [-CAfichier nom de fichier] [-no_alt_chains] [-reconnecter]
[-pause] [-spectacles] [-déboguer] [- msg] [-nbio_test] [-Etat] [-nbio] [-crlf] [-ign_eof]
[-no_ign_eof] [-silencieux] [-ssl2] [-ssl3] [-tls1] [-no_ssl2] [-no_ssl3] [-no_tls1]
[-no_tls1_1] [-no_tls1_2] [-fallback_scsv] [-Bugs] [-chiffrer liste de chiffrement] [-préfserveur]
[-starttls protocole] [-moteur id] [-tlsextdebug] [-pas de ticket] [-ses_out nom de fichier]
[-sess_in nom de fichier] [-rand des dossiers)] [-infoserveur types] [-statut] [-proton suivant
protocoles]
DESCRIPTION
Le manuel de formation s_client La commande implémente un client SSL/TLS générique qui se connecte à un hôte distant
utilisant SSL/TLS. C'est un très outil de diagnostic utile pour les serveurs SSL.
OPTIONS
-relier port hôte
Cela spécifie l'hôte et le port facultatif auxquels se connecter. S'il n'est pas spécifié, un
tentative est faite pour se connecter à l'hôte local sur le port 4433.
-nom du serveur prénom
Définissez l'extension TLS SNI (Server Name Indication) dans le message ClientHello.
-certificat nom de certificat
Le certificat à utiliser, s'il est demandé par le serveur. La valeur par défaut est de ne pas utiliser de
certificat.
-formulaire de certificat le format
Le format de certificat à utiliser : DER ou PEM. PEM est la valeur par défaut.
-clé fichier clé
La clé privée à utiliser. S'il n'est pas spécifié, le fichier de certificat sera utilisé.
-forme de clé le format
Le format privé à utiliser : DER ou PEM. PEM est la valeur par défaut.
-passer arg
la source du mot de passe de la clé privée. Pour plus d'informations sur le format de arg voir la
PASS PHRASE ARGUMENTS section openssl (1).
-Vérifier profondeur
La profondeur de vérification à utiliser. Ceci spécifie la longueur maximale du certificat du serveur
chaîne et active la vérification du certificat du serveur. Actuellement l'opération de vérification
continue après les erreurs afin que tous les problèmes avec une chaîne de certificats puissent être vus. Comme un
effet secondaire, la connexion n'échouera jamais en raison d'un échec de vérification de certificat de serveur.
-verify_return_error
Renvoyez les erreurs de vérification au lieu de continuer. Cela interrompra généralement le
poignée de main avec une erreur fatale.
-CAchemin annuaire
Répertoire à utiliser pour la vérification du certificat du serveur. Ce répertoire doit être dans
"format de hachage", voir vérifier pour plus d'informations. Ceux-ci sont également utilisés lors de la construction du
chaîne de certificat client.
-CAfichier filet
Un fichier contenant des certificats de confiance à utiliser lors de l'authentification du serveur et à utiliser
lors de la tentative de création de la chaîne de certificats client.
-but, -ignorer_critique, -émetteur_chèques, -crl_check, -crl_check_all, -policy_check,
-extended_crl, -x509_strict, -politique -check_ss_sig -no_alt_chains
Définissez diverses options de validation de la chaîne de certificats. Voir le vérifier page de manuel pour
détails.
-reconnecter
se reconnecte 5 fois au même serveur en utilisant le même identifiant de session, cela peut être utilisé comme
testez que la mise en cache de session fonctionne.
-pause
fait une pause d'une seconde entre chaque appel de lecture et d'écriture.
-spectacles
afficher toute la chaîne de certificats du serveur : normalement uniquement le certificat du serveur
lui-même est affiché.
-préxit
imprimer les informations de session lorsque le programme se termine. Cela tentera toujours d'imprimer
des informations même si la connexion échoue. Normalement, les informations ne seront
imprimé une fois si la connexion réussit. Cette option est utile car le chiffrement
en cours d'utilisation peut être renégocié ou la connexion peut échouer car un certificat client est
requis ou n'est demandé qu'après une tentative d'accès à une certaine URL. Noter:
la sortie produite par cette option n'est pas toujours précise car une connexion peut
n'ont jamais été établis.
-Etat
imprime les états de session SSL.
-déboguer
imprimer des informations de débogage complètes, y compris un vidage hexadécimal de tout le trafic.
- msg
afficher tous les messages de protocole avec vidage hexadécimal.
-nbio_test
teste les E/S non bloquantes
-nbio
active les E/S non bloquantes
-crlf
cette option traduit un saut de ligne du terminal en CR+LF comme requis par certains
les serveurs.
-ign_eof
inhibe l'arrêt de la connexion lorsque la fin du fichier est atteinte dans l'entrée.
-silencieux
empêcher l'impression des informations de session et de certificat. Cela s'allume implicitement
-ign_eof également.
-no_ign_eof
arrêter la connexion lorsque la fin du fichier est atteinte dans l'entrée. Peut être utilisé pour
remplacer l'implicite -ign_eof après -silencieux.
-psk_identité identité
Utiliser l'identité PSK identité lors de l'utilisation d'une suite de chiffrement PSK.
-psk clé
Utiliser la clé PSK clé lors de l'utilisation d'une suite de chiffrement PSK. La clé est donnée sous forme hexadécimale
nombre sans 0x de tête, par exemple -psk 1a2b3c4d.
-ssl2, -ssl3, -tls1, -tls1_1, -tls1_2, -no_ssl2, -no_ssl3, -no_tls1, -no_tls1_1,
-no_tls1_2
Ces options nécessitent ou désactivent l'utilisation des protocoles SSL ou TLS spécifiés. Par
par défaut, la poignée de main initiale utilise un version flexible méthode qui négociera le
la version de protocole mutuellement supportée la plus élevée.
-fallback_scsv
Envoyez TLS_FALLBACK_SCSV dans ClientHello.
-Bugs
il existe plusieurs bogues connus dans les implémentations SSL et TLS. L'ajout de cette option permet
diverses solutions de contournement.
-chiffrer liste de chiffrement
cela permet de modifier la liste de chiffrement envoyée par le client. Bien que le serveur
détermine quelle suite de chiffrement est utilisée, il doit prendre le premier chiffrement pris en charge dans le
liste envoyée par le client. Voir le Ciphers commande pour plus d'informations.
-préfserveur
utiliser les préférences de chiffrement du serveur ; utilisé uniquement pour SSLV2.
-starttls protocole
envoyer le(s) message(s) spécifique(s) au protocole pour passer à TLS pour la communication. protocole is
un mot-clé pour le protocole prévu. Actuellement, les seuls mots clés pris en charge sont
"smtp", "pop3", "imap" et "ftp".
-tlsextdebug
imprimez un vidage hexadécimal de toutes les extensions TLS reçues du serveur.
-pas de ticket
désactiver la prise en charge des tickets de session RFC4507bis.
-ses_out nom de fichier
sortir la session SSL vers nom de fichier
-sess_in sess.pem
charger la session SSL à partir de nom de fichier. Le client tentera de reprendre une connexion à partir de
cette session.
-moteur id
spécifiant un moteur (par son unique id chaîne) provoquera s_client tenter de
obtenir une référence fonctionnelle au moteur spécifié, l'initialisant ainsi si besoin.
Le moteur sera alors défini par défaut pour tous les algorithmes disponibles.
-rand des dossiers)
un fichier ou des fichiers contenant des données aléatoires utilisés pour amorcer le générateur de nombres aléatoires, ou un
Prise EGD (voir RAND_egd(3)). Plusieurs fichiers peuvent être spécifiés séparés par un système d'exploitation-
caractère dépendant. Le séparateur est ; pour MS-Windows, , pour OpenVMS, et : pour tous
autres.
-infoserveur types
une liste de types d'extensions TLS séparés par des virgules (nombres compris entre 0 et 65535). Chaque
type sera envoyé en tant qu'extension TLS ClientHello vide. La réponse du serveur (si
any) sera encodé et affiché sous forme de fichier PEM.
-statut
envoie une demande de statut de certificat au serveur (agrafage OCSP). La réponse du serveur
(le cas échéant) est imprimé.
-proton suivant protocoles
activer l'extension TLS Next Protocol Negotiation et fournir une liste de
les noms de protocole dont le client doit annoncer la prise en charge. La liste doit contenir
protocoles les plus recherchés en premier. Les noms de protocole sont des chaînes ASCII imprimables, par exemple
"http/1.1" ou "spdy/3". Une liste vide de protocoles est traitée spécialement et causera
le client pour annoncer la prise en charge de l'extension TLS mais se déconnecte juste après
recevoir ServerHello avec une liste de protocoles pris en charge par le serveur.
CONNECTÉ COMMANDES
Si une connexion est établie avec un serveur SSL, toutes les données reçues du serveur
s'affiche et toute pression de touche sera envoyée au serveur. Lorsqu'il est utilisé de manière interactive
(ce qui signifie ni -silencieux ni -ign_eof ont été donnés), la session sera
renégocié si la ligne commence par un R, et si la ligne commence par un Q ou si fin de
fichier est atteint, la connexion sera interrompue.
NOTES
s_client peut être utilisé pour déboguer les serveurs SSL. Pour se connecter à un serveur SSL HTTP la commande :
openssl s_client -connect nom_serveur:443
serait généralement utilisé (https utilise le port 443). Si la connexion réussit, un HTTP
Une commande peut être donnée telle que "GET /" pour récupérer une page Web.
Si la poignée de main échoue alors il y a plusieurs causes possibles, si ce n'est rien d'évident
comme aucun certificat client alors le -Bugs, -ssl2, -ssl3, -tls1, -no_ssl2, -no_ssl3,
-no_tls1 les options peuvent être essayées au cas où il s'agirait d'un serveur bogué. En particulier, vous devez jouer
avec ces options avant soumettre un rapport de bogue à une liste de diffusion OpenSSL.
Un problème fréquent lors de la tentative de fonctionnement des certificats client est qu'un client Web
se plaint qu'il n'a pas de certificats ou donne une liste vide à choisir. C'est normalement
parce que le serveur n'envoie pas l'autorité de certification des clients dans son "AC acceptable
list" lorsqu'il demande un certificat. En utilisant s_client la liste des CA peut être consultée et
vérifié. Cependant, certains serveurs ne demandent l'authentification du client qu'après qu'une URL spécifique est
demandé. Pour obtenir la liste dans ce cas, il est nécessaire d'utiliser le -préxit option et
envoyer une requête HTTP pour une page appropriée.
Si un certificat est spécifié sur la ligne de commande à l'aide de la -certificat option ce ne sera pas
utilisé sauf si le serveur demande spécifiquement un certificat client. Pour cela simplement
inclure un certificat client sur la ligne de commande ne garantit pas que le certificat
œuvres.
S'il y a des problèmes pour vérifier un certificat de serveur, le -spectacles l'option peut être
utilisé pour montrer toute la chaîne.
Étant donné que le bonjour du client SSLv23 ne peut pas inclure de méthodes de compression ou d'extensions, celles-ci seront
n'être pris en charge que si son utilisation est désactivée, par exemple en utilisant le -no_sslv2 option.
Le manuel de formation s_client l'utilitaire est un outil de test et est conçu pour continuer la poignée de main après tout
erreurs de vérification de certificat. En conséquence, il acceptera n'importe quelle chaîne de certificats (de confiance
ou non) envoyé par le pair. Aucune application de test ne doit pas fais ça comme ça les fait
vulnérable à une attaque MITM. Ce comportement peut être modifié avec le
-verify_return_error option : toutes les erreurs de vérification sont alors renvoyées, ce qui interrompt la négociation.
Utilisez s_clientssl en ligne à l'aide des services onworks.net