2016-11-02 8 views
0

Я собрал сайт, использующий платежную систему Stripe. После создания тестового платежа через HTTPS, я получаю ошибку:PHP/CURL - Stripe TLS 1.0 Ошибка

Stripe no longer supports API requests made with TLS 1.0. Please initiate HTTPS connections with TLS 1.2 or later.

Я сделал, что все мои версии программного обеспечения в актуальном состоянии:

PHP Version: 7.0.7

Curl версии: 7.47.1

SSL версия: OpenSSL/1.0.2h

Я также протестировал Мой сайт сам по https://www.ssllabs.com/ssltest/analyze.html, чтобы убедиться, что TLS 1.2 включен и функционирует на сервере.

Единственное, что я могу подумать, это, возможно, проблема с пакетом сертификатов, который я зарегистрировал в php.ini (настройка CURL curl.cainfo), но поскольку у Stripe-источника уже есть «ca-certificate.crt» Я не был уверен, что мне даже нужно установить запись для curl.cainfo в файл php.ini.

Любой совет будет оценен по весу. Если есть какая-либо дополнительная информация, которую я могу предоставить, это может помочь, просто дайте мне знать.

EDIT: В настоящее время с помощью PHP Framework v4.1.1 Stripe в (Latest)

ответ

0

Проблема была с моим местным сертификатом эмитента, оказывается, я был на правильном пути.

Придется установить значение по умолчанию в моем файле php.ini для curl_cainfo и это исправлено.

1

Протокол SSL сертификат, вы упомянули используется вашим сервером в ответ на входящие запросы. Это означает, что если я посетил ваш сайт, как клиент, мой браузер (Chrome) попытается поговорить с вашим сервером по TLS 1.2 по умолчанию, так как сначала использует самый безопасный протокол. Возможно, ваш сервер отвечает на запросы по TLS 1.2.

Проблема, которую мы имеем прямо сейчас, заключается в том, что когда ваш сервер связывается с серверами Stripe, он по умолчанию использует TLS 1.0 вместо TLS 1.2. Поскольку Stripe собирается отказаться от запросов, сделанных с помощью TLS < 1.2, это означает, что ваши запросы начнут сбой в следующем году, если вы не обновите их.

Что я рекомендую здесь поговорить с вашим веб-хостом об этом, чтобы они могли помочь вам заглянуть в вашу настройку и убедиться, что вы поддерживаете запросы TLS 1.2 с вашего сервера на Stripe's. Кроме того, вы можете выполнить шаги, описанные в https://support.stripe.com/questions/how-do-i-upgrade-my-stripe-integration-from-tls-1-0-to-tls-1-2, чтобы ваши библиотеки кода также поддерживали TLS 1.2.

Это также может быть вызвано устаревшей версией библиотеки PHP Stripe. Они выпустили версию 3.19.0 в пятницу 29 июля, которая исправила ошибку, которая затронула некоторые настройки, которые могут объяснить, почему вы получаете эту ошибку, даже если ваш хост поддерживает TLS 1.2. Вы также можете попробовать обновить библиотеку Stripe PHP, которую вы используете в текущей версии, чтобы узнать, разрешает ли она вашу проблему.

+0

Спасибо Зак, к сожалению, поскольку моя учетная запись Stripe довольно новая, у меня уже есть ограничение TLS 1.2, поэтому моя текущая дилемма. Я также обновил до последней версии фреймворка Stripe PHP, чтобы убедиться, что библиотеки были обновлены, но все еще получают ту же ошибку. – Minka

+0

Вчера я связался с моим веб-хостингом, который по сути сказал, что сервер в настоящее время поддерживает TLS 1.2, поэтому, скорее всего, мне нужно как-то включить это, все, что они могли предложить, это отключить TLS 1.0 и 1.1 в надежде, что он вызовет TLS 1.2, но я не уверен, что это поможет, и испугался, что это может повлиять на некоторые из моих других размещенных сайтов. – Minka

 Смежные вопросы

  • Нет связанных вопросов^_^