Задать вопрос

Как в актуальной версии curl применить tls 1.0 (или как собрать старый curl для этого)?

Есть узел, все еще на tls1.0
К нему необходимо обратиться curl'ом (передать файл -F "filename=@, получить ответ)

Мой хост:
openSUSE Tumbleweed 20231006

curl 8.3.0 (x86_64-suse-linux-gnu) libcurl/8.3.0 OpenSSL/3.1.3 zlib/1.2.13 brotli/1.0.9 zstd/1.5.5 libidn2/2.3.4 libpsl/0.21.2 (+libidn2/2.3.4) libssh/0.10.5/openssl/zlib nghttp2/1.55.1 OpenLDAP/2.6.4
Release-Date: 2023-09-13

OpenSSL 3.1.3 19 Sep 2023 (Library: OpenSSL 3.1.3 19 Sep 2023)


При обращении с соответствующими параметрами из man, все равно получаю применение 1.3:

# curl -v --insecure --tls-max 1.0 --tlsv1.0 https://ХХХ
*   Trying ХХХ:443...
* Connected to ХХХ (ХХХ) port 443
* ALPN: curl offers h2,http/1.1
* TLSv1.3 (OUT), TLS alert, protocol version (582):
* OpenSSL/3.1.3: error:0A0000BF:SSL routines::no protocols available
* Closing connection
curl: (35) OpenSSL/3.1.3: error:0A0000BF:SSL routines::no protocols available


SSL routines::no protocols available - т.е. в моем текущем openssl (curl его использует?) уже совсем недоступен tls1.0 ?

Попробовал собрать старый curl, на curl.se скачал 7.47.0 (версию наудачу посмотрел на подвернувшейся старой убунте 16й, там такая версия curl, с нее 1.0 еще применяется), по Makefile попробовал первые два варианта и All и with-ssl.

all:
	./configure
	make
ssl:
	./configure --with-ssl
	make


Тут уже получаю ссылку на библиотеку libcurl:

/opt/curl-7.47.0 # ./src/curl -v --insecure --tlsv1.0 https://XXX
* Protocol "https" not supported or disabled in libcurl
* Closing connection -1
curl: (1) Protocol "https" not supported or disabled in libcurl


Мне надо как-то иначе собрать curl 7.47.0?
С привязкой старых библиотек?
  • Вопрос задан
  • 690 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
Я для подобных случаев обычно выбираю старые дистрибутивы, где OpenSSL точно версии 1. И использую docker.
например:
user@server$ docker run -it --rm alpine:3.1
$ apk update && apk add curl
$ curl -vvv --tlsv1.0 https://domain.example

параметр --tls-max он еще не понимал. может в версиях alpine посвежее.
ну, а так осталось только через volume примонтировать каталог с файлом и добавить путь к файлу в команду curl.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
С openssl. Боюсь, что его просто выпилили оттуда. libcurl по-моему не содержит криптопримитивы - если их нет в openssl - то их нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы