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

Уведомление

Icon
Error

67 Страницы«<3132333435>»
Опции
К последнему сообщению К первому непрочитанному
Offline realmfoo  
#321 Оставлено : 6 сентября 2017 г. 10:20:34(UTC)
realmfoo

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

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

Поблагодарили: 1 раз в 1 постах
Автор: pd Перейти к цитате
Автор: realmfoo Перейти к цитате
Если задействовать OpenSSL UI окажется трудоёмким, то хотелось бы иметь возможность указывать пароль хотя бы через ENGINE_ctrl_cmd_string.

Мы пойдём другим путём, документированным и в рамках CSP, но об этом в завтра.


Хотелось бы о нём уже прочитать.
Offline Дмитрий Пичулин  
#322 Оставлено : 6 сентября 2017 г. 11:53:28(UTC)
pd

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

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

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Автор: realmfoo Перейти к цитате
Автор: pd Перейти к цитате
Мы пойдём другим путём, документированным и в рамках CSP, но об этом в завтра.

Хотелось бы о нём уже прочитать.

Итак, для того чтобы воспользоваться закрытым ключом с паролем в автоматическом режиме, необходимо:
  1. Экспортировать сертификат целевого контейнера:
    Код:
    /opt/cprocsp/bin/amd64/csptestf -keys -cont '\\.\hdimage\example' -keyt exchange -expcert /tmp/example.cer

  2. Импортировать сертификат с сохранением пароля целевого контейнера на уровне хранилища сертификатов:
    Код:
    /opt/cprocsp/bin/amd64/csptestf -ipsec -reg -mycert /tmp/example.cer -autocont -savepin -passw 12345678

  3. Воспользоваться сборкой gost_capi не ниже 162826: https://update.cryptopro...t/nginx-gost/bin/162826/



Знания в базе знаний, поддержка в техподдержке
Offline realmfoo  
#323 Оставлено : 6 сентября 2017 г. 12:19:42(UTC)
realmfoo

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

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

Поблагодарили: 1 раз в 1 постах
Спасибо! С новой версией библиотеки удалось обойтись без указания пароля пользователем.
Offline Дмитрий Пичулин  
#324 Оставлено : 7 сентября 2017 г. 14:52:49(UTC)
pd

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

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

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
У нас появились скрипт автоматической настройки nginx на unix с сертификатами ГОСТ 2012 года: https://www.cryptopro.ru...aspx?g=posts&t=12505

Прошу всех интересующихся задавать вопросы в соответствующей теме.

Скрипты предназначены исключительно для ознакомления с функционалом, запускать их желательно на чистых системах, гарантированно работает на ubuntu 16.
Знания в базе знаний, поддержка в техподдержке
Offline realmfoo  
#325 Оставлено : 7 сентября 2017 г. 18:15:45(UTC)
realmfoo

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

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

Поблагодарили: 1 раз в 1 постах
При отладке через gdb заметил обращение к файлу /var/log/gost_capi.log, которого нет. В результате этого обращения ошибка регистрируется в OpenSSL.

Код:
Thread 7 "csp-sign" hit Breakpoint 4, ERR_put_error (lib=lib@entry=2, func=func@entry=1, reason=13, file=file@entry=0x7ffff76aeff8 "bss_file.c", line=line@entry=175) at err.c:704
704	err.c: No such file or directory.
(gdb) where
#0  ERR_put_error (lib=lib@entry=2, func=func@entry=1, reason=13, file=file@entry=0x7ffff76aeff8 "bss_file.c", line=line@entry=175) at err.c:704
#1  0x00007ffff75f1576 in BIO_new_file (filename=0x7ffff18bdb00 "/var/log/gost_capi.log", mode=0x7ffff18bdb87 "a+") at bss_file.c:175
#2  0x00007ffff18783fb in ngg_trace () from /opt/cprocsp/cp-openssl/lib/amd64/engines/libgost_capi.so
#3  0x00007ffff1879bb4 in ngg_asn1_public_key_bits_3410 () from /opt/cprocsp/cp-openssl/lib/amd64/engines/libgost_capi.so
#4  0x00007ffff1879bc9 in ngg_asn1_public_key_size_3410 () from /opt/cprocsp/cp-openssl/lib/amd64/engines/libgost_capi.so
#5  0x00007ffff793ebfc in xmlSecOpenSSLEvpSignatureExecute (transform=0x7fffe4002a40, last=1, transformCtx=<optimized out>) at evp_signatures.c:454


