Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Certificats SSL

39 réponses
Avatar
Johan Dindaine
------=_Part_41594_9782277.1228315961510
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Bonjour,
J'ai plusieurs site sur le meme serveur et je voudrais en mettre quelques
disponibles en HTTPS.

J'ai donc cr=E9=E9 un certificat priv=E9 pr le serveur
openssl genrsa -out cleeprivee.key 1024

et cr=E9er deux cl=E9es pour mes sites
openssl req -new -x509 -days 365 -key cleeprivee.key -out site1.crt
openssl req -new -x509 -days 365 -key cleeprivee.key -out site2.crt

maintenant pour configurer mes site j'utilise la bonne cl=E9e certifi=E9e p=
our
chacune d'entre elles mais la meme cl=E9e priv=E9e pour les deux comme ceci

<VirtualHost *:443>
ServerAdmin j.dindaine@cosmics.com
ServerName site1

SSLEngine on
SSLCertificateFile /etc/apache2/cleeprivee.key
SSLCertificateKeyFile /etc/apache2/site1.crt
...
</VirtualHost>

<VirtualHost *:443>
ServerAdmin j.dindaine@cosmics.com
ServerName site2

SSLEngine on
SSLCertificateFile /etc/apache2/cleeprivee.key
SSLCertificateKeyFile /etc/apache2/site2.crt
...
</VirtualHost>

Au demarrage j'ai pourtant l'erreur suivante:
[Wed Dec 03 14:33:32 2008] [error] Init: Unable to read server certificate
from file /etc/apache2/cleeprivee.key
[Wed Dec 03 14:33:32 2008] [error] SSL Library Error: 218529960
error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[Wed Dec 03 14:33:32 2008] [error] SSL Library Error: 218595386
error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error

Ceci est du a quoi???

------=_Part_41594_9782277.1228315961510
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Bonjour,<br>J&#39;ai plusieurs site sur le meme serveur et je voudrais en m=
ettre quelques disponibles en HTTPS.<br><br>J&#39;ai donc cr=E9=E9 un certi=
ficat priv=E9 pr le serveur<br>openssl genrsa -out cleeprivee.key 1024<br><=
br>
et cr=E9er deux cl=E9es pour mes sites<br>openssl req -new -x509 -days 365 =
-key cleeprivee.key -out site1.crt<br>openssl req -new -x509 -days 365 -key=
cleeprivee.key -out site2.crt<br><br>maintenant pour configurer mes site j=
&#39;utilise la bonne cl=E9e certifi=E9e pour chacune d&#39;entre elles mai=
s la meme cl=E9e priv=E9e pour les deux comme ceci<br>
<br>&lt;VirtualHost *:443&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerAdmin <a href=3D"mailto:j.=
dindaine@cosmics.com">j.dindaine@cosmics.com</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerName site1<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSLEngine on<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSLCertificateFile /etc/apache2/=
cleeprivee.key<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSLCertificateKeyFile /etc/apach=
e2/site1.crt<br>
...<br>
&lt;/VirtualHost&gt;<br><br>&lt;VirtualHost *:443&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerAdmin <a href=3D"mailto:j.=
dindaine@cosmics.com">j.dindaine@cosmics.com</a><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerName site2<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSLEngine on<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSLCertificateFile /etc/apache2/=
cleeprivee.key<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSLCertificateKeyFile /etc/apach=
e2/site2.crt<br>
...<br>
&lt;/VirtualHost&gt;<br><br>Au demarrage j&#39;ai pourtant l&#39;erreur sui=
vante:<br>[Wed Dec 03 14:33:32 2008] [error] Init: Unable to read server ce=
rtificate from file /etc/apache2/cleeprivee.key<br>[Wed Dec 03 14:33:32 200=
8] [error] SSL Library Error: 218529960 error:0D0680A8:asn1 encoding routin=
es:ASN1_CHECK_TLEN:wrong tag<br>
[Wed Dec 03 14:33:32 2008] [error] SSL Library Error: 218595386 error:0D078=
03A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 error<br><br>Ceci e=
st du a quoi???<br>

