Работает , так же пробовал соединятся на разные сайты , тоже работает , но не работает с ssl://cloud-messaging.bitrix24.com:443 . Сервер доступен, но выдает ошибку
Если сайт доступен из интернета: https://cryptoreport.websecurity.symantec.com/checker/ Скорее всего у Вас не полная цепочка сертификатов (он все покажет), или у вас степлинг косячик (если настраивали). В любом случае он скажет.
В конфиге nginx прописал пути к cert.crt и ключу. Перезапустил nginx Сайт доступен по https , не спрашивает доверять или нет , открывает сразу! Сервисы проверок выдал оценку А , определил сертификат, в остальном еще нужно изучить. Но проблема с сокетами появилась! Собственно я больше ничего не настраивал. Я нашел на сервере в /etc/ssl/certs/ несколько бандлов и добавил их в сборку моего сертификата , тогда все заработало, но чую это не правильно решение ))
Цитата
или у вас степлинг косячик
Можно поподробнее ? Я собственно больше ничего не настраивал, но посмотреть наверное стоит !
PS https://www.ssllabs.com/ssltest/ выдал оценку А, куча информации и выдал такую проблему, Chain issues - Contains anchor, что значит еще нужно разобраться -(
Ошиблись при сборке цепочки. Соединяя в 1, вы должны получить полную цепочку. Браузер проверяет (обычно) последний, а при проверке на php используются ВСЕ (т.е. вся цепочка). Таким образом, если неправильно собрали - браузер ошибки не выдаст, а вот пых работать не будет.
Посмотрите через симантек (первая ссылка в посте) - он скажет какой именно сертификат лишний или неверно установленный.
$socket = stream_socket_client("tls://" . $ip . ':' . $port, $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context); var_dump($socket); Возникает ошибка: Warning: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number in...
Куда нужно смотреть? Полагаю что проблема заключается в ciphers В случае если устанавливаю значение 'ciphers' => 'HIGH:!SSLv2:!SSLv3', ошибка следующая:Warning: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:error:140830B5:SSL routines:SSL3_CLIENT_HELLO:no ciphers available in ...
Ошиблись при сборке цепочки. Соединяя в 1, вы должны получить полную цепочку. Браузер проверяет (обычно) последний, а при проверке на php используются ВСЕ (т.е. вся цепочка). Таким образом, если неправильно собрали - браузер ошибки не выдаст, а вот пых работать не будет.
Посмотрите через симантек (первая ссылка в посте) - он скажет какой именно сертификат лишний или неверно установленный.
Прислали другой сертификат, поставил его и решил добить этот вопрос )) https://cryptoreport.websecurity.symantec.com/checker/ говорит что рутовый сертификат лишний, убираю его , чекер говорит, что вообще все супер, а вот ssl выдает ошибку. Оставил рутовый сертификат, вроде бы все супер ! Спасибо за помощь !
Сертификат Comodo был приобретен не мной, «в наследство» мне достались лишь 2 файла – xxx.pem и xxx.key. Протоколы были настроены, но битрикс не проходил тест на сокеты – ошибка сокетов хоть ты тресни – что в админке "Работа с сокетами Ошибка! Не работает" – отсюда и ниже. Что в скрипте проверки битрикс – «Warning: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in /home/bitrix/www/bitrix_server_test.php on line 624»
И к тому же что apache, что nginx выдавали что-то типа «httpd: (98)Address already in use: make_sock: could not bind to address», первый – немного, второй – много занятых портов.
Ну хорошо, ca-bundle-файл – есть, но никакого crt – нет как нет. Поэтому за неимением вместо crt взял pem-файл.
Зашел с помощью putty на сервере в окружение битрикс (вход автоматический). Вышел из него в консоль командой 0.
Перешел в папку сертификатов: «cd /etc/nginx/ssl/».
И запустил объединение файлов командой «cat server.pem domain_validated.ca-bundle > ssl-bundle.crt», в результате чего в папке сертификатов был создан объединенный файл «ssl-bundle.crt».
Вот этот вновь созданный сертификат я и подсунул nginx, то есть в файле конфигурации было: «ssl_certificate /etc/nginx/ssl/xxx.pem;»
А стало: «ssl_certificate /etc/nginx/ssl/ssl-bundle.crt;»
Рестартанул nginx “service nginx restart”
И пошел проверять. В Битрикс – админке – ошибки исчезли. В Битрикс скрипте проверки – тоже.
Тест в консоли «curl https://somebody.ru:443» - также прошел на ура и выдал содержимое страницы в консоль. Тесты на сайтах тестирования сертификатов – улучшились, но уровень «A» таки получить не удалось, - остался «B» - https://www.ssllabs.com/ssltest/ . Тестер комодо - https://sslanalyzer.comodoca.com/ тоже выдал некоторые проблемы с « DH 1024-bit». И в инфо на https://weakdh.org/sysadmin.html было рекомендовано создать новую группу командой «openssl dhparam -out dhparams.pem 2048», что я и сделал в консоли. Скрипт предупредил, что это может продлиться долго – на практике это заняло 1-2 минуты (как раз чтобы налить себе чаю).
openssl dhparam -out dhparams.pem 2048
openssl dhparam -out dhparams.pem 2048
Generating DH parameters, 2048 bit long safe prime, generator 2