cherche script faisant une connexion http avec upgrade tls (pour pomper)
Le
Thomas Harding

Bonjour,
voilà mon problème:
je me heurte à un serveur http un peu particulier, qui refuse de
fonctionner directement en TLS, mais qui accepte les connexions de type
upgrade (cad qu'on commence en clair avec un :
OPTIONS * HTTP/1.1
Connection: Upgrade
Upgrade: TLS/1.0
le serveur répond:
HTTP/1.1 101 Switching protocols
etc.)
et là, on commence à causer en tls :)
Q: comment commencer en clair et continuer en tls ?
J'ai l'intuition qu'il faut passer par 2 fsockopen et un
stream_copy_to_stream, mais je n'arrive pas à me figurer le processus
exact.
Si quelqu'un a déjà fait ce genre de truc, et est prêt à me laisser
pomper, ou a des indications à me donner, je suis preneur !
--
Thomas Harding
voilà mon problème:
je me heurte à un serveur http un peu particulier, qui refuse de
fonctionner directement en TLS, mais qui accepte les connexions de type
upgrade (cad qu'on commence en clair avec un :
OPTIONS * HTTP/1.1
Connection: Upgrade
Upgrade: TLS/1.0
le serveur répond:
HTTP/1.1 101 Switching protocols
etc.)
et là, on commence à causer en tls :)
Q: comment commencer en clair et continuer en tls ?
J'ai l'intuition qu'il faut passer par 2 fsockopen et un
stream_copy_to_stream, mais je n'arrive pas à me figurer le processus
exact.
Si quelqu'un a déjà fait ce genre de truc, et est prêt à me laisser
pomper, ou a des indications à me donner, je suis preneur !
--
Thomas Harding
Ca ne va peut être pas répondre à ta question mais la librairie Curl est
capable de faire ce genre de négociations.
Si ça peut donner une indication, en C, on ouvre une connexion classique
(socket, connect, write, read, ...) et quand on reçoit la demande de
négotiation, on appelle SSL_Connect, et on discute ensuite en utilisant
SSL_Write et SSL_Read. S'il y a une renégotiation dans l'autre sens, on passe
par SSL_Close et on réutilise les fonctions standard.
En php: voir
http://fr3.php.net/manual/en/function.stream-socket-enable-crypto.php peut être ...
Curiosité malsaine: c'est quoi ton serveur http ?
a+
--
Xavier Garreau http://www.xgarreau.org/
Merci. J'ai jeté un oeuil là-dessus, et j'ai l'impression que ça va être
coton :)
--
Thomas Harding
Tiens, je ne l'ai pas trouvée, celle-là.
(PHP 5 >= 5.1.0RC1): Ouais, ben je vais attendre 2 ou 3 ans
pour l'implémenter :)
Un serveur Internet Printing Protocol appelé "CUPS". Mais bon, j'ai eu
la solution par ailleur pour avoir la connexion directement en SSL
(suffit de mettre "SslPort tant" dans le fichier de conf), et ça roule
du feu de dieu :)
Tiens, hop, pub pour ma classe d'impression IPP (LGPL):
Je vais mettre ça en signature, d'ailleurs, bien que je sois de plus en
plus en lecture seule...
--
Thomas Harding