Разве файл логов не должен быть /var/opt/cprocsp/tmp/gost_capi.log ?
Offline Дмитрий Пичулин  
#326 Оставлено : 7 сентября 2017 г. 18:30:43(UTC)
pd

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

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

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Автор: realmfoo Перейти к цитате
При отладке через gdb заметил обращение к файлу /var/log/gost_capi.log, которого нет. В результате этого обращения ошибка регистрируется в OpenSSL.

Код:
Thread 7 "csp-sign" hit Breakpoint 4, ERR_put_error (lib=lib@entry=2, func=func@entry=1, reason=13, file=file@entry=0x7ffff76aeff8 "bss_file.c", line=line@entry=175) at err.c:704
704	err.c: No such file or directory.
(gdb) where
#0  ERR_put_error (lib=lib@entry=2, func=func@entry=1, reason=13, file=file@entry=0x7ffff76aeff8 "bss_file.c", line=line@entry=175) at err.c:704
#1  0x00007ffff75f1576 in BIO_new_file (filename=0x7ffff18bdb00 "/var/log/gost_capi.log", mode=0x7ffff18bdb87 "a+") at bss_file.c:175
#2  0x00007ffff18783fb in ngg_trace () from /opt/cprocsp/cp-openssl/lib/amd64/engines/libgost_capi.so
#3  0x00007ffff1879bb4 in ngg_asn1_public_key_bits_3410 () from /opt/cprocsp/cp-openssl/lib/amd64/engines/libgost_capi.so
#4  0x00007ffff1879bc9 in ngg_asn1_public_key_size_3410 () from /opt/cprocsp/cp-openssl/lib/amd64/engines/libgost_capi.so
#5  0x00007ffff793ebfc in xmlSecOpenSSLEvpSignatureExecute (transform=0x7fffe4002a40, last=1, transformCtx=<optimized out>) at evp_signatures.c:454


Разве файл логов не должен быть /var/opt/cprocsp/tmp/gost_capi.log ?

Нет, теперь пишем в /var/log, но ошибка странная, разве openssl не должен этот файл создавать при отсутствии, проверим, исправим, спасибо.

Знания в базе знаний, поддержка в техподдержке
Offline realmfoo  
#327 Оставлено : 8 сентября 2017 г. 15:50:13(UTC)
realmfoo

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

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

Поблагодарили: 1 раз в 1 постах
Автор: pd Перейти к цитате
Автор: realmfoo Перейти к цитате
При отладке через gdb заметил обращение к файлу /var/log/gost_capi.log, которого нет. В результате этого обращения ошибка регистрируется в OpenSSL.

Код:
Thread 7 "csp-sign" hit Breakpoint 4, ERR_put_error (lib=lib@entry=2, func=func@entry=1, reason=13, file=file@entry=0x7ffff76aeff8 "bss_file.c", line=line@entry=175) at err.c:704
704	err.c: No such file or directory.
(gdb) where
#0  ERR_put_error (lib=lib@entry=2, func=func@entry=1, reason=13, file=file@entry=0x7ffff76aeff8 "bss_file.c", line=line@entry=175) at err.c:704
#1  0x00007ffff75f1576 in BIO_new_file (filename=0x7ffff18bdb00 "/var/log/gost_capi.log", mode=0x7ffff18bdb87 "a+") at bss_file.c:175
#2  0x00007ffff18783fb in ngg_trace () from /opt/cprocsp/cp-openssl/lib/amd64/engines/libgost_capi.so
#3  0x00007ffff1879bb4 in ngg_asn1_public_key_bits_3410 () from /opt/cprocsp/cp-openssl/lib/amd64/engines/libgost_capi.so
#4  0x00007ffff1879bc9 in ngg_asn1_public_key_size_3410 () from /opt/cprocsp/cp-openssl/lib/amd64/engines/libgost_capi.so
#5  0x00007ffff793ebfc in xmlSecOpenSSLEvpSignatureExecute (transform=0x7fffe4002a40, last=1, transformCtx=<optimized out>) at evp_signatures.c:454


