Функция openssl_get_cert_locations возвращает примерно следующее array(8) { ["default_cert_file"]=> string(36) "c:/openssl-1.0.2g-win32/ssl/cert.pem" ["default_cert_file_env"]=> string(13) "SSL_CERT_FILE" ["default_cert_dir"]=> string(33) "c:/openssl-1.0.2g-win32/ssl/certs" ["default_cert_dir_env"]=> string(12) "SSL_CERT_DIR" ["default_private_dir"]=> string(35) "c:/openssl-1.0.2g-win32/ssl/private" ["default_default_cert_area"]=> string(27) "c:/openssl-1.0.2g-win32/ssl" ["ini_cafile"]=> string(0) "" ["ini_capath"]=> string(0) "" } В документации сказано, что при верификации сертификаты ищутся по данным путям. Но этих путей вообще нет. Я попробовал создать первый, поместил туда сертификат, но подключения по ssl не происходит. Функция openssl_error_string ничего не показывает. Вопросы: почему так происходит и где можно найти информацию? Можно ли как-то получить код ошибки ssl, чтобы ее однозначно идентифицировать? Можно ли узнать по какому корневому сертификату будет происходить сверка (ведь его возможно вообще нет)? Можно ли понять, что подключения не произошло именно из-за того, что сертификат не был найден и обработать эту ситуацию?