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

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

glukerrr

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

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

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

Спасибо.
 
Очевидно нужно ломануться куда нибудь по ssl через прокси, если не пустит, значит не поддерживает.
 
Очевидно нужно ломануться куда нибудь по 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

Надеюсь, поможет.
 
Да все дело в том, что не получается.
Попробывал так
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
 
Я что-то погорячился и ввел тебя в заблуждение, сорри
Конечно 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
 
Тогда возникает вопрос.. Мы должны каждый раз проверять прокси на поддержку ssl протокола по тому порту на котором работает этот прокси, так?

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

-~{}~ 20.07.04 20:26:

Или это уже вопрос не в этот форум?
 
https через proxy проходит напрямую. Вообще без изменений. К прокси идет коннект , потом запрос CONNECT и дальше браузер и сервер общаются через такой туннель. Все. Но такой способ соединения используется не только для https, но например и для icq irc
А вообще ман по rfc по http по разделу про прокси
 
правильно ли я сделал вывод из твоего ответа ? :

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

-~{}~ 30.07.04 16:36:

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