Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline andre74  
#1 Оставлено : 18 июля 2018 г. 15:59:11(UTC)
andre74

Статус: Участник

Группы: Участники
Зарегистрирован: 17.07.2018(UTC)
Сообщений: 22
Российская Федерация
Откуда: екат

Сказал(а) «Спасибо»: 5 раз
Добрый день всем,

Пытаюсь подключиться по зашифрованному соединению к порталу https://api.markirovka.nalog.ru/.
Неудача происходит на этапе Client Hello. Нет нужного шифра TLS_GOSTR341001.
В итоге - ошибка
Код:
"SSL handshake failed"


Вроде бы как (неуверен) я подключил библиотеку gost_capi.dll

Код:
OpenSSL> engine
(dynamic) Dynamic engine loading support
(4758cca) IBM 4758 CCA hardware engine support
(aep) Aep hardware engine support
(atalla) Atalla hardware engine support
(cswift) CryptoSwift hardware engine support
(chil) CHIL hardware engine support
(nuron) Nuron hardware engine support
(sureware) SureWare hardware engine support
(ubsec) UBSEC hardware engine support
(gost) Reference implementation of GOST engine
(capi) CryptoAPI ENGINE
OpenSSL>


Через IE11 соединение с сервером по SSL происходит.
Подскажите, что делать дальше, чтобы Клиентское приложение на Qt подключилось к серверу, который требует ssl_protocols: TLSv1 и ssl_ciphers: GOST2012-GOST8912-GOST8912

Отредактировано модератором 8 августа 2018 г. 13:13:16(UTC)  | Причина: Не указана

Offline Дмитрий Пичулин  
#2 Оставлено : 18 июля 2018 г. 16:17:47(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,442
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Автор: andre74 Перейти к цитате
Пытаюсь подключиться по зашифрованному соединению к порталу https://api.markirovka.nalog.ru/.

Проще использовать stunnel, а не обучать неизвестное приложение работать по ГОСТ.

Например используем stunnel-msspi: https://github.com/deemru/stunnel/releases/latest

Минимальная конфигурация для решения задачи:

Код:
[MARKIROVKA]
client = yes
accept = 127.0.0.1:18080
connect = api.markirovka.nalog.ru:443
sni = api.markirovka.nalog.ru
verify = 0

После запуска подключаемся по локальному адресу http://127.0.0.1:18080 и пользуемся API.

Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил pd за этот пост.
andre74 оставлено 19.07.2018(UTC)
Offline andre74  
#3 Оставлено : 18 июля 2018 г. 16:31:54(UTC)
andre74

Статус: Участник

Группы: Участники
Зарегистрирован: 17.07.2018(UTC)
Сообщений: 22
Российская Федерация
Откуда: екат

Сказал(а) «Спасибо»: 5 раз
Автор: Дмитрий Пичулин Перейти к цитате

Проще использовать stunnel, а не обучать неизвестное приложение работать по ГОСТ.

Спасибо, попробую
Offline andre74  
#4 Оставлено : 19 июля 2018 г. 9:22:03(UTC)
andre74

Статус: Участник

Группы: Участники
Зарегистрирован: 17.07.2018(UTC)
Сообщений: 22
Российская Федерация
Откуда: екат

Сказал(а) «Спасибо»: 5 раз
Автор: Дмитрий Пичулин Перейти к цитате

После запуска подключаемся по локальному адресу и пользуемся API.


Проблема решена, спасибо!
Offline andre74  
#5 Оставлено : 8 августа 2018 г. 12:50:04(UTC)
andre74

Статус: Участник

Группы: Участники
Зарегистрирован: 17.07.2018(UTC)
Сообщений: 22
Российская Федерация
Откуда: екат

Сказал(а) «Спасибо»: 5 раз
Автор: Дмитрий Пичулин Перейти к цитате
Автор: andre74 Перейти к цитате
Пытаюсь подключиться по зашифрованному соединению к порталу https://api.markirovka.nalog.ru/.

