Я использую PHP 7.0 из ppa:ondrej/php в Ubuntu 14.04. Я взаимодействую с API и хочу, чтобы мой PHP / CURL-код взаимодействовал с правильным сервером и надежно (без какого-либо риска отслеживания, MITM, фальсификации и т. Д.).
Вот несколько вещей, которые я заметил о настройках по умолчанию:
openssl.cafile ] и openssl.capath пустые.
Я считаю, что CURLOPT_SSL_VERIFYPEER по умолчанию имеет значение TRUE и что набор сертификатов по умолчанию предоставляется cURL (14.04 имеет cURL 7.35, и это верно с 7.10).
Похоже, что многие из примеров «плохого» ssl - это то, что браузеры и мир безопасности в целом считают небезопасными, но допускается конфигурация по умолчанию для PHP / CURL.
Используя badssl.com и сценарий, который я написал, я начал тестировать, какие плохие SSL-конфигурации будут вызывать ошибки, и я удивлен, как многие из них не вызывают ошибок.
Несколько возможных решений:
сделать php / curl более строгими в wha он принимает. Это может быть совершенно невозможно. Добавьте еще один код в PHP, чтобы более точно проверить сертификаты (чувствует себя плохо). Возможно, это нормально, что PHP / CURL не идентифицируют все это как недопустимыеЯ ищу ответы по любому из этих пунктов: )