Валидация HTTPS и PHP

Тема в разделе "PHP", создана пользователем Горбушка, 15 сен 2016.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.388
    Симпатии:
    2.358
    Интересует реализация на php исходящего подключения по HTTPS с проверкой SSL на валидность.

    В случае устаревания/подмены сертификата нужно получить ошибку, иначе - контент.
     
  2. Mr.Emm

    Mr.Emm

    Регистр.:
    5 май 2008
    Сообщения:
    150
    Симпатии:
    117
    Наверное через курл CURLOPT_SSL_VERIFYHOST
     
    Горбушка нравится это.
  3. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.388
    Симпатии:
    2.358
    Дело в том,что CURLOPT_SSL_VERIFYHOST проверяет только валидность по имени сертификата и хоста, но ему глубоко по... кем он выдан :( Ну судя по документации
     
  4. stealthdebuger

    stealthdebuger Механик

    Administrator
    Регистр.:
    25 авг 2008
    Сообщения:
    655
    Симпатии:
    1.525
    Ну вопрос озвученный в первом посту это решает, а если надо проверять издателя, то ручками распарсить серт и смотреть кто и что, а дальше решать что делать.
     
    Горбушка нравится это.
  5. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.388
    Симпатии:
    2.358
    А есть какие-то готовые решения?
     
  6. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.611
    Симпатии:
    1.539
    Так он по умолчанию проверяет на валидность, если не добавлять строки:
    PHP:
        curl_setopt($chCURLOPT_SSL_VERIFYHOSTfalse); // don't check certificate
        
    curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse); // don't check certificate
    У меня с этим перманентно проблема, поскольку люблю я через Charles подглядывать, а curl любят запрятать под слоями абстракции с неявным переопределением настроек :mad:
     
    Горбушка нравится это.
  7. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.388
    Симпатии:
    2.358
    @latteo, т.е. самоподписанный сертификат он есть не будет? Цель - избежать атаки man-in-the-middle...
     
  8. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.611
    Симпатии:
    1.539
    У меня не ест без принудительно отключения CURLOPT_SSL_*.

    Он кстати и обычные может не прохавать без дополнительной строки в php.ini
    PHP:
    curl.cainfo = /php56/curl/ca/cacert.pem
    который можно стянуть отсюда - http://curl.haxx.se/ca/cacert.pem
     
    Последнее редактирование: 15 сен 2016
    Горбушка нравится это.
Статус темы:
Закрыта.