.\" Automatically generated by Pod::Man v1.3, Pod::Parser v1.13 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .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. | will give a .\" real vertical bar. \*(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-|\(bv\*(Tr .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" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "STUNNEL.FR 8" .TH STUNNEL.FR 8 "2003.12.21" "4.05" "stunnel" .UC .SH "NOM" .IX Header "NOM" stunnel \- tunnel \s-1SSL\s0 universel .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBstunnel\fR [filename] | \-help | \-version | \-sockets .SH "DESCRIPTION" .IX Header "DESCRIPTION" Le programme \fBstunnel\fR est conçu pour agir en tant que wrapper de chiffrement \fI\s-1SSL\s0\fR entre des clients distants et des serveurs locaux (activables par \fIinetd\fR) ou distants. Le concept est qu'ayant des daemons non-SSL sur votre système, il est possible de les configurer aisément pour communiquer avec des clients sur des canaux \s-1SSL\s0 sécurisés. .PP \&\fBstunnel\fR peut être utilisé pour ajouter une fonctionnalité \s-1SSL\s0 à des daemons \fIInetd\fR communs, tels que les serveurs \s-1POP\-2\s0, \s-1POP\-3\s0 et \s-1IMAP\s0, à des daemons autonomes tels que \s-1NNTP\s0, \s-1SMTP\s0 et \s-1HTTP\s0 et pour tunneliser \s-1PPP\s0 sur des sockets réseaux sans modification du code source. .PP Ce produit contient du code de chiffrement écrit par Eric Young (eay@cryptsoft.com) .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB[filename]\fR" 4 .IX Item "[filename]" Utilise le fichier de configuration spécifié .IP "\fB\-help\fR" 4 .IX Item "-help" Affiche le menu d'aide de \fBstunnel\fR .IP "\fB\-version\fR" 4 .IX Item "-version" Affiche la version et la configuration de compilation de \fBstunnel\fR .IP "\fB\-sockets\fR" 4 .IX Item "-sockets" Affiche les options par défaut des sockets .IP "\fB\-install\fR (\s-1NT/2000/XP\s0 seulement)" 4 .IX Item "-install (NT/2000/XP seulement)" Installe le service \s-1NT\s0 .IP "\fB\-uninstall\fR (\s-1NT/2000/XP\s0 seulement)" 4 .IX Item "-uninstall (NT/2000/XP seulement)" Désinstalle le service \s-1NT\s0 .SH "FICHIER DE CONFIGURATION" .IX Header "FICHIER DE CONFIGURATION" Chaque ligne du fichier de configuration peut être soit : .IP "\(bu" 4 une ligne vide (ignorée) ; .IP "\(bu" 4 un commentaire débutant par un \*(L"#\*(R" (ignoré) ; .IP "\(bu" 4 une paire \*(L"option = valeur\*(R" ; .IP "\(bu" 4 \&\*(L"[service]\*(R" indiquant le début d'une définition de service. .Sh "\s-1OPTIONS\s0 \s-1GLOBALES\s0" .IX Subsection "OPTIONS GLOBALES" .IP "\fBCApath\fR = répertoire" 4 .IX Item "CApath = répertoire" Répertoire de l'autorité de certification .Sp C'est le répertoire dans lequel \fBstunnel\fR cherche les certificats avec \&\fIverify\fR. Les certificats doivent être nommés \s-1XXXXXXXX\s0.0 où \s-1XXXXXXXX\s0 est la valeur de hachage du certificat. .IP "\fBCAfile\fR = fichier" 4 .IX Item "CAfile = fichier" Fichier de l'autorité de certification .Sp Ce fichier contients plusieurs certificats utilisés avec \fIverify\fR. .IP "\fBcert\fR = fichier" 4 .IX Item "cert = fichier" Nom du fichier de la chaîne de certification \s-1PEM\s0 .Sp Une \s-1PEM\s0 est toujours nécessaire en mode serveur. En mode client, cette option utilise cette chaîne comme chaîne de certificat client. L'utilisation de certificats clients est optionnelle. Les certificats doivent être au format \s-1PEM\s0 et triés par ordre de niveau décroissant (à partir de l'autorité racine). .IP "\fBchroot\fR = répertoire (Unix seulement)" 4 .IX Item "chroot = répertoire (Unix seulement)" répertoire de chroot pour le processus \fBstunnel\fR. .Sp \&\fBchroot\fR enferme \fBstunnel\fR dans une cellule d'arborescence. \&\fICApath\fR, \fIpid\fR et \fIexec\fR sont disposés à l'intérieur de la cellule et les chemins doivent être relatifs au répertoire \fBchroot\fR. .Sp Pour que le contrôle libwrap (\s-1TCP\s0 wrappers) soit effectif en environnement chroot, il faut y copier ses fichiers de configuration (/etc/hosts.allow et /etc/hosts.deny). .IP "\fBciphers\fR = liste" 4 .IX Item "ciphers = liste" Sélection des codages \s-1SSL\s0 autorisés .Sp Liste délimitée des codages à autoriser dans une connexion \s-1SSL\s0. Par exemple : \s-1DES\-CBC3\-SHA:IDEA\-CBC\-MD5\s0 .IP "\fBclient\fR = yes | no" 4 .IX Item "client = yes | no" Mode client (le service distant utilise \s-1SSL\s0) .Sp défaut: no (mpde serveur) .IP "\fBdebug\fR = [facilité.]niveau" 4 .IX Item "debug = [facilité.]niveau" Niveau de déverminage .Sp Le niveau est en phase avec ceux de syslog : emerg (0), alert (1), crit (2), err (3), warning (4), notice (5), info (6), ou debug (7). Toutes les traces de niveau inférieur ou égal numériquement seront affichées. \&\fBdebug = debug\fR ou \fBdebug = 7\fR donne le niveau de détail maximal. La valeur par défaut est notice (5). .Sp La facilité syslog 'daemon' sera utilisée par défaut (les facilités ne sont pas supportées par Win32). .Sp La casse des caractères est sans signification. .IP "\fB\s-1EGD\s0\fR = chemin (Unix seulement)" 4 .IX Item "EGD = chemin (Unix seulement)" Chemin vers la socket du daemon de rassemblement d'entropie (\s-1EGD\s0, Entropy Gathering Daemon socket). .Sp Socket d'\s-1EGD\s0 à utiliser pour alimenter le générateur d'aléatoires d'OpenSSL (disponible seulement à partir d'OpenSSL 0.9.5a). .IP "\fBforeground\fR = yes | no (Unix seulement)" 4 .IX Item "foreground = yes | no (Unix seulement)" Mode avant-plan .Sp Maintien en avant-plan (sans fork) et trace sur stderr au lieu de syslog (sauf si \fBoutput\fR est spécifié). .Sp défaut : arrière\-plan en mode daemon. .IP "\fBkey\fR = fichier" 4 .IX Item "key = fichier" Clef privée pour le certificat spécifié à \fIcert\fR .Sp La clef privée est nécessaire pour l'authentification du propriétaire du certificat. Puisque ce fichier doit rester secret, il ne doit être lisible que par son propriétaire. Sous Unix on peut utiliser : .Sp .Vb 1 \& chmod 600 fichier .Ve défaut : valeur de \fIcert\fR .IP "\fBoptions\fR = options_SSL" 4 .IX Item "options = options_SSL" Options de la bibliothèque OpenSSL .Sp Ce paramètre est le nome de l'option OpenSSL ainsi que décrite dans le manuel \fI\fISSL_CTX_set_options\fI\|(3ssl)\fR, mais sans le préfixe \fI\s-1SSL_OP_\s0\fR. Plusieurs \fIoptions\fR peuvent être utilisées. .Sp Par exemple, la compatibilité avec l'implantation défectueuse de \s-1SSL\s0 dans Eudora peut être assurée par : .Sp .Vb 1 \& options = DONT_INSERT_EMPTY_FRAGMENTS .Ve .IP "\fBoutput\fR = fichier" 4 .IX Item "output = fichier" Spécification du fichier de messages au lieu de syslog. .IP "\fBpid\fR = fichier (Unix seulement)" 4 .IX Item "pid = fichier (Unix seulement)" Emplacement du fichier pid (contenant le numéro de processus). .Sp Si l'argument est vide, aucun fichier pid ne sera créé. .IP "\fBRNDbytes\fR = octets" 4 .IX Item "RNDbytes = octets" Nombre d'octets à lire depuis les fichiers de sel aléatoire. .Sp Avec \s-1SSL\s0 de version inférieure à 0.9.5a, détermine aussi le nombre d'octets suffisants pour saler le \s-1PRNG\s0. Les versions plus récentes d'OpenSSM ont une fonction intégrée qui détermine lorsque le niveau d'aléatoire est suffisant. .IP "\fBRNDfile\fR = fichier" 4 .IX Item "RNDfile = fichier" Chemin vers le fichier de données de sel. .Sp La bibliothèque \s-1SSL\s0 utilisera en priorité les données de ce fichier pour alimenter le générateur d'aléatoires. .IP "\fBRNDoverwrite\fR = yes | no" 4 .IX Item "RNDoverwrite = yes | no" Écrase les fichiers de sel aléatoire avec de nouvelles valeurs. .Sp défaut : yes .IP "\fBservice\fR = service" 4 .IX Item "service = service" Spécification du nom de service. .Sp Sur Unix : nom de service de mode \fIinetd\fR pour \s-1TCP\s0 Wrapper ; .Sp Sur \s-1NT/2000/XP\s0 : nom de service \s-1NT\s0 dans le panneau de configuration. .Sp défaut : stunnel .IP "\fBsession\fR = timeout" 4 .IX Item "session = timeout" Timeout du cache de session .IP "\fBsetgid\fR = groupe (Unix seulement)" 4 .IX Item "setgid = groupe (Unix seulement)" En mode daemon, \fIsetgid()\fR vers le groupe spécifié et désactivation de tous les autres groupes de rattachement. .IP "\fBsetuid\fR = utilisateur (Unix seulement)" 4 .IX Item "setuid = utilisateur (Unix seulement)" En mode daemon, \fIsetuid()\fR vers l'utilisateur spécifié. .IP "\fBsocket\fR = a|l|r:option=valeur[:valeur]" 4 .IX Item "socket = a|l|r:option=valeur[:valeur]" Positionne une option sur les sockets accept/local/remote .Sp Les valeurs de l'option linger sont l_onof:l_linger. Les valeurs de l'option time sont tv_sec:tv_usec. .Sp Exemples : .Sp .Vb 11 \& socket = l:SO_LINGER=1:60 \& positionne un timeout d'une minute pour la clôture d'un socket local. \& socket = r:TCP_NODELAY=1 \& désactive l'algorithme Nagle pour les sockets distants. \& socket = r:SO_OOBINLINE=1 \& place les données out-of-band directement dans le flux de réception \& pour les sockets distants. \& socket = a:SO_REUSEADDR=0 \& désactive la réutilisation d'adresses (activée par défaut). \& socket = a:SO_BINDTODEVICE=lo \& n'accepte les connexions que sur l'interface de rebouclage. .Ve .IP "\fBverify\fR = niveau" 4 .IX Item "verify = niveau" Vérification du certificat de l'interlocuteur .Sp .Vb 4 \& niveau 1 - vérification du certificat s'il est présent ; \& niveau 2 - vérification du certificat ; \& niveau 3 - contrôle de l'interlocuteur avec le certificat installé en local ; \& défaut - pas de vérification. .Ve .Sh "\s-1OPTIONS\s0 \s-1DE\s0 \s-1NIVEAU\s0 \s-1SERVICE\s0" .IX Subsection "OPTIONS DE NIVEAU SERVICE" Chaque section de configuration débute par le nom du service entre crochets. Celui-ci est utiliser pour le contrôle d'accès libwrap (\s-1TCP\s0 Wrappers) et permet de distinguer les services \fBstunnel\fR dans les fichiers de trace. .PP Si l'on veut utiliser \fBstunnel\fR en monde \fIinetd\fR (dans lequel un socket réseau est fourni par un serveur comme \fIinetd\fR, \fIxinetd\fR, ou \fItcpserver\fR), il faut lire la section \fI\s-1MODE\s0 \s-1INETD\s0\fR ci\-après. .IP "\fBaccept\fR = [hôte:]port" 4 .IX Item "accept = [hôte:]port" Accepte les connexions du hôte spécifié sur le port spécifié. .Sp Si aucun hôte n'est spécifié, toutes les adresses \s-1IP\s0 par défaut pour l'hôte local. .IP "\fBconnect\fR = [hôte:]port" 4 .IX Item "connect = [hôte:]port" Connextion à l'adresse hôte:port. .Sp Si aucun hôte n'est spécifié, connexion sur localhost. .IP "\fBdelay\fR = yes | no" 4 .IX Item "delay = yes | no" Délai de recherche \s-1DNS\s0 pour l'option 'connect'. .IP "\fBexec\fR = chemin (Unix seulement)" 4 .IX Item "exec = chemin (Unix seulement)" Exécution d'un programme local de type inetd. .ie n .IP "\fBexecargs\fR = $0\fR \f(CW$1\fR \f(CW$2 ... (Unix seulement)" 4 .el .IP "\fBexecargs\fR = \f(CW$0\fR \f(CW$1\fR \f(CW$2\fR ... (Unix seulement)" 4 .IX Item "execargs = $0 $1 $2 ... (Unix seulement)" Arguments pour \fIexec\fR, y compris le nom du programme ($0) .Sp Les guillemets ne sont pas supportés actuellement. Les arguments sont séparés par un nombre quelconque d'espaces. .IP "\fBident\fR = utilisateur" 4 .IX Item "ident = utilisateur" Utilisation du contrôle de nom d'utilisateur \s-1IDENT\s0 (\s-1RFC\s0 1413). .IP "\fBlocal\fR = hôte" 4 .IX Item "local = hôte" Adresse \s-1IP\s0 de l'interface de sortie pour les connexions distantes. Cette option permet de connecter une adresse \s-1IP\s0 statique. .IP "\fBprotocol\fR = protocole" 4 .IX Item "protocol = protocole" Négociation \s-1SSL\s0 avec le protocole indiqué (actuellement : smtp, pop3 ou nntp). .IP "\fBpty\fR = yes | no (Unix seulement)" 4 .IX Item "pty = yes | no (Unix seulement)" Allocation d'un pseudo-terminal pour l'option 'exec'. .IP "\fBTIMEOUTbusy\fR = secondes" 4 .IX Item "TIMEOUTbusy = secondes" Durée d'attente des données. .IP "\fBTIMEOUTclose\fR = secondes" 4 .IX Item "TIMEOUTclose = secondes" Durée d'attente pour close_notify (positionné à 0 pour \s-1MSIE\s0 buggé). .IP "\fBTIMEOUTidle\fR = secondes" 4 .IX Item "TIMEOUTidle = secondes" Durée de maintien d'une connexion inactive. .IP "\fBtransparent\fR = yes | no (Unix seulement)" 4 .IX Item "transparent = yes | no (Unix seulement)" Mode mandataire transparent. .Sp Réécriture de l'adresse afin que la connexion apparaisse comme provenant de la machine client \s-1SSL\s0 plutôt que de celle exécutant \fBstunnel\fR. Cette option n'est disponible en mode local (option \fIexec\fR) qu'avec l'option \s-1LD_PRELOAD\s0 de la bibliothèque partagée env.so ou en mode distant (option \fIconnect\fR) sur un noyau Linux 2.2 compilé avec l'option \fItransparent proxy\fR puis seulement en mode serveur. Cette option est incompatible avec le mode mandataire (\fIconnect\fR) sauf si la route par défaut vers la machine cible passe par l'hôte \fBstunnel\fR, qui ne peut être localhost. .SH "VALEUR DE RETOUR" .IX Header "VALEUR DE RETOUR" \&\fBstunnel\fR renvoie zéro en cas de succès, une autre valeur en cas d'erreur. .SH "EXEMPLES" .IX Header "EXEMPLES" Pour encapsuler un service local \fIimapd\fR dans \s-1SSL\s0 : .PP .Vb 4 \& [imapd] \& accept = 993 \& exec = /usr/sbin/imapd \& execargs = imapd .Ve Pour tunnelliser le daemon \fIpppd\fR sur le port 2020 : .PP .Vb 5 \& [vpn] \& accept = 2020 \& exec = /usr/sbin/pppd \& execargs = pppd local \& pty = yes .Ve Pour que \fBstunnel\fR lance le processus imapd en mode \fIinetd\fR, le fichier \&\fIstunnel.conf\fR sera ainsi (il ne doit y avoir aucune section \fI[service]\fR): .PP .Vb 2 \& exec = /usr/sbin/imapd \& execargs = imapd .Ve .SH "FICHIERS" .IX Header "FICHIERS" .IP "\fIstunnel.conf\fR" 4 .IX Item "stunnel.conf" Fichier de configuration de \fBstunnel\fR. .IP "\fIstunnel.pem\fR" 4 .IX Item "stunnel.pem" Certificat et clef privée de \fBstunnel\fR. .SH "BUGS" .IX Header "BUGS" L'option \fIexecargs\fR ne supporte pas les guillemets. .SH "RESTRICTIONS" .IX Header "RESTRICTIONS" \&\fBstunnel\fR ne peut être utilisé pour le daemon \s-1FTP\s0 en raison de la nature de ce protocole qui ouvre de multiples ports pour les transferts de données. Il existe cependant des versions de \s-1FTP\s0 et de telnet qui permettent l'utilisation de \s-1SSL\s0. .SH "NOTES" .IX Header "NOTES" .Sh "\s-1MODE\s0 \s-1INETD\s0" .IX Subsection "MODE INETD" L'utilisation la plus courante de \fBstunnel\fR est l'écoute sur un port réseau pour établir des communications, soit sur un nouveau port avec l'option connect, soit avec un programme avec l'option \fIexec\fR. Dans certains cas, il est souhaitable qu'un autre programme accepte les connexions entrantes puis passe la main à \fBstunnel\fR (par exemple avec \fIinetd\fR, \fIxinetd\fR, ou \fItcpserver\fR). .PP Imaginons la ligne suivante dans \fIinetd.conf\fR : .PP .Vb 1 \& imaps stream tcp nowait root /usr/sbin/stunnel stunnel /etc/stunnel/imaps.conf .Ve Dans ce cas, le programme de style \fIinetd\fR est en charge de la connexion du socket réseau (\fIimaps\fR ci\-dessus) et du passage à \fBstunnel\fR une fois la connexion reçue. Ainsi, \fBstunnel\fR ne doit pas avoir d'option \fIaccept\fR/ Toutes les \fIoptions de niveau service\fR doivent être dans la section des options globales et il ne doit pas y avoir de section \&\fI[service]\fR. Se reporter à la section \fI\s-1EXEMPLES\s0\fR. .Sh "\s-1CERTIFICATS\s0" .IX Subsection "CERTIFICATS" Chasue daemon SSL\-isé doit présenter un certificat X.509 valide à son interlocuteur. Il nécessite aussi une clef privée pour déchiffrer les données entrantes. La méthode la plus simple d'obtention d'un certificat et d'une clef est de les engendrer à l'aide du paquetage lible \fIOpenSSL\fR. Plus d'informations sur la génération de certificats est disponible sur les pages indiquées plus bas. .PP Deux points importants lors de la génération de paires certificat-clef pour \fBstunnel\fR : la clef privée ne peut être chiffrée car le serveur n'a aucun moyen d'accéder au mot de passe de l'utilisateur ; l'option \&\fI\-nodes\fR de la commande \fBreq\fR du kit \fIOpenSSL\fR permet de produire une clef non chiffrée. .PP L'ordre du contenu du fichier \fI.pem\fR est important aussi : il doit contenir la clef privée non chiffrée en premier, puis un certificat signé (pas de requête de certificat). Il doit y avoir aussi des lignes vides après le certificat et la clef privée. L'information en texte simple ajoutée sur le certificat engendré doit être supprimée. Ainsi, le fichier doit se présenter comme suit : .PP .Vb 8 \& -----BEGIN RSA PRIVATE KEY----- \& [clef encodée] \& -----END RSA PRIVATE KEY----- \& [ligne vide] \& -----BEGIN CERTIFICATE----- \& [certificat encodé] \& -----END CERTIFICATE----- \& [ligne vide] .Ve .Sh "ALÉATOIRES" .IX Subsection "ALÉATOIRES" \&\fBstunnel\fR doit alimenter le générateur d'aléatoires (\s-1PRNG\s0 \- pseudo random number generator) pour fournir à \s-1SSL\s0 un bon niveau d'aléatoires. Les sources suivantes sont chargées dans l'ordre jusqu'à ce qu'une quantité suffisante d'informations aléatoires ait été rassemblée : .IP "\(bu" 4 le fichier spécifié par \fIRNDfile\fR ; .IP "\(bu" 4 le fichier spécifié par la variable d'environnement éventuelle \s-1RANDFILE\s0 ; .IP "\(bu" 4 le fichier \f(CW$HOME\fR/.rnd si \s-1RANDFILE\s0 n'est pas positionné ; .IP "\(bu" 4 le fichier spécifié avec '\-\-with\-random' lors de la compilation ; .IP "\(bu" 4 le contenu de l'écran en environnement Windows ; .IP "\(bu" 4 le socket spécifié par \fI\s-1EGD\s0\fR ; .IP "\(bu" 4 le socket spécifié avec '\-\-with\-egd\-sock' lors de la compilation ; .IP "\(bu" 4 le périphérique /dev/urandom. .PP Si les versions récentes (>=OpenSSL 0.9.5a) de \s-1SSL\s0 cessent le chargement automatiquement lorsqu'une entropie suffisante a été rassemblée, ce n'est pas le cas des versions précédentes qui ne disposent pas d'une fonction permettant de déterminer cela. .PP Sur les machines Windows sans interaction utilisateur (mouvements de souris, création de fenêtres, etc.), le contenu de l'écran n'est pas suffisamment variable et il faut fournir un fichier d'aléatoires à l'aide de \fIRNDfile\fR. .PP Le fichier spécifié par \fIRNDfile\fR doit contenir des données aléatoires \*(-- donc des données différentes pour chaque lancement de \fBstunnel\fR. Cela est réalisé automatiquement sauf si \fIRNDoverwrite\fR est utilisé. Pour la mise à jour manuelle de ce fichier, la commande \fIopenssl rand\fR des versions récentes d'OpenSSL peut être utile. .PP Note importante \*(-- si /dev/urandom est disponible, OpenSSL a pour habitude de l'utiliser, quel que soit l'état d'aléatoire, donc il sera vraisemblablement utilisé même s'il est indiqué en dernière position de la liste ci\-dessus. C'est un comportement de OpenSSL, pas de \fBstunnel\fR. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" .IP "\fItcpd\fR\|(8)" 4 .IX Item "tcpd" système de contrôle d'accès pour les services internet. .IP "\fIinetd\fR\|(8)" 4 .IX Item "inetd" ``super\-serveur'' internet .IP "\fIhttp://stunnel.mirt.net/\fR" 4 .IX Item "http://stunnel.mirt.net/" Site de \fBstunnel\fR .IP "\fIhttp://www.stunnel.org/\fR" 4 .IX Item "http://www.stunnel.org/" Foire aux questions \fBstunnel\fR .IP "\fIhttp://www.openssl.org/\fR" 4 .IX Item "http://www.openssl.org/" Site web du projet OpenSSL. .SH "AUTEUR" .IX Header "AUTEUR" .IP "Michal Trojnara" 4 .IX Item "Michal Trojnara" <\fIMichal.Trojnara@mirt.net\fR> .IP "Adaptation française Bernard Choppy <\fIchoppy@imaginet.fr\fR>" 4 .IX Item "Adaptation française Bernard Choppy "