logo
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline andre74  
#1 Оставлено : 18 июля 2018 г. 12: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 г. 10:13:16(UTC)  | Причина: Не указана

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

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

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

Сказал(а) «Спасибо»: 16 раз
Поблагодарили: 94 раз в 79 постах
Автор: 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 пользователь поблагодарил Дмитрий Пичулин за этот пост.
andre74 оставлено 19.07.2018(UTC)
Offline andre74  
#3 Оставлено : 18 июля 2018 г. 13:31:54(UTC)
andre74

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

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

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

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

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

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

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

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

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


Проблема решена, спасибо!
Offline andre74  
#5 Оставлено : 8 августа 2018 г. 9: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 г. 10:04:28(UTC)  | Причина: дополнил

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

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

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

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

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

Вы использовали свой билд, вот так собирается msspi: https://travis-ci.org/de...nnel/jobs/411340193#L646
Знания в базе знаний, поддержка в техподдержке
Offline andre74  
#7 Оставлено : 8 августа 2018 г. 10: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 г. 10:31:39(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 16 раз
Поблагодарили: 94 раз в 79 постах
Автор: 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 г. 10: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 г. 10:42:06(UTC)  | Причина: Не указана

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

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

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

Сказал(а) «Спасибо»: 16 раз
Поблагодарили: 94 раз в 79 постах
Автор: 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"


Знания в базе знаний, поддержка в техподдержке
Offline andre74  
#11 Оставлено : 8 августа 2018 г. 11:19:30(UTC)
andre74

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

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

Сказал(а) «Спасибо»: 5 раз
Автор: Дмитрий Пичулин Перейти к цитате
Автор: 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"




Собираю

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

Offline andre74  
#12 Оставлено : 8 августа 2018 г. 12:23:05(UTC)
andre74

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

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

Сказал(а) «Спасибо»: 5 раз
Сделал
Код:

$ git clone --depth=50 --branch=stunnel-5.48-msspi-0.106 https://github.com/deemru/stunnel.git deemru/stunnel
$ cd deemru/stunnel
$ git checkout -qf stunnel-5.48-msspi-0.106

$ git submodule update --init --recursive
$ export ACCOUNT=[secure]
$ export CONFIGURE_OPTIONS='--with-threads=fork --enable-msspi'
$ export MSSPI='yes'
$ export CSPMODE='kc2'

тут все в порядке.

вот это не делал, так как у меня платформа другая

Код:
$ if [ $MSSPI == 'yes' ]; then wget https://$ACCOUNT@update.cryptopro.ru/support/stunnel/dist/csp40r3/linux-amd64_deb.tgz && tar -xvf linux-amd64_deb.tgz && sudo linux-amd64_deb/install.sh $CSPMODE; fi


Дальше сделал

Код:
$ if [ $MSSPI == 'yes' ]; then ln -s /usr/bin/g++-4.9 g++ && cd src/msspi/build_linux && make && cd ../../.. ; fi
g++ -Wall -Wl,--no-as-needed -std=c++11 -g -O2 -fPIC -Werror -Wno-unused-function -I../third_party/cprocsp/include ../src/msspi.cpp -c -o msspi.o
ar cr libmsspi.a msspi.o
s$ ./configure $CONFIGURE_OPTIONS

, тут тоже все в порядке.

и при выполнении конфигурации у меня ворнинг:

Код:
configure: WARNING: unrecognized options: --enable-msspi



на этапе make возникает ошибка :
Код:
/home/odroid/Downloads/stunneldeem/deemru/stunnel# make
CDPATH="${ZSH_VERSION+.}:" && cd . && /bin/bash /home/odroid/Downloads/stunneldeem/deemru/stunnel/auto/missing aclocal-1.15 -I m4
/home/odroid/Downloads/stunneldeem/deemru/stunnel/auto/missing: line 81: aclocal-1.15: command not found
WARNING: 'aclocal-1.15' is missing on your system.
         You should only need it if you modified 'acinclude.m4' or
         'configure.ac' or m4 files included by 'configure.ac'.
         The 'aclocal' program is part of the GNU Automake package:
         <http://www.gnu.org/software/automake>
         It also requires GNU Autoconf, GNU m4 and Perl in order to run:
         <http://www.gnu.org/software/autoconf>
         <http://www.gnu.org/software/m4/>
         <http://www.perl.org/>
Makefile:407: recipe for target 'aclocal.m4' failed
make: *** [aclocal.m4] Error 127

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

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

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

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

Сказал(а) «Спасибо»: 16 раз
Поблагодарили: 94 раз в 79 постах
Автор: andre74 Перейти к цитате
и при выполнении конфигурации у меня ворнинг:

Код:
configure: WARNING: unrecognized options: --enable-msspi

Да, на этапе configure нет поддержки msspi, значит вряд ли получится самостоятельно собрать с stunnel с msspi под arm.

Постараемся заняться сборкой под arm и обеспечить поддержку данного продукта, предположительно, до осени.

Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил Дмитрий Пичулин за этот пост.
andre74 оставлено 08.08.2018(UTC)
Offline andre74  
#14 Оставлено : 8 августа 2018 г. 13:51:28(UTC)
andre74

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

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

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

Постараемся заняться сборкой под arm и обеспечить поддержку данного продукта, предположительно, до осени.

Значит пока придется все-таки переходить на другую платформу.
Но хотелось бы, конечно, на этой запустить.

Благодарю
Offline Ефремов Степан  
#15 Оставлено : 16 августа 2018 г. 11:50:41(UTC)
Ефремов Степан

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

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

Автор: andre74 Перейти к цитате
Автор: Дмитрий Пичулин Перейти к цитате

Постараемся заняться сборкой под arm и обеспечить поддержку данного продукта, предположительно, до осени.

Значит пока придется все-таки переходить на другую платформу.
Но хотелось бы, конечно, на этой запустить.

Благодарю


Добрый день.

Шаг с

Код:
autoreconf -fvi && touch src/dhparam.c


очень важен, так как генерирует новый configure. Не знаем по какой причине файл configure добавлен в репозиторий разработчиком stunnel (достаточно configure.ac).

После этого шага ошибок

Код:
configure: WARNING: unrecognized options: --enable-msspi


быть не должно.
Техническая поддержка здесь.
База знаний здесь.
Offline Дмитрий Пичулин  
#16 Оставлено : 4 сентября 2018 г. 14:56:13(UTC)
Дмитрий Пичулин

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

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

Сказал(а) «Спасибо»: 16 раз
Поблагодарили: 94 раз в 79 постах
Автор: andre74 Перейти к цитате
Значит пока придется все-таки переходить на другую платформу.
Но хотелось бы, конечно, на этой запустить.

Благодарю

Добавили ARM-сборку: https://www.cryptopro.ru...ts&m=94870#post94870

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