После обновления openssl на нашем dev сервере к версии 1.0.1-4ubuntu5.31
, сценарий, который не содержит вихревую команду к определенному серверу больше, соединяется. Мы выполняли openssl 1.0.1-4ubuntu5.25
. Завихрение выполняет начальное соединение успешно. Проблема играет роль, когда мы площадь, пробуя ПОЛУЧЕНИЕ и получаем ошибку:
GET /some/directory/on_the_remote_server HTTP/1.1
User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
Host: host.connection.com
Accept: */*
* SSLv3, TLS handshake, Hello request (0):
* SSLv3, TLS handshake, Client hello (1):
* SSL read: error:140940E5:SSL routines:SSL3_READ_BYTES:ssl handshake failure, errno 0
* Closing connection #0
curl: (56) SSL read: error:140940E5:SSL routines:SSL3_READ_BYTES:ssl handshake failure, errno 0
(Это было санировано для защиты частной информации),
Я проверил, что на соединяющемся сервере нет никаких изменений. Любая справка значительно ценилась бы, поскольку я не смог найти что-либо при фиксации этой ошибки.
Не имея большего количества детали о сервере мое предположение - то, что сервер использует слабые ключи Diffie-Hellmann и что квитирование SSL перестанет работать, потому что OpenSSL был зафиксирован для осуществления более сильных ключей DH. Причиной этой фиксации является недавняя публикация нападение Затора .
- УЛУЧШЕНИЕ БЕЗОПАСНОСТИ: отклоните горячекатаные ключи, меньшие, чем 768 битов...
Затронутый только шифры DH. Для отключения использования шифров DH, Вы могли бы использовать ciphers
опция, т.е.
curl --ciphers 'DEFAULT:!DH' url
, Но необходимо также починить сервер. Для получения дополнительной информации о том, как сделать, это видит здесь .