Разве файл логов не должен быть /var/opt/cprocsp/tmp/gost_capi.log ?

Нет, теперь пишем в /var/log, но ошибка странная, разве openssl не должен этот файл создавать при отсутствии, проверим, исправим, спасибо.



Так как программа запускается под обычным пользователем, а на папке /var/log установлены права 0775 (а где-то и 0755, владелец root), то создать файл никак не получится.

При запуске программы, которая подписывает один и тот же запрос в несколько потоков наблюдаю нестабильную работу. В некоторых случаях подписать запрос не удаётся, а в stderr присутствует указание на ошибку с правами доступа:

Код:

func=xmlSecOpenSSLEvpSignatureExecute:file=evp_signatures.c:line=466:obj=gostr34102001-gostr3411:subj=EVP_SignFinal:error=4:crypto library function failed:openssl error: 33558541: system library: fopen Permission denied
func=xmlSecTransformDefaultPushBin:file=transforms.c:line=1921:obj=gostr34102001-gostr3411:subj=xmlSecTransformExecute:error=1:xmlsec library function failed:final=1
func=xmlSecTransformIOBufferClose:file=transforms.c:line=2547:obj=gostr34102001-gostr3411:subj=xmlSecTransformPushBin:error=1:xmlsec library function failed: 
func=xmlSecTransformC14NPushXml:file=c14n.c:line=243:obj=exc-c14n:subj=xmlOutputBufferClose:error=5:libxml2 library function failed:xml error: 0: NULL
func=xmlSecTransformCtxXmlExecute:file=transforms.c:line=1037:obj=exc-c14n:subj=xmlSecTransformPushXml:error=1:xmlsec library function failed: 
func=xmlSecDSigCtxProcessSignatureNode:file=xmldsig.c:line=550:obj=unknown:subj=xmlSecTransformCtxXmlExecute:error=1:xmlsec library function failed: 
func=xmlSecDSigCtxSign:file=xmldsig.c:line=286:obj=unknown:subj=xmlSecDSigCtxSignatureProcessNode:error=1:xmlsec library function failed: 


При попытке отловить ошибку, в результате которой подписать запрос не удалось, получаю следующую информацию:

Код:
(gdb) info break
Num     Type           Disp Enb Address            What
1       breakpoint     keep y   0x00007ffff7b86910 in xmlSecError at errors.c:232
	breakpoint already hit 1 time

(gdb) where
#0  xmlSecError (file=file@entry=0x7ffff7957980 "evp_signatures.c", line=line@entry=466, func=func@entry=0x7ffff7957c20 <__func__.16543> "xmlSecOpenSSLEvpSignatureExecute", 
    errorObject=0x7ffff7bbe300 <xmlSecNameGost2001GostR3411_94> "gostr34102001-gostr3411", errorSubject=errorSubject@entry=0x7ffff79579f4 "EVP_SignFinal", reason=reason@entry=4, msg=0x7ffff7954bc8 "openssl error: %lu: %s: %s %s")
    at errors.c:232
