Привет Форумчане! Нужно сделать обмен именно через stream_socket_client (про file_get_contents, fopen знаю, но нужен именно низкоуровневый способ прямого обмена) Если заменить ssl на tcp а порт на 80й то все отрабатывает как надо, подозреваю что дело в local_cert, а вернее в его отсутствии, в теме SSL - для меня дремучий лес, .pem .cert .key и иже с ними... Подскажите чего не хватает, как это сгенерировать, и что указать в контексте ssl опций Исходник тут https://gist.github.com/undercloud/d246473370aec7f19c2e42414ae00693 P.S. В конце концов сгенерировал key.pem и cert.pem файлы через консоль с яндексом соединился и успешно обменялся данными - получил стартовую страницу $ openssl s_client -connect yandex.ru:443 -cert cert.pem -key key.pem -state установка опций в контекст ssl (local_cert,local_pk) никаких результатов не дала, подскажите куда копать?
Оказалось что проблема в stream_get_contents,и данные нужно читать через fgets,fgetc,stream_socket_recvfrom, но теперь ответ приходит в виде зашифрованных данных типа: >bÂev��h����$��q*�zhP# , как это побороть и получить нормальную строку?
вобщем решение такое - использовать стандартные файловые функции типа fwrite и fgetc или fgets, fread как ни странно тоже не работает