Проще использовать stunnel, а не обучать неизвестное приложение работать по ГОСТ.

Например используем stunnel-msspi: https://github.com/deemru/stunnel/releases/latest



добрый день,

Загрузил stunnel-msspi с вашего репозитория, откомпилировал и установил на своей машине Linux.

Файл конфигурации тот-же самый, запускаю программу, ошибок не выдается

Код:
root:/usr/local/etc/stunnel# /usr/local/bin/stunnel /usr/local/etc/stunnel/stunnel.conf
root:/usr/local/etc/stunnel# pgrep stunnel
26830


Пытаюсь далее подключиться из своего приложения к stunnel,

ошибка - "Connection closed".

При повторном запуске stunnel вот что выдается:

Код:
root:/usr/local/etc/stunnel# /usr/local/bin/stunnel /usr/local/etc/stunnel/stunnel.conf
[ ] Clients allowed=500
[.] stunnel 5.48 on armv7l-unknown-linux-gnueabihf platform
[.] Compiled/running with OpenSSL 1.0.2g  1 Mar 2016
[.] Threading:PTHREAD Sockets:POLL,IPv6 TLS:ENGINE,FIPS,OCSP,PSK,SNI
[ ] errno: (*__errno_location ())
[.] Reading configuration from file /usr/local/etc/stunnel/stunnel.conf
[.] UTF-8 byte order mark not detected
[.] FIPS mode disabled
[ ] Compression disabled
[ ] No PRNG seeding was required
[ ] Initializing service [MARKIROVKA]
[ ] Ciphers: HIGH:!aNULL:!SSLv2:!DH:!kDHEPSK
[ ] TLS options: 0x03000004 (+0x00000000, -0x00000000)
[ ] No certificate or private key specified
[:] Service [MARKIROVKA] needs authentication to prevent MITM attacks
[.] Configuration successful
[ ] Binding service [MARKIROVKA]
[ ] Listening file descriptor created (FD=7)
[ ] Setting accept socket options (FD=7)
[ ] Option SO_REUSEADDR set on accept socket
[.] Binding service [MARKIROVKA] to 127.0.0.1:18080: Address already in use (98)
[!] Binding service [MARKIROVKA] failed
[ ] Deallocating section defaults
[ ] Unbinding service [MARKIROVKA]
[ ] Service [MARKIROVKA] closed
[ ] Deallocating section [MARKIROVKA]


Кажется, что он уже нормально работает.

Порт открывается при запуске:

Код:
root:/usr/local/etc/stunnel# telnet localhost 18080Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.


В чем может быть проблема, почему не могу подключиться к stunnel из своего ПО?

Отредактировано пользователем 8 августа 2018 г. 13:04:28(UTC)  | Причина: дополнил

Offline Дмитрий Пичулин  
#6 Оставлено : 8 августа 2018 г. 13:12:46(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,442
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Автор: andre74 Перейти к цитате
В чем может быть проблема, почему не могу подключиться к stunnel из своего ПО?

Проблем может быть масса. У вас платформа armv7? Мы на ней не тестировали.

Вы использовали свой билд, вот так собирается msspi: https://travis-ci.org/de...nnel/jobs/411340193#L646
Знания в базе знаний, поддержка в техподдержке
Offline andre74  
#7 Оставлено : 8 августа 2018 г. 13:21:13(UTC)
andre74

Статус: Участник

Группы: Участники
Зарегистрирован: 17.07.2018(UTC)
Сообщений: 22
Российская Федерация
Откуда: екат

Сказал(а) «Спасибо»: 5 раз
Автор: Дмитрий Пичулин Перейти к цитате
Автор: andre74 Перейти к цитате
В чем может быть проблема, почему не могу подключиться к stunnel из своего ПО?

Проблем может быть масса. У вас платформа armv7? Мы на ней не тестировали.