------=_Part_41594_9782277.1228315961510--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

10 réponses

1 2 3 4
Avatar
Gaëtan PERRIER
Le Wed, 3 Dec 2008 22:01:50 +0100
Stephane Bortzmeyer a écrit:

Le Dictionnaire en ligne de
l'Académie Française, quoique difficilement utilisable (il faut
apparemment un logiciel spécifique, non libre, pour le lire),



un logiciel spécifique? Je ne savais pas que Firefox était spécifique et non
libre...

Gaëtan

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Stephane Bortzmeyer
On Wed, Dec 03, 2008 at 10:48:53PM +0100,
Gaëtan PERRIER wrote
a message of 20 lines which said:

un logiciel spécifique? Je ne savais pas que Firefox était spécifique et non
libre...



Justement, j'utilise Firefox et il me dit que "Additional plugins are
required to display all the media on this page" (et la page ne
contient pas grand'chose).

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Sylvain Sauvage
Stephane Bortzmeyer, jeudi 4 décembre 2008, 08:21:55 CET

On Wed, Dec 03, 2008 at 10:48:53PM +0100,
Gaëtan PERRIER wrote
a message of 20 lines which said:

> un logiciel spécifique? Je ne savais pas que Firefox était
> spécifique et non libre...

Justement, j'utilise Firefox et il me dit que "Additional
plugins are required to display all the media on this
page" (et la page ne contient pas grand'chose).



Si on parle bien de http://atilf.atilf.fr/academie9.htm
(depuis http://www.academie-francaise.fr/dictionnaire/ ), c’est
juste une applet Java, et celle-ci n’est pas obligatoire si on
passe par la version « sans menu ».

De fait, ça marche aussi avec Konqueror (64 bits, il lance sa
jvm (ne peut utiliser le greffon du jre : il n’y en a pas en
64 bits)).

Voilà. Et Java est maintenant libéré. On n’attend plus qu’un
jre libre avec greffon dans Debian/main.

Sinon, le truc génial, c’est qu’ils ont mis une appl et Java
pour faire un simple menu tout pourri dont on notera le très
joli fond cyan cru (je ne leur mets pas sur le dos le fait que
les sous-menus apparaissent en dehors de la fenêtre, ça me le
fait dans d’autres applets)…

--
Sylvain Sauvage

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Yves Rutschle
On Wed, Dec 03, 2008 at 10:00:53PM +0100, Stephane Bortzmeyer wrote:
> Et ça par contre, c'est pas possible, on ne peut pas utiliser https
> avec des virtual hosts, c'est pas possible.

Il existe pourtant au moins trois solutions :

1) la commande HTTP STARTTLS (RFC 2817)
http://signal.eu.org/blog/2007/09/07/http-et-tls-la-rfc-meconnue/



A priori un remède pire que le mal (lien trouvé dans le 3eme
article:
https://bugzilla.mozilla.org/show_bug.cgi?id'6813)

3) L'extension X.509 Server Name Indication
http://signal.eu.org/blog/2008/11/25/adieu-rfc-2817-bonjour-rfc-3546/



Aha, une nouvelle réponse, et qu'elle est belle. Je vais
regarder ça de plus près, et ça sera sans doute ma réponse
la prochaine fois que quelqu'un demande comment faire.

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Stephane Bortzmeyer
On Thu, Dec 04, 2008 at 08:22:36AM +0100,
Yves Rutschle wrote
a message of 30 lines which said:

Aha, une nouvelle réponse, et qu'elle est belle. Je vais
regarder ça de plus près, et ça sera sans doute ma réponse
la prochaine fois que quelqu'un demande comment faire.



Oui, ça marche, mais la solution 2) (certificats avec plusieurs noms)
reste quand même indispensable pour :

