socket + ssl

Fuz

Новичок
socket + ssl

задача такая:
передавать на сокет данные, НО не просто так - от меня требуют чтобы при передаче данных я передавал свой сертификат, а им сообщил открытый ключ.
в fsockopen возможности передать сертификат не нашел..cURL? но тогда какие опции надо задать, чтобы передавать им свой сертификат?
 

Alexandre

PHPПенсионер
передеча Сертификата происходит автоматически при SLL-соединении.

как сделать все есть в документации по curl www.php.net/curl
 

DiMA

php.spb.ru
Команда форума
может возникнуть проблема, что сертификат будет не в том формате (файл иного расширения), что понимает курл

с этим бороться: просишь сконвертить кого-нибудь или сам в инете тему изучаешь
 

Fuz

Новичок
т.е. у меня на хосте установлен сертификат и хост доступен по адресу https://xxx.ru. мне достаточно просто делать обычный запрос и сертификат будет передаваться?
тогда другой вопрос - на сокет нужно передавать данные особого, формата, не GET и не POST, просто строку, оканчивающуюся нулём..какие опции в setopt надо выставить?
 

DiMA

php.spb.ru
Команда форума
просто скачиваешь страницу курлом, как обычно, только параметры с сертификатом и путем к файлам указываешь

$url="https://zzz/zzz.asp";
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, "пароль");
curl_setopt($ch, CURLOPT_SSLCERT,"файл");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
$buf=curl_exec($ch);
 

Fuz

Новичок
DiMA
нее..зачем мне моя же страница? хост https://zzz.ru - мой. там мой сертификат который мне надо передать на сокет по айпи XXX.X.X.X
 

DiMA

php.spb.ru
Команда форума
ну, тогда почитай для начала общие сведения про организацию SSL у Апача, кто кому выдает сертификаты и т.д.
 

Fuz

Новичок
почитал. установил на сервер сертификат и к нему можно подключаться по https. Если бы я получил ответ только "передеча Сертификата происходит автоматически при SLL-соединении" - вопросов бы невозникло, но твой пример меня в тупик загнал. зачем мне запрашивать свою же страницу курлом?
 

Gorynych

Посетитель PHP-Клуба
[судя по последнему ответу автора темы, к делу не относится]
 

Gorynych

Посетитель PHP-Клуба
Fuz ну у меня была версия, что возможно Вы пытаетесь не установить соединение с сервером по SSL (а значит получить удостоверяющий сертификат от сервера), а авторизоваться на сервере с помощью сертификата X.509 (т.е. передать на сервер свой личный сертификат для авторизации).
 

Alexandre

PHPПенсионер
а вот в этом случае уже надо юзать mod_ssl и анализировать переменные среды установленные сервером.
 

Fuz

Новичок
Alexandre
а зачем тогда им мой открытый ключ? т.е. они получат соединение на сокет вместе с коннектом автоматически получат сертификат? а дальше что?
 
Сверху