#1  0x00007ffff793efcd in xmlSecOpenSSLEvpSignatureExecute (transform=0x7fffc4008950, last=<optimized out>, transformCtx=<optimized out>) at evp_signatures.c:465
#2  0x00007ffff7ba3373 in xmlSecTransformDefaultPushBin (transform=0x7fffc4008950, data=0x0, dataSize=0, final=1, transformCtx=0x7fffc4008710) at transforms.c:1917
#3  0x00007ffff7ba0036 in xmlSecTransformIOBufferClose (buffer=0x7fffc400d2c0) at transforms.c:2544
#4  0x00007ffff6f5b6a9 in xmlOutputBufferClose () from /usr/lib/x86_64-linux-gnu/libxml2.so.2
#5  0x00007ffff7b8320e in xmlSecTransformC14NPushXml (transform=0x7fffc4008860, nodes=0x7fffc400cca0, transformCtx=<optimized out>) at c14n.c:241
#6  0x00007ffff7ba2a5a in xmlSecTransformCtxXmlExecute (ctx=ctx@entry=0x7fffc4008710, nodes=nodes@entry=0x7fffc400cca0) at transforms.c:1034
#7  0x00007ffff7ba879c in xmlSecDSigCtxProcessSignatureNode (dsigCtx=dsigCtx@entry=0x7fffc4008450, node=node@entry=0x7fffc4002b50) at xmldsig.c:548
#8  0x00007ffff7ba90d4 in xmlSecDSigCtxSign (dsigCtx=0x7fffc4008450, tmpl=0x7fffc4002b50) at xmldsig.c:284

(gdb) call ERR_print_errors_fp(stdout)
140737224103568:error:0200100D:system library:fopen:Permission denied:bss_file.c:175:fopen('/var/log/gost_capi.log','a+')
140737224103568:error:2006D002:BIO routines:BIO_new_file:system lib:bss_file.c:180:


При этом в однопоточном режиме данная ошибка не возникает. В чём может быть причина подобной нестабильности?
Offline Дмитрий Пичулин  
#328 Оставлено : 8 сентября 2017 г. 18:08:54(UTC)
pd

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

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

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Автор: realmfoo Перейти к цитате
Так как программа запускается под обычным пользователем, а на папке /var/log установлены права 0775 (а где-то и 0755, владелец root), то создать файл никак не получится.

Логирование переосмыслим, пока отключим, должно хватить лога openssl.

Версия gost_capi с отключенным логом: https://update.cryptopro...0170908_gost_capi_nolog/

По ошибкам в многопоточном режиме нам мало что известно, мы рассчитываем, что синхронизацией занимается openssl и приложение его использующее.

Если есть тестовый пример, который должен работать, но не работает по нашей вине, давайте, будем разбираться.

Знания в базе знаний, поддержка в техподдержке
Offline Дмитрий Пичулин  
#329 Оставлено : 17 октября 2017 г. 15:12:58(UTC)
pd

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

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

Сказал(а) «Спасибо»: 31 раз
Поблагодарили: 412 раз в 306 постах
Обновили наши криптографические библиотеки gost_capi и gostengy для OpenSSL до ревизии 164682: https://update.cryptopro...t/nginx-gost/bin/164682/

Обновили nginx с поддержкой ГОСТ 2012 для Windows: https://github.com/deemr...g/nginx-1.12.1-gost-12.7

Для пользователей Unix доступны скрипты автоматической сборки и настройки nginx с поддержкой ГОСТ 2012: https://www.cryptopro.ru...aspx?g=posts&t=12505

Изменения:


UPD:
Спустя 2 часа вышел новый nginx 1.12.2, обновили нашу сборку ещё раз: https://github.com/deemr...g/nginx-1.12.2-gost-12.9

Отредактировано пользователем 17 октября 2017 г. 17:05:35(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
Offline chemtech  
#330 Оставлено : 30 октября 2017 г. 13:09:49(UTC)
chemtech

Статус: Активный участник

Группы: Участники
Зарегистрирован: 01.11.2011(UTC)
Сообщений: 174

Сказал(а) «Спасибо»: 11 раз
Поблагодарили: 1 раз в 1 постах
Добрый день!
Скажите пожалуйста, можно ли использовать cprocsp-cpopenssl-gost с нативной OpenSSL при использовании nginx с КриптоПро CSP?
Или нужно обязательно использовать пропатченную OpenSSL?

Отредактировано пользователем 30 октября 2017 г. 13:10:24(UTC)  | Причина: Не указана

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