- les clients qui ne gèrent pas SNI (Server Name Indication) et se
retrouvent donc avec le certificat par défaut

- le cas où un serveur a plusieurs noms (directive ServerAlias).

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Stephane Bortzmeyer
On Wed, Dec 03, 2008 at 06:16:38PM +0100,
François TOURDE wrote
a message of 26 lines which said:

Si si, c'est faisable. Je sais plus où j'avais vu de la doc
là-dessus,



Ici :-)


Authentifier des serveurs Internet avec X.509 lorsqu'ils ont la même adresse IP

http://www.bortzmeyer.org/auth-x509-plusieurs-noms.html

Première rédaction de cet article le 4 Décembre 2008

----------------------------


On lit souvent qu'il n'est pas possible d'avoir plusieurs serveurs
Internet sur la même adresse IP lorsqu'ils sont authentifiés par un
certificat X.509. Il faudrait donc donner une adresse IP à chacun.
Cette affirmation a des origines réalistes mais est sans doute trop
stricte aujourd'hui.

Dans un protocole comme HTTPS, le nom du serveur est transmis une fois
la session TLS établie. Il est donc a priori trop tard à ce moment pour
choisir un autre certificat. D'où le mème « Un seul certificat par
adresse IP ». En fait, il est possible d'avoir une seule adresse IP et
néanmoins un certificat différent par "Virtual Host" Apache, même si
les méthodes existantes ont quelques limites.

Il existe trois méthodes pour HTTPS (toutes ne sont pas forcément
applicables aux autres protocoles) :
* La commande HTTP STARTTLS (RFC 2817) qui permet de transmettre le nom
du serveur avant la négociation TLS.
* L'extension X.509 "Subject Alternative Name" (RFC 2459) qui permet de
mettre plusieurs noms dans un certificat. Le client sera alors content
si un des noms correspond.
* L'extension X.509 "Server Name Indication" (SNI) (RFC 4366) qui
permet au client d'indiquer le nom du serveur dans la négociation TLS.

Chacune a ses forces et ses faiblesses et des domaines où elle est
meilleure que les autres.

