.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "S_CLIENT 1SSL" .TH S_CLIENT 1SSL "2015-12-31" "1.0.2a 1.0.2c" "OpenSSL" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" s_client \- programme client \s-1SSL\s0 ou \s-1TLS\s0 .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBopenssl\fR \fBs_client\fR [\fB\-connect\fR \fIhôte\fR\fB:\fR\fIport\fR] [\fB\-servername\fR \&\fInom\fR] [\fB\-verify\fR \fIprofondeur\fR] [\fB\-verify_return_error\fR] [\fB\-cert\fR \&\fIfichier\fR] [\fB\-certform \s-1DER\s0\fR|\fB\s-1PEM\s0\fR] [\fB\-key\fR \fIfichier\fR] [\fB\-keyform \&\s-1DER\s0\fR|\fB\s-1PEM\s0\fR] [\fB\-pass\fR \fIparam\fR] [\fB\-CApath\fR \fIrépertoire\fR] [\fB\-CAfile\fR \&\fIfichier\fR] [\fB\-no_alt_chains\fR] [\fB\-reconnect\fR] [\fB\-pause\fR] [\fB\-showcerts\fR] [\fB\-debug\fR] [\fB\-msg\fR] [\fB\-nbio_test\fR] [\fB\-state\fR] [\fB\-nbio\fR] [\fB\-crlf\fR] [\fB\-ign_eof\fR] [\fB\-no_ign_eof\fR] [\fB\-quiet\fR] [\fB\-ssl2\fR] [\fB\-ssl3\fR] [\fB\-tls1\fR] [\fB\-no_tls1_1\fR] [\fB\-no_tls1_2\fR] [\fB\-no_ssl2\fR] [\fB\-no_ssl3\fR] [\fB\-no_tls1\fR] [\fB\-bugs\fR] [\fB\-cipher\fR \fIlistechiffrements\fR] [\fB\-serverpref\fR] [\fB\-starttls\fR \&\fIprotocole\fR] [\fB\-engine\fR \fIidentifiant\fR] [\fB\-tlsextdebug\fR] [\fB\-no_ticket\fR] [\fB\-sess_out\fR \fIfichier\fR] [\fB\-sess_in\fR \fIfichier\fR] [\fB\-rand\fR \fIfichier(s)\fR] [\fB\-serverinfo\fR \fItypes\fR] [\fB\-status\fR] [\fB\-nextprotoneg\fR \fIprotocoles\fR] .SH "DESCRIPTION" .IX Header "DESCRIPTION" La commande \fBs_client\fR implémente un client \s-1SSL\s0 ou \s-1TLS\s0 générique qui se connecte à un hôte distant en utilisant \s-1SSL\s0 ou \s-1TLS.\s0 C’est un outil de diagnostic \fItrès\fR pratique pour les serveurs \s-1SSL.\s0 .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-connect\fR \fIhôte\fR\fB:\fR\fIport\fR" 4 .IX Item "-connect hôte:port" Cela indique l’hôte et le port facultatif où se connecter. Sans indication, un essai de connexion sera réalisé vers l’hôte local sur le port 4433. .IP "\fB\-servername\fR \fInom\fR" 4 .IX Item "-servername nom" Définir l’extension \s-1SNI \s0(« Server Name Indication ») \s-1TLS\s0 dans le message ClientHello. .IP "\fB\-cert\fR \fIfichier\fR" 4 .IX Item "-cert fichier" Le certificat à utiliser, s’il est demandé par le serveur. Par défaut, aucun certificat n’est utilisé. .IP "\fB\-certform\fR \fIformat\fR" 4 .IX Item "-certform format" Le format de certificat à utiliser : \fB\s-1DER\s0\fR ou \fB\s-1PEM\s0\fR. Par défaut, \fB\s-1PEM\s0\fR est utilisé. .IP "\fB\-key\fR \fIfichier\fR" 4 .IX Item "-key fichier" La clef privée à utiliser. En absence d’indication, le fichier de certificats sera utilisé. .IP "\fB\-keyform\fR \fIformat\fR" 4 .IX Item "-keyform format" Le format privé à utiliser : \fB\s-1DER\s0\fR ou \fB\s-1PEM\s0\fR. Par défaut, \fB\s-1PEM\s0\fR est utilisé. .IP "\fB\-pass\fR \fIparam\fR" 4 .IX Item "-pass param" La source du mot de passe de la clef privée. Pour plus d'informations sur le format de \fIparam\fR, consultez la section \fBPARAMÈTRES \s-1DE PHRASE\s0 SECRÈTE\fR d'\fBopenssl\fR(1). .IP "\fB\-verify\fR \fIprofondeur\fR" 4 .IX Item "-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. .IP "\fB\-verify_return_error\fR" 4 .IX Item "-verify_return_error" Renvoyer les erreurs de vérification au lieu de continuer. Cela fera typiquement échouer l’initialisation de connexion avec une erreur fatale. .IP "\fB\-CApath\fR \fIrépertoire\fR" 4 .IX Item "-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 \fBverify\fR pour plus de renseignements. Il est aussi utilisé pour construire la chaîne de certificats du client. .IP "\fB\-CAfile\fR \fIfichier\fR" 4 .IX Item "-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. .IP "\fB\-purpose\fR, \fB\-ignore_critical\fR, \fB\-issuer_checks\fR, \fB\-crl_check\fR, \fB\-crl_check_all\fR, \fB\-policy_check\fR, \fB\-extended_crl\fR, \fB\-x509_strict\fR, \fB\-policy\fR, \fB\-check_ss_sig\fR, \fB\-no_alt_chains\fR" 4 .IX Item "-purpose, -ignore_critical, -issuer_checks, -crl_check, -crl_check_all, -policy_check, -extended_crl, -x509_strict, -policy, -check_ss_sig, -no_alt_chains" Définir plusieurs options de validation de chaîne de certificats. Consultez la page de manuel \fBverify\fR(1) pour plus de précisions. .IP "\fB\-reconnect\fR" 4 .IX Item "-reconnect" Se reconnecter au même serveur cinq fois en utilisant le même identifiant de session. Cela peut servir de test de fonctionnement du cache de session. .IP "\fB\-pause\fR" 4 .IX Item "-pause" Faire une pause d’une seconde entre chaque appel de lecture et écriture. .IP "\fB\-showcerts\fR" 4 .IX Item "-showcerts" Afficher toute la chaîne de certificats du serveur : normalement, seul le certificat du serveur lui\-même est affiché. .IP "\fB\-prexit\fR" 4 .IX Item "-prexit" Afficher les renseignements de session lorsque le programme est quitté. Cela essayera toujours d’afficher les renseignements même en cas d’échec de connexion. Les renseignements ne sont normalement affichés qu’une fois si la connexion réussit. Cette option est utile car l’algorithme de chiffrement en cours d’utilisation pourrait être renégocié, ou la connexion pourrait échouer parce qu’un certificat client est demandé, ou n’être demandé qu’après une tentative d’accès à une certaine \s-1URL.\s0 Remarque : la sortie produite par cette option n’est pas toujours exacte car une connexion pourrait n’avoir jamais été établie. .IP "\fB\-state\fR" 4 .IX Item "-state" Afficher les états de session \s-1SSL.\s0 .IP "\fB\-debug\fR" 4 .IX Item "-debug" Afficher des renseignements de débogage complets y compris l’intégralité des échanges au format hexadécimal. .IP "\fB\-msg\fR" 4 .IX Item "-msg" Montrer tous les messages de protocole avec les échanges au format hexadécimal. .IP "\fB\-nbio_test\fR" 4 .IX Item "-nbio_test" Tester les entrées et sorties non bloquantes. .IP "\fB\-nbio\fR" 4 .IX Item "-nbio" Activer les entrées et sorties non bloquantes. .IP "\fB\-crlf\fR" 4 .IX Item "-crlf" Cette option traduit un changement de ligne du terminal en \s-1RC+PAL \s0(\s-1CR+LF\s0) comme exigé par certains serveurs. .IP "\fB\-ign_eof\fR" 4 .IX Item "-ign_eof" Empêcher la fermeture de connexion quand une fin de fichier est atteinte en entrée. .IP "\fB\-quiet\fR" 4 .IX Item "-quiet" Empêcher l’affichage de renseignements sur la session et le certificat. Cela active aussi \fB\-ign_eof\fR implicitement. .IP "\fB\-no_ign_eof\fR" 4 .IX Item "-no_ign_eof" Fermer la connexion quand une fin de fichier est atteinte en entrée. Peut être utilisée pour remplacer le \fB\-ign_eof\fR implicite après \fB\-quiet\fR. .IP "\fB\-psk_identity\fR \fIidentité\fR" 4 .IX Item "-psk_identity identité" Utiliser l’identité \s-1PSK \s0\fIidentité\fR lors de l’utilisation d’un ensemble de chiffrements \s-1PSK.\s0 .IP "\fB\-psk\fR \fIclef\fR" 4 .IX Item "-psk clef" Utiliser la clef \s-1PSK \s0\fIclef\fR lors de l’utilisation d’un ensemble de chiffrements \s-1PSK.\s0 La clef est donnée comme un nombre hexadécimal sans être précédé par 0x, par exemple \fB\-psk 1a2b3c4d\fR. .IP "\fB\-ssl2\fR, \fB\-ssl3\fR, \fB\-tls1\fR, \fB\-no_ssl2\fR, \fB\-no_ssl3\fR, \fB\-no_tls1\fR, \fB\-no_tls1_1\fR, \fB\-no_tls1_2\fR" 4 .IX Item "-ssl2, -ssl3, -tls1, -no_ssl2, -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2" Ces options désactivent l’utilisation de certains protocoles \s-1SSL\s0 ou \s-1TLS.\s0 Par défaut, l’initialisation de connexion utilise une méthode qui devrait être compatible avec tous les serveurs et leur permettre d’utiliser \s-1SSL\s0 v3, \&\s-1SSL\s0 v2 ou \s-1TLS\s0 comme approprié. .Sp Malheureusement, 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 \s-1TLS\s0 est désactivé. .IP "\fB\-fallback_scsv\fR" 4 .IX Item "-fallback_scsv" Envoyer \s-1TLS_FALLBACK_SCSV\s0 dans ClientHello. .IP "\fB\-bugs\fR" 4 .IX Item "-bugs" Plusieurs bogues sont connus dans les implémentations \s-1SSL\s0 et \s-1TLS. L\s0'ajout de cette option permet de contourner certains problèmes. .IP "\fB\-cipher\fR \fIlistechiffrements\fR" 4 .IX Item "-cipher listechiffrements" Cela permet à la liste de chiffrements envoyée par le client d’être modifiée. Bien que le serveur détermine l’ensemble de chiffrements qui est utilisé, il devrait prendre le premier algorithme de chiffrement pris en charge de la liste envoyée par le client. Consultez la commande \fBciphers\fR pour plus de renseignements. .IP "\fB\-serverpref\fR" 4 .IX Item "-serverpref" Utiliser les préférences de chiffrement du serveur ; utilisée seulement pour \&\s-1SSLV2.\s0 .IP "\fB\-starttls\fR \fIprotocole\fR" 4 .IX Item "-starttls protocole" Envoyer le ou les messages spécifiques au protocole pour basculer vers \s-1TLS\s0 pour la communication. \fIprotocole\fR est un mot clef pour le protocole désiré. Actuellement, les seuls mots clefs pris en charge sont « smtp », « pop3 », « imap » et « ftp ». .IP "\fB\-tlsextdebug\fR" 4 .IX Item "-tlsextdebug" Afficher les échanges au format hexadécimal de toutes les extensions \s-1TLS\s0 reçues du serveur. .IP "\fB\-no_ticket\fR" 4 .IX Item "-no_ticket" Désactiver la prise en charge des tickets de session \s-1RFC 4507\s0 bis. .IP "\fB\-sess_out\fR \fIfichier\fR" 4 .IX Item "-sess_out fichier" Envoyer la session \s-1SSL\s0 dans \fIfichier\fR. .IP "\fB\-sess_in\fR \fIfichier\fR" 4 .IX Item "-sess_in fichier" Charger la session \s-1SSL\s0 du \fIfichier\fR. Le client essayera de reprendre une connexion depuis cette session. .IP "\fB\-engine\fR \fIidentifiant\fR" 4 .IX Item "-engine identifiant" Indiquer un moteur (en utilisant son identifiant unique \fIidentifiant\fR) obligera \fBs_client\fR à essayer d'obtenir une référence fonctionnelle pour le moteur indiqué et de l'initialiser si nécessaire. Le moteur sera ensuite utilisé par défaut pour tous les algorithmes disponibles. .IP "\fB\-rand\fR \fIfichier(s)\fR" 4 .IX Item "-rand fichier(s)" Un ou plusieurs fichiers contenant des données aléatoires utilisées pour initialiser le générateur de nombres pseudoaléatoires, ou une socket \s-1EGD \&\s0(consultez \fBRAND_egd\fR(3)). Plusieurs fichiers peuvent être indiqués en utilisant le séparateur du système d'exploitation : « \fB;\fR » pour Windows, « \fB,\fR » pour OpenVMS et « \fB:\fR » pour tous les autres. .IP "\fB\-serverinfo\fR \fItypes\fR" 4 .IX Item "-serverinfo types" Une liste de types d’extension \s-1TLS \s0(nombres compris entre 0 et 65535), séparés par des virgules. Chaque type est envoyé comme une extension \&\s-1TLS\s0 ClientHello vide. La réponse du serveur (s’il y en a une) sera encodée et affichée comme un fichier \s-1PEM.\s0 .IP "\fB\-status\fR" 4 .IX Item "-status" Envoyer une demande d’état de certificat au serveur (agrafage \s-1OCSP\s0). La réponse du serveur (s’il y en a) est affichée. .IP "\fB\-nextprotoneg\fR \fIprotocoles\fR" 4 .IX Item "-nextprotoneg protocoles" Activer l’extension \s-1TLS\s0 de négociation du prochain protocole (« Next Protocol Negotiation ») et fournir une liste de noms de protocoles séparés par des virgules dont le client devrait annoncer la prise en charge. La liste devrait d’abord contenir les protocoles les plus voulus. Les noms de protocole sont des chaînes \s-1ASCII\s0 affichables, par exemple « http/1.1 » ou « spdy/3 ». Une liste vide de protocoles est traitée spécialement et forcera le client à annoncer la prise en charge de l’extension \s-1TLS\s0 mais à se déconnecter juste après avoir reçu ServerHello avec une liste des protocoles serveurs pris en charge. .SH "COMMANDES DE CONNEXION" .IX Header "COMMANDES DE CONNEXION" Si une connexion est établie avec un serveur \s-1SSL,\s0 alors toutes les données reçues du serveur sont affichées et n’importe quel appui de touche sera envoyée au serveur. En utilisation interactive (ce qui signifie que ni \&\fB\-quiet\fR ni \fB\-ign_eof\fR n’ont été données), la session sera renégociée si la ligne commence par un \fBR\fR, et, si la ligne commence par un \fBQ\fR ou si la fin de fichier est atteinte, la connexion sera fermée. .SH "NOTES" .IX Header "NOTES" \&\fBs_client\fR peut être utilisée pour déboguer les serveurs \s-1SSL.\s0 Pour se connecter à un serveur \s-1HTTP SSL,\s0 la commande : .PP .Vb 1 \& openssl s_client \-connect nomdeserveur:443 .Ve .PP serait typiquement utilisée (\s-1HTTPS\s0 utilise le port 443). Si la connexion réussit, alors une commande \s-1HTTP\s0 peut être donnée comme « \s-1GET /\s0 » pour récupérer une page web. .PP 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 \fB\-bugs\fR, \fB\-ssl2\fR, \fB\-ssl3\fR, \fB\-tls1\fR, \&\fB\-no_ssl2\fR, \fB\-no_ssl3\fR et \fB\-no_tls1\fR peuvent être essayées si le serveur est bogué. En particulier, vous devriez essayer ces options \fBavant\fR de soumettre un rapport de bogue sur une liste de diffusion d’OpenSSL. .PP 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 \fBs_client\fR, 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 \fB\-prexit\fR et envoyer une requête \s-1HTTP\s0 pour une page appropriée. .PP Si un certificat est indiqué sur la ligne de commandes en utilisant l'option \&\fB\-cert\fR, 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. .PP En cas de problème de vérification d’un certificat de serveur, l’option \&\fB\-showcerts\fR peut être utilisée pour montrer toute la chaîne. .PP Puisque le salut du client SSLv23 ne peut pas inclure les méthodes ou extensions de compression, elles ne seront prises en charge que si son utilisation est désactivée, par exemple en utilisant l’option \fB\-no_sslv2\fR. .PP L’utilitaire \fBs_client\fR est un outil de test, conçu pour continuer l’initialisation de connexion après n’importe quelle erreur de vérification de certificat. Par conséquent, il acceptera n’importe quelle chaîne de certificats (de confiance ou non) envoyée par le pair. \fBAucune\fR application réelle ne devrait faire cela car elle serait vulnérable aux attaques d’homme au milieu. Ce comportement peut être modifié à l’aide de l’option \&\fB\-verify_return_error\fR : toutes les erreurs de vérification sont alors renvoyées en faisant échouer l’initialisation de connexion. .SH "BOGUES" .IX Header "BOGUES" Puisque ce programme a beaucoup d’options, et aussi parce que certaines des techniques utilisées sont plutôt vieilles, le code source C de \fBs_client\fR est plutôt difficile à lire et n’est pas un exemple à suivre. Un programme client \s-1SSL\s0 typique serait beaucoup plus simple. .PP L’option \fB\-prexit\fR est un peu du bidouillage. Les renseignements devraient vraiment être signalés quand une session est renégociée. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fBsess_id\fR(1), \fBs_server\fR(1), \&\fBciphers\fR(1) .SH "HISTORIQUE" .IX Header "HISTORIQUE" L’option \fB\-no_alt_chains\fR a été ajoutée à OpenSSL 1.0.2b. .SH "TRADUCTION" .IX Header "TRADUCTION" La traduction de cette page de manuel est maintenue par les membres de la liste . Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.