gost-curl — консольный HTTP-клиент с поддержкой ГОСТ TLS 1.3

gost-curl — консольный HTTP-клиент с поддержкой ГОСТ TLS 1.3

Недавно мне понадобился консольный клиент для отладки сайта, который закрыт TLS 1.3 на ГОСТ-алгоритмах. Из доступных у меня были варианты:

curl в составе дистрибутива от известного крипто-провайдера.

curl в составе дистрибутива от известного крипто-провайдера.

собрать самому нативный curl из исходников, с openssl + ручной патч ГОСТ TLS 1.3.

собрать самому нативный curl из исходников, с openssl + ручной патч ГОСТ TLS 1.3.

Ни тот, ни другой вариант не были удобными для повседневной автоматизации для разных ОС. В итоге я написал на Java урезанный аналог curl, который умеет работать с TLS 1.3 на ГОСТ.

Данный инструмент может быть полезен разработчикам, devops-инженерам, QA и администраторам. gost-curl самодостаточен, не требует установки openssl или каких-то крипто-провайдеров, работает в разных ОС.

Исходные тексты и бинарные файлы для Linux и Macos доступны по ссылке . Для остальных ОС есть jar-файл.

Основные возможности

gost-curl — предназначен для работы только по TLS 1.3 и только с использованием ГОСТ-алгоритмов. Для всего остального есть нативный curl , доступный в любой ОС.

Поддерживается только алгоритм "Кузнечик", российские OID-кривые и форматы сертификатов, "Магма" не поддерживается.

Важной особенностью инструмента является поддержка PEM/DER/PKCS12 форматов, поэтому пользователям не придется заниматься конвертацией ключей.

Доступные опции:

Не стоит ожидать от клиента большой скорости, т.к. у ГОСТ-алгоритмов нет аппаратного ускорения, какие есть у AES. Но от 30-50 МБ/c он выдает, что вполне приемлемо для повседневных задач.

Лицензия свободная и разрешает использование в любых сферах.

← Cybersecurity