La première, STARTTLS, normalisée dans le RFC 2817, est bien décrite
par Pierre Beyssac dans « HTTP et TLS, la RFC méconnue...
(http://signal.eu.org/blog/2007/09/07/http-et-tls-la-rfc-meconnue/) ».
Très répandue avec des protocoles comme IMAP ou SMTP, elle a un gros
inconvénient pour HTTP : il n'est pas possible d'indiquer dans l'URL
que TLS est obligatoire. Un attaquant sur le chemin, ou bien un serveur
mal configuré, et on retombe sur du HTTP non protégé.

Mise en &#339;uvre dans Apache depuis la version 2.2, elle n'est présent
dans aucun grand navigateur, pour les raisons expliquées par Mozilla
dans la bogue #276813
(https://bugzilla.mozilla.org/show_bug.cgi?id'6813).

Une deuxième méthode est le certificat contenant plusieurs noms. Elle
est possible grâce à l'extension X.509 "Subject Alternative Name",
normalisée dans le RFC 2459. Elle est décrite en détail dans mon
article « Plusieurs noms dans un certificat X.509
(http://www.bortzmeyer.org/plusieurs-noms-dans-certificat.html) » ou
bien dans celui de Franck Davy, « Apache : Hôtes virtuels et SSL
(mod_ssl)
(http://www.hsc.fr/ressources/breves/ssl_virtualhosts.html.fr) ». En
anglais, on peut lire « "Information about setting up the ApacheServer
to serve multiple HTTPS sites using one IP address
(http://wiki.cacert.org/wiki/CSRGenerator?action=show&redirect=VhostsApa
che)" ».

Elle fonctionne avec openssl (aussi bien pour générer le certificat que
pour le vérifier) mais il faut que la CA qui signe l'accepte et
j'ignore si les grosses CA ayant pignon sur rue le font ou pas. C'est
la méthode qui semble la plus déployée et donc celle qui apporte le
moins de surprises (CAcert a fait des tests détailles
d'interopérabilité
(http://wiki.cacert.org/wiki/VhostTaskForce#InteroperabilityTest) sur
les variants de cette méthode).

La troisième méthode repose sur une extension du protocole TLS et non
pas du format X.509. Cette extension, "Server Name Indication" (SNI),
est l'une de celles décrites dans le RFC 4366. Elle envoie le nom du
serveur lors de la négociation TLS. Elle est bien expliquée dans
l'article de Pierre Beyssac « Adieu RFC 2817, bonjour RFC 3546
(http://signal.eu.org/blog/2008/11/25/adieu-rfc-2817-bonjour-rfc-3546/) 
».

SNI ("Server Name Indication") ne marche pas avec le module Apache
mod_ssl, il faut utiliser mod_gnutls. Il y a un certificat par "Virtual
Host" et elle ne gère donc pas le cas où un "Virtual Host" a plusieurs
noms, avec la directive ServerAlias.

Les serveurs HTTP gérés par le département de recherche & développement
de l'AFNIC sont un exemple de déploiement de deux de ces techniques. Le
serveur, un Apache, utilise mod_gnutls, avec un certificat par "Virtual
Host", et peut donc tirer profit de la troisième méthode, SNI. Au cas
où le client ne gère pas l'extension SNI, le certificat par défaut
(celui qui est utilisé dans la directive <VirtualHost _default_:443>)
est un certificat avec plusieurs noms.

Merci à Pierre Beyssac, Mario Victor-Oscar et Yves Rutschle pour des
informations stimulantes et utiles.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Johan Dindaine
------=_Part_13860_4145754.1228456822494
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Merci Stéphane,

je vais vérifier si mon CA accepte l'option Subject Alternative Name lors la
certification.

Le 4 décembre 2008 22:11, Stephane Bortzmeyer a écrit
:

On Wed, Dec 03, 2008 at 06:16:38PM +0100,
François TOURDE wrote
a message of 26 lines which said:

> Si si, c'est faisable. Je sais plus où j'avais vu de la doc
> là-dessus,

Ici :-)


Authentifier des serveurs Internet avec X.509 lorsqu'ils ont la même
adresse IP

http://www.bortzmeyer.org/auth-x509-plusieurs-noms.html

Première rédaction de cet article le 4 Décembre 2008

----------------------------


On lit souvent qu'il n'est pas possible d'avoir plusieurs serveurs
Internet sur la même adresse IP lorsqu'ils sont authentifiés par un
certificat X.509. Il faudrait donc donner une adresse IP à chacun.
Cette affirmation a des origines réalistes mais est sans doute trop
stricte aujourd'hui.

Dans un protocole comme HTTPS, le nom du serveur est transmis une fois
la session TLS établie. Il est donc a priori trop tard à ce moment po ur
choisir un autre certificat. D'où le mème « Un seul certificat par
adresse IP ». En fait, il est possible d'avoir une seule adresse IP et
néanmoins un certificat différent par "Virtual Host" Apache, même s i
les méthodes existantes ont quelques limites.

Il existe trois méthodes pour HTTPS (toutes ne sont pas forcément
applicables aux autres protocoles) :
* La commande HTTP STARTTLS (RFC 2817) qui permet de transmettre le nom
du serveur avant la négociation TLS.
* L'extension X.509 "Subject Alternative Name" (RFC 2459) qui permet de
mettre plusieurs noms dans un certificat. Le client sera alors content
si un des noms correspond.
* L'extension X.509 "Server Name Indication" (SNI) (RFC 4366) qui
permet au client d'indiquer le nom du serveur dans la négociation TLS.

Chacune a ses forces et ses faiblesses et des domaines où elle est
meilleure que les autres.

La première, STARTTLS, normalisée dans le RFC 2817, est bien décrit e
par Pierre Beyssac dans « HTTP et TLS, la RFC méconnue...
(http://signal.eu.org/blog/2007/09/07/http-et-tls-la-rfc-meconnue/) ».
Très répandue avec des protocoles comme IMAP ou SMTP, elle a un gros
inconvénient pour HTTP : il n'est pas possible d'indiquer dans l'URL
que TLS est obligatoire. Un attaquant sur le chemin, ou bien un serveur
mal configuré, et on retombe sur du HTTP non protégé.

Mise en &#339;uvre dans Apache depuis la version 2.2, elle n'est présen t
dans aucun grand navigateur, pour les raisons expliquées par Mozilla
dans la bogue #276813
(https://bugzilla.mozilla.org/show_bug.cgi?id'6813).

Une deuxième méthode est le certificat contenant plusieurs noms. Elle
est possible grâce à l'extension X.509 "Subject Alternative Name",
normalisée dans le RFC 2459. Elle est décrite en détail dans mon
article « Plusieurs noms dans un certificat X.509
(http://www.bortzmeyer.org/plusieurs-noms-dans-certificat.html) » ou
bien dans celui de Franck Davy, « Apache : Hôtes virtuels et SSL
(mod_ssl)
(http://www.hsc.fr/ressources/breves/ssl_virtualhosts.html.fr) ». En
anglais, on peut lire « "Information about setting up the ApacheServer
to serve multiple HTTPS sites using one IP address
(http://wiki.cacert.org/wiki/CSRGenerator?action=show&redirect=Vhosts Apa
che)" ».

Elle fonctionne avec openssl (aussi bien pour générer le certificat q ue
pour le vérifier) mais il faut que la CA qui signe l'accepte et
j'ignore si les grosses CA ayant pignon sur rue le font ou pas. C'est
la méthode qui semble la plus déployée et donc celle qui apporte le
moins de surprises (CAcert a fait des tests détailles
d'interopérabilité
(http://wiki.cacert.org/wiki/VhostTaskForce#InteroperabilityTest) sur
les variants de cette méthode).

La troisième méthode repose sur une extension du protocole TLS et non
pas du format X.509. Cette extension, "Server Name Indication" (SNI),
est l'une de celles décrites dans le RFC 4366. Elle envoie le nom du
serveur lors de la négociation TLS. Elle est bien expliquée dans
l'article de Pierre Beyssac « Adieu RFC 2817, bonjour RFC 3546
(http://signal.eu.org/blog/2008/11/25/adieu-rfc-2817-bonjour-rfc-3546/)
».

SNI ("Server Name Indication") ne marche pas avec le module Apache
mod_ssl, il faut utiliser mod_gnutls. Il y a un certificat par "Virtual
Host" et elle ne gère donc pas le cas où un "Virtual Host" a plusieur s
noms, avec la directive ServerAlias.

Les serveurs HTTP gérés par le département de recherche & dévelop pement
de l'AFNIC sont un exemple de déploiement de deux de ces techniques. Le
serveur, un Apache, utilise mod_gnutls, avec un certificat par "Virtual
Host", et peut donc tirer profit de la troisième méthode, SNI. Au cas
où le client ne gère pas l'extension SNI, le certificat par défaut
(celui qui est utilisé dans la directive <VirtualHost _default_:443>)
est un certificat avec plusieurs noms.

Merci à Pierre Beyssac, Mario Victor-Oscar et Yves Rutschle pour des
informations stimulantes et utiles.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact






------=_Part_13860_4145754.1228456822494
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Merci Stéphane,<br><br>je vais vérifier si mon CA accepte l&#39;option Subject Alternative Name lors la certification.<br><br><div class="gmail_ quote">Le 4 décembre 2008 22:11, Stephane Bortzmeyer <span dir="ltr">&l t;<a href="mailto:"></a>&gt;</spa n> a écrit :<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2 E3d">On Wed, Dec 03, 2008 at 06:16:38PM +0100,<br>
&nbsp;François TOURDE &lt;<a href="mailto:"> </a>&gt; wrote<br>
&nbsp;a message of 26 lines which said:<br>
<br>
</div><div class="Ih2E3d">&gt; Si si, c&#39;est faisable. Je sais plus o ù j&#39;avais vu de la doc<br>
&gt; là-dessus,<br>
<br>
</div>Ici :-)<br>
<br>
<br>
Authentifier des serveurs Internet avec X.509 lorsqu&#39;ils ont la même adresse IP<br>
<br>
<a href="http://www.bortzmeyer.org/auth-x509-plusieurs-noms.html" target ="_blank">http://www.bortzmeyer.org/auth-x509-plusieurs-noms.html</a><br>
<br>
Première rédaction de cet article le 4 Décembre 2008<br>
<br>
----------------------------<br>
<br>
<br>
On lit souvent qu&#39;il n&#39;est pas possible d&#39;avoir plusieurs serve urs<br>
Internet sur la même adresse IP lorsqu&#39;ils sont authentifiés par un <br>
certificat X.509. Il faudrait donc donner une adresse IP à chacun.<br>
Cette affirmation a des origines réalistes mais est sans doute trop<br>
stricte aujourd&#39;hui.<br>
<br>
Dans un protocole comme HTTPS, le nom du serveur est transmis une fois<br>
la session TLS établie. Il est donc a priori trop tard à ce moment pour <br>
choisir un autre certificat. D&#39;où le mème «&nbsp;Un seul certific at par<br>
adresse IP&nbsp;». En fait, il est possible d&#39;avoir une seule adresse IP et<br>
néanmoins un certificat différent par &quot;Virtual Host&quot; Apache, même si<br>
les méthodes existantes ont quelques limites.<br>
<br>
Il existe trois méthodes pour HTTPS (toutes ne sont pas forcément<br>
applicables aux autres protocoles)&nbsp;:<br>
* La commande HTTP STARTTLS (RFC 2817) qui permet de transmettre le nom<br>
du serveur avant la négociation TLS.<br>
* L&#39;extension X.509 &quot;Subject Alternative Name&quot; (RFC 2459) qui permet de<br>
mettre plusieurs noms dans un certificat. Le client sera alors content<br>
si un des noms correspond.<br>
* L&#39;extension X.509 &quot;Server Name Indication&quot; (SNI) (RFC 4366) qui<br>
permet au client d&#39;indiquer le nom du serveur dans la négociation TLS .<br>
<br>
Chacune a ses forces et ses faiblesses et des domaines où elle est<br>
meilleure que les autres.<br>
<br>
La première, STARTTLS, normalisée dans le RFC 2817, est bien décrite< br>
par Pierre Beyssac dans «&nbsp;HTTP et TLS, la RFC méconnue...<br>
(<a href="http://signal.eu.org/blog/2007/09/07/http-et-tls-la-rfc-meconnu e/" target="_blank">http://signal.eu.org/blog/2007/09/07/http-et-tls-la-r fc-meconnue/</a>)&nbsp;».<br>
Très répandue avec des protocoles comme IMAP ou SMTP, elle a un gros<br >
inconvénient pour HTTP&nbsp;: il n&#39;est pas possible d&#39;indiquer da ns l&#39;URL<br>
que TLS est obligatoire. Un attaquant sur le chemin, ou bien un serveur<br>
mal configuré, et on retombe sur du HTTP non protégé.<br>
<br>
Mise en &amp;#339;uvre dans Apache depuis la version 2.2, elle n&#39;est pr ésent<br>
dans aucun grand navigateur, pour les raisons expliquées par Mozilla<br>
dans la bogue #276813<br>
(<a href="https://bugzilla.mozilla.org/show_bug.cgi?id'6813" target ="_blank">https://bugzilla.mozilla.org/show_bug.cgi?id'6813</a>).<br>
<br>
Une deuxième méthode est le certificat contenant plusieurs noms. Elle<b r>
est possible grâce à l&#39;extension X.509 &quot;Subject Alternative Na me&quot;,<br>
normalisée dans le RFC 2459. Elle est décrite en détail dans mon<br>
article «&nbsp;Plusieurs noms dans un certificat X.509<br>
(<a href="http://www.bortzmeyer.org/plusieurs-noms-dans-certificat.html" target="_blank">http://www.bortzmeyer.org/plusieurs-noms-dans-certificat. html</a>)&nbsp;» ou<br>
bien dans celui de Franck Davy, «&nbsp;Apache : Hôtes virtuels et SSL<b r>
(mod_ssl)<br>
(<a href="http://www.hsc.fr/ressources/breves/ssl_virtualhosts.html.fr" t arget="_blank">http://www.hsc.fr/ressources/breves/ssl_virtualhosts.html. fr</a>)&nbsp;». En<br>
anglais, on peut lire «&nbsp;&quot;Information about setting up the Apach eServer<br>
to serve multiple HTTPS sites using one IP address<br>
(<a href="http://wiki.cacert.org/wiki/CSRGenerator?action=show&amp;redi rect=VhostsApa" target="_blank">http://wiki.cacert.org/wiki/CSRGenerato r?action=show&amp;redirect=VhostsApa</a><br>
che)&quot;&nbsp;».<br>
<br>
Elle fonctionne avec openssl (aussi bien pour générer le certificat que <br>
pour le vérifier) mais il faut que la CA qui signe l&#39;accepte et<br>
j&#39;ignore si les grosses CA ayant pignon sur rue le font ou pas. C&#39;e st<br>
la méthode qui semble la plus déployée et donc celle qui apporte le<b r>
moins de surprises (CAcert a fait des tests détailles<br>
d&#39;interopérabilité<br>
(<a href="http://wiki.cacert.org/wiki/VhostTaskForce#InteroperabilityTest " target="_blank">http://wiki.cacert.org/wiki/VhostTaskForce#Interoperabi lityTest</a>) sur<br>
les variants de cette méthode).<br>
<br>
La troisième méthode repose sur une extension du protocole TLS et non<b r>
pas du format X.509. Cette extension, &quot;Server Name Indication&quot; (S NI),<br>
est l&#39;une de celles décrites dans le RFC 4366. Elle envoie le nom du< br>
serveur lors de la négociation TLS. Elle est bien expliquée dans<br>
l&#39;article de Pierre Beyssac «&nbsp;Adieu RFC 2817, bonjour RFC 3546<b r>
(<a href="http://signal.eu.org/blog/2008/11/25/adieu-rfc-2817-bonjour-rfc -3546/" target="_blank">http://signal.eu.org/blog/2008/11/25/adieu-rfc-28 17-bonjour-rfc-3546/</a>)&nbsp;<br>
».<br>
<br>
SNI (&quot;Server Name Indication&quot;) ne marche pas avec le module Apach e<br>
mod_ssl, il faut utiliser mod_gnutls. Il y a un certificat par &quot;Virtua l<br>
Host&quot; et elle ne gère donc pas le cas où un &quot;Virtual Host&quo t; a plusieurs<br>
noms, avec la directive ServerAlias.<br>
<br>
Les serveurs HTTP gérés par le département de recherche &amp; dével oppement<br>
de l&#39;AFNIC sont un exemple de déploiement de deux de ces techniques. Le<br>
serveur, un Apache, utilise mod_gnutls, avec un certificat par &quot;Virtua l<br>
Host&quot;, et peut donc tirer profit de la troisième méthode, SNI. Au cas<br>
où le client ne gère pas l&#39;extension SNI, le certificat par défau t<br>
(celui qui est utilisé dans la directive &lt;VirtualHost _default_:443&gt ;)<br>
est un certificat avec plusieurs noms.<br>
<br>
Merci à Pierre Beyssac, Mario Victor-Oscar et Yves Rutschle pour des<br>
informations stimulantes et utiles.<br>
<div><div></div><div class="Wj3C7c"><br>
--<br>
Lisez la FAQ de la liste avant de poser une question :<br>
<a href="http://wiki.debian.org/DebFrFrenchLists" target="_blank">http: //wiki.debian.org/DebFrFrenchLists</a><br>
Vous pouvez aussi ajouter le mot ``spam&#39;&#39; dans vos champs &quot;Fro m&quot; et<br>
&quot;Reply-To:&quot;<br>
<br>
To UNSUBSCRIBE, email to <a href="mailto: .debian.org"></a><br>
with a subject of &quot;unsubscribe&quot;. Trouble? Contact <a href="mail to:"></a><br>
<br>
</div></div></blockquote></div><br>

------=_Part_13860_4145754.1228456822494--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Yves Rutschle
On Thu, Dec 04, 2008 at 10:11:52PM +0100, Stephane Bortzmeyer wrote:
Authentifier des serveurs Internet avec X.509 lorsqu'ils ont la même adresse IP

http://www.bortzmeyer.org/auth-x509-plusieurs-noms.html



Wéééé une belle synthèse :-) Merci!

Un commentaire à chaud:

[...] "Subject Alternative Name" [...]

Elle fonctionne avec openssl (aussi bien pour générer le certificat que
pour le vérifier) mais il faut que la CA qui signe l'accepte et
j'ignore si les grosses CA ayant pignon sur rue le font ou pas.



Un autre gros problème de cette méthode est qu'elle n'est
pas vraiment applicable au cas (courant?) de virtual hosting
de sites indépendants sur serveur mutualisé: par exemple
plusieurs boutiques, dont certains sont peut-être des
escrocs, hébergés par le même hébergeur.

Cette méthode ne permet finalement que d'authentifier
l'hébergeur.


SNI ("Server Name Indication") ne marche pas avec le module Apache
mod_ssl, il faut utiliser mod_gnutls. Il y a un certificat par "Virtual
Host" et elle ne gère donc pas le cas où un "Virtual Host" a plusieurs
noms, avec la directive ServerAlias.



Question pertinante pour revenir dans le sujet: mod_gnutls
n'est pas actuellement packagé par Debian, ou c'est moi qui
suis handicapé de l'apt-cache search?

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Yves Rutschle
On Fri, Dec 05, 2008 at 07:39:15AM +0100, Yves Rutschle wrote:
Un autre gros problème de cette méthode est qu'elle n'est
pas vraiment applicable au cas (courant?) de virtual hosting
de sites indépendants sur serveur mutualisé: par exemple
plusieurs boutiques, dont certains sont peut-être des
escrocs, hébergés par le même hébergeur.

Cette méthode ne permet finalement que d'authentifier
l'hébergeur.



Et il faut que l'hébergeur change de certificat à chaque
fois qu'il ajoute ou retire un site.

Y.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
David Prévot
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Yves Rutschle a écrit :
[...]
Question pertinante pour revenir dans le sujet: mod_gnutls
n'est pas actuellement packagé par Debian, ou c'est moi qui
suis handicapé de l'apt-cache search?



Ou que tu tournes en Etch (le paquet existe depuis moins d'un an) :

$ apt-cache search mod_gnutls
libapache2-mod-gnutls - Apache2 module for SSL and TLS encryption using
GnuTLS

Amicalement

David

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAkk5OWwACgkQ18/WetbTC/raVgCdEgjqH55EXpDRLFq0oKEsxrKj
yzQAoIZgHX6psUVaFWRoo4/yn/uC2/Q2
=j1hi
-----END PGP SIGNATURE-----

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
1 2 3 4