Работа с SSL или этим никтоне занимается на этом форуме ?

  • Автор темы glukerrr
  • Дата начала

glukerrr

Guest
Работа с SSL или этим никтоне занимается на этом форуме ?

Добрый день!
Я пишу прокси чекер и мне нужно проверить поддерживает ли удаленный прокси-сервер SSL (HTTPS) или нет.

Подскажите пожалуйста как это сделать.

Спасибо.
 

saa

Guest
Очевидно нужно ломануться куда нибудь по ssl через прокси, если не пустит, значит не поддерживает.
 

Cid

...двинутый новичок
Очевидно нужно ломануться куда нибудь по ssl через прокси, если не пустит, значит не поддерживает.
Ну в принципе да, если не принимать во внимание что SSL соединение может устанавливаться не только по 443 порту, или то, что на этом порту может висеть какой-то другой сервис.

А так - да, проверяешь результат вызова

PHP:
fsockopen("remote.proxy.server",443,...)
и если не "Connection refused" (и др.) то значит ты соединился с сервером по порту 443 (HTTPS).

Конечно, правильно было бы устанавливать полноценнное SSL-соединение с обменом сертификатами, но тут пока не могу ничем помочь, сорри =(

-~{}~ 09.07.04 21:47:

Кажется нашел - использование CURL:

Есть тред в этом форуме. В нем ссылка: http://curl.haxx.se/docs/sslcerts.html

Надеюсь, поможет.
 

glukerrr

Guest
Да все дело в том, что не получается.
Попробывал так
PHP:
function isSupprortsSSL($host) {
  return (fsockopen("ssl://$host", 443, $errstr, $errstr, 30)) ? TRUE:FALSE;
}
Но ничего не получается.. + получаю кучу варнингов.. Типа

Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed: No address associated with hostname in /home/www/proxy/checker/index.php on line 37

Warning: fsockopen(): unable to connect to :443 in /home/www/proxy/checker/index.php on line 37
200.42.173.218:4480 -- proxytype:anonymous


Передавал я 200.42.173.218
 

Cid

...двинутый новичок
Я что-то погорячился и ввел тебя в заблуждение, сорри
Конечно fsockopen() порта 443 - проверка поддержки SSL ВЕБ-сервером, а не прокси.

Лучше все же почитай про CURL.

-~{}~ 14.07.04 02:49:

P.S. А что выведет у тебя
PHP:
fsockopen("ssl://$host", $port, $errstr, $errstr, 30)
если передать $host=200.42.173.218 $port=4480
 

glukerrr

Guest
Тогда возникает вопрос.. Мы должны каждый раз проверять прокси на поддержку ssl протокола по тому порту на котором работает этот прокси, так?

Если учесть, что порт это некоторый id application'а, демона, сервиса - называйте как хотите, на машине, то данный сервис (прокси) должен понимать как язык обычных запросов, так и шахифрованных.. я так понимаю? Интересно, что тогда вернет в этом случает прокси, ели мы ему пошлем какую-нибудь зашифрованную лажу? Или прокси умеет разбирать заголовки и разделять потоки данных?

-~{}~ 20.07.04 20:26:

Или это уже вопрос не в этот форум?
 

Profic

just Profic (PHP5 BetaTeam)
https через proxy проходит напрямую. Вообще без изменений. К прокси идет коннект , потом запрос CONNECT и дальше браузер и сервер общаются через такой туннель. Все. Но такой способ соединения используется не только для https, но например и для icq irc
А вообще ман по rfc по http по разделу про прокси
 

glukerrr

Guest
правильно ли я сделал вывод из твоего ответа ? :

чтобы проверить поддержку SSL на прокси, работающем по адресу proxy_ip и на порту proxy_port, мне нужно послать что-то по https через proxy_ip:proxy_port ? так ?
Я просто раньше посылал на proxy_ip:443 =(
 

saa

Guest
Ты правильно понял. Это я тебе в первом ответе сказал.

-~{}~ 30.07.04 16:36:

Надо обращаться через проксю к заведомо поддерживающему ssl серваку (fex: MSN) и ловить ответ, если ответ правильный значит - ок. И еще не 'ssl://', а 'https://'.
 
Сверху