cherche script faisant une connexion http avec upgrade tls (pour pomper)
4 réponses
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 !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ftc
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 :)
Ca ne va peut être pas répondre à ta question mais la librairie Curl est capable de faire ce genre de négociations.
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 :)
Ca ne va peut être pas répondre à ta question mais la librairie Curl est
capable de faire ce genre de négociations.
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 :)
Ca ne va peut être pas répondre à ta question mais la librairie Curl est capable de faire ce genre de négociations.
Xavier Garreau
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 ?
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/
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 ?
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 ...
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 ?
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/
Thomas Harding
Le 20-01-2006, ftc a écrit :
Ca ne va peut être pas répondre à ta question mais la librairie Curl est capable de faire ce genre de négociations.
Merci. J'ai jeté un oeuil là-dessus, et j'ai l'impression que ça va être coton :)
-- Thomas Harding
Le 20-01-2006, ftc <ftc@chez.com> a écrit :
Ca ne va peut être pas répondre à ta question mais la librairie Curl est
capable de faire ce genre de négociations.
Merci. J'ai jeté un oeuil là-dessus, et j'ai l'impression que ça va être
coton :)
Ca ne va peut être pas répondre à ta question mais la librairie Curl est capable de faire ce genre de négociations.
Merci. J'ai jeté un oeuil là-dessus, et j'ai l'impression que ça va être coton :)
-- Thomas Harding
Thomas Harding
Le 20-01-2006, Xavier Garreau a écrit:
En php: voir http://fr3.php.net/manual/en/function.stream-socket-enable-crypto.php peut être ...
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 :)
Curiosité malsaine: c'est quoi ton serveur http ?
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): <URL:http://www.nongnu.org/phpprintipp/>
Je vais mettre ça en signature, d'ailleurs, bien que je sois de plus en plus en lecture seule...
-- Thomas Harding
Le 20-01-2006, Xavier Garreau <xavier@xgarreau.org> a écrit:
En php: voir
http://fr3.php.net/manual/en/function.stream-socket-enable-crypto.php peut être ...
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 :)
Curiosité malsaine: c'est quoi ton serveur http ?
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):
<URL:http://www.nongnu.org/phpprintipp/>
Je vais mettre ça en signature, d'ailleurs, bien que je sois de plus en
plus en lecture seule...
En php: voir http://fr3.php.net/manual/en/function.stream-socket-enable-crypto.php peut être ...
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 :)
Curiosité malsaine: c'est quoi ton serveur http ?
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): <URL:http://www.nongnu.org/phpprintipp/>
Je vais mettre ça en signature, d'ailleurs, bien que je sois de plus en plus en lecture seule...