Вы использовали свой билд, вот так собирается msspi: https://travis-ci.org/de...nnel/jobs/411340193#L646


да, на armv7, ОС Ubuntu 16.04.4 LTS.

К слову сказать, я сначала установил CSP 5 с сайта, с поддержкой данной платформы, юсб ключи видит, подписывает ими.
Когда начал работать с шедшей в комплекте stunnel с вышеупомянутым конфигом, у меня возникла ошибка
Код:
file /usr/local/etc/stunnel/stunnel.conf line 5: Specified option name is not valid here
, то есть ругается на строку
Код:
sni = api.markirovka.nalog.ru
. Удалив данную строку, результата положительного не последовало.
Поэтому, я решил собрать из исходников Вашу версию, которая работает на Винде.
Offline Дмитрий Пичулин  
#8 Оставлено : 8 августа 2018 г. 13:31:39(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,442
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Автор: andre74 Перейти к цитате
... то есть ругается на строку
Код:
sni = api.markirovka.nalog.ru
. Удалив данную строку, результата положительного не последовало.
Поэтому, я решил собрать из исходников Вашу версию, которая работает на Винде.

Да, возможно поддержки опции sni не было в ранних версиях. Но "результата положительного не последовало" плохо описывает ошибку.

Собрать stunnel-msspi возможно, но это потребует или вмешательства в код, или указания корректного SECURITY_DLL_NAME_LINUX при сборке msspi.cpp: https://github.com/deemr...5bb0d0/src/msspi.cpp#L77
Знания в базе знаний, поддержка в техподдержке
Offline andre74  
#9 Оставлено : 8 августа 2018 г. 13:37:34(UTC)
andre74

Статус: Участник

Группы: Участники
Зарегистрирован: 17.07.2018(UTC)
Сообщений: 22
Российская Федерация
Откуда: екат

Сказал(а) «Спасибо»: 5 раз
Автор: Дмитрий Пичулин Перейти к цитате
Автор: andre74 Перейти к цитате
... то есть ругается на строку
Код:
sni = api.markirovka.nalog.ru
. Удалив данную строку, результата положительного не последовало.
Поэтому, я решил собрать из исходников Вашу версию, которая работает на Винде.

Да, возможно поддержки опции sni не было в ранних версиях. Но "результата положительного не последовало" плохо описывает ошибку.

Собрать stunnel-msspi возможно, но это потребует или вмешательства в код, или указания корректного SECURITY_DLL_NAME_LINUX при сборке msspi.cpp: https://github.com/deemr...5bb0d0/src/msspi.cpp#L77


Я имею ввиду, что когда убрал эту опцию, процесс не запускается. (а Ваш собранный с этой опцией - запускается.)

Я бы попробовал пересобрать на своей платформе.
файл находится здесь
Код:
/opt/cprocsp/lib/arm/libssp.so


Вы можете подсказать, как корректно указать SECURITY_DLL_NAME_LINUX в msspi.cpp для данной библиотеки?

Отредактировано пользователем 8 августа 2018 г. 13:42:06(UTC)  | Причина: Не указана

Offline Дмитрий Пичулин  
#10 Оставлено : 8 августа 2018 г. 14:09:45(UTC)
pd

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 16.09.2010(UTC)
Сообщений: 1,442
Откуда: КРИПТО-ПРО

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Автор: andre74 Перейти к цитате
файл находится здесь
Код:
/opt/cprocsp/lib/arm/libssp.so


Вы можете подсказать, как корректно указать SECURITY_DLL_NAME_LINUX в msspi.cpp для данной библиотеки?

При сборке для конкретной платформы можно добавить в msspi.cpp перед строкой "#ifndef SECURITY_DLL_NAME_LINUX" код:

Код:
#define SECURITY_DLL_NAME_LINUX "/opt/cprocsp/lib/arm/libssp.so"


Знания в базе знаний, поддержка в техподдержке
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.