Почему zend 2 http не проверяет мой сертификат ssl?

Я только начал использовать Zend 2, и он работает очень хорошо (локально), но я не могу заставить его передавать данные через https на другой сервер.

Я немного нуб, когда дело доходит до ssl certs, и я думаю, что в этом проблема. У меня есть CERT, приватный ключ и сертификат CA – они используются для сертификата ssl на одном из наших доменов vhost на нашем сервере, где расположены: –

SSLCertificateFile /usr/local/psa/var/certificates/cert-#### SSLCACertificateFile /usr/local/psa/var/certificates/cert-#### 

В каждом примере я читал, что они находятся в '/etc/ssl/certs/ca-bundle.pem'. Мой вопрос заключается в том, как соединить их, чтобы создать этот файл .pem, который хочет zend 2? Я пробовал просто создать файл .pem со всем —– BEGIN CERTIFICATE —– hash / key —– END CERTIFICATE —– in и назвал его ca-bundle.pem но теперь Apache выбрасывает «Невозможно установить ошибку проверки местоположения» у меня, как мне заставить это работать? Вот фрагмент кода, который у меня есть для адаптера:

 $adapter = new Zend\Http\Client\Adapter\Socket(); $adapter->setStreamContext(array( 'ssl' => array( 'verify_peer' => true, 'allow_self_signed' => false, 'cafile' => '/usr/local/psa/var/certificates/ca-bundle.pem', 'verify_depth' => 5, 'CN_match' => 'https://www.mydomain.co.uk' ) )); $client->setAdapter($adapter); 

Благодаря,

Джо

Сначала это, но я думаю, вы уже сделали это правильно: как получить .pem-файл из .key и .crt файлов?

Ошибка Unable to set verify locations удается Unable to set verify locations так как Apache не может найти или прочитать ключ.

Решение:

  1. проверить правильность пути
  2. убедитесь, что файл pem читается с помощью www-user Apache работает с

При попытке установить Composer я получил ту же ошибку. Следующая команда исправила проблему для меня.

 sudo update-ca-certificates 

Я установил SSL-сертификат на этом сервере после данных инструкций и работал для соединения https. Только при попытке установить Composer я увидел ошибку «не удалось установить проверку местоположения». Надеюсь, это может сэкономить другие часы исследовательского времени, это обошлось мне!