PDO не работает с SSL

Если я запускаю этот код, требующий SSL, он не будет работать (доступ запрещен для пользователя), но без SSL он будет работать.

Что может происходить на стороне сервера, чтобы остановить это? Очевидно, что не пароль / пользовательская конфигурация, а другое соединение с сервером с SSL работает нормально, поэтому я знаю, что сервер принимает зашифрованные соединения.

Для информации у меня есть уже проверено Подключитесь к удаленному серверу MySQL с помощью SSL из PHP.

$dbE = new PDO(
'mysql:dbname=DB;host=IP',
USER,
PASS,
array(
PDO::MYSQL_ATTR_SSL_KEY => 'D:\ssl\mysql\client-key.pem',
PDO::MYSQL_ATTR_SSL_CERT => 'D:\ssl\mysql\client-cert.pem',
PDO::MYSQL_ATTR_SSL_CA => 'D:\ssl\mysql\ca-cert.pem'
)
);

2

Решение

После МНОГО расследования, восстановления сертификатов и избиения головы я понял это (ptl). Проблема была (и я действительно не нашел это нигде), но клиентские сертификаты должны быть скопированы с сервера на клиент. Пути, используемые в конфигурациях PDO, являются путями к копии КЛИЕНТОВ файла ca / ​​cert / key, в отличие от путей на сервере. Я не оценил это, и я думаю, что это должно быть немного яснее.

Даже пример на http://dev.mysql.com/doc/refman/5.0/en/creating-ssl-certs.html подразумевает, что ключи клиента находятся на сервере, а не на клиенте. Я надеюсь, что это полезно.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]