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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline al  
#1 Оставлено : 7 декабря 2016 г. 10:50:51(UTC)
al

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

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

Сказал(а) «Спасибо»: 16 раз
Поблагодарили: 1 раз в 1 постах
Здравствуйте.

Собираю библиотеку mskey.so из исходников.
Это та, что находится внутри cprocsp-rdr-mskey-* в составе поставки КриптоПро (CryptoPro CSP ver. 4.0.0.0.9708).

Если я собираю mskey.so в rdk-дереве (/opt/cprocsp/src/rdk/mskey) внутри CryptoPro CSP ver. 3.6.1.0.7777 то всё собирается, устанавливается, и работает.
Причем работает как с CSP 3, так и с CSP 4 (и это понятно, т.к. библиотеку носителя используют для утилитарных функций: "считать из файла", "записать в файл", и от (новых) алгоритмов криптопровайдера она не зависит; важно только одно - хватит ли места для размещения контейнера на носителе, но с этим проблем нет).

Если я собираю mskey.so в rdk-дереве (/opt/cprocsp/src/rdk/mskey) внутри CryptoPro CSP ver. 4.0.0.0.9708 то всё собирается, устанавливается (библиотека успешно загружается в память), но не работает:

Сразу после установки mskey.so пытаюсь скорректировать конфигурацию, cpconfig вываливается:
Цитата:

cpconfig -hardware media -add MSKEY -name 'MSkey'
Ошибка сегментирования


И (наверное, как следствие):

Цитата:

lanin@debian1:~$ csptest -enum -info -type PP_ENUMREADERS -flags 32
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 22048179
GetProvParam(...PP_ENUMREADERS...) until it returns false
Flags: 0x20
Len Byte NickName/Name/Media
___________________________________


Цитата:

lanin@debian1:~$ csptest -keyset -enum_containers -unique -cont "\\\\.\\OMNIKEY AG CardMan 3121 00 00"
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.



Если mskey.so собрана в rdk-дереве CryptoPro CSP ver. 3.6.1.0.7777, то всё работает:

Цитата:

cpconfig -hardware media -add MSKEY -name 'MSkey'
Adding new media:
Nick name: MSKEY
Name device: MSkey
Succeeded, code:0x0


Цитата:

lanin@debian1:~$ csptest -enum -info -type PP_ENUMREADERS -flags 32
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
CryptAcquireContext succeeded.HCRYPTPROV: 34315699
GetProvParam(...PP_ENUMREADERS...) until it returns false
Flags: 0x20
Len Byte NickName/Name/Media
___________________________________
0x012a 0x72 OMNIKEY AG CardMan 3121 00 00
All PC/SC readers
MSkey_DE8E8D29
0x012a 0x58 FLASH
FLASH
NO_MEDIA
0x012a 0x18 HDIMAGE
��������� ������� �� ������� �����
NO_UNIQUE
Cycle exit when getting data. 3 items found. Level completed without problems.
Total: SYS: 0,010 sec USR: 0,100 sec UTC: 0,480 sec
[ErrorCode: 0x00000000]


Цитата:

lanin@debian1:~$ csptest -keyset -enum_containers -unique -cont "\\\\.\\OMNIKEY AG CardMan 3121 00 00"
CSP (Type:80) v4.0.9006 KC1 Release Ver:4.0.9708 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 34938291
tc_mskey_111 |SCARD\MSkey_DE8E8D29\A\1C41
tc_mskey_001 |SCARD\MSkey_DE8E8D29\B\4C11
tc_mskey_f22_001 |SCARD\MSkey_DE8E8D29\C\F2BD
OK.
Total: SYS: 0,000 sec USR: 0,110 sec UTC: 0,960 sec
[ErrorCode: 0x00000000]



Библиотеки mskey.so, собранные в разных rdk-деревьях, отличаются тем, что в той, что не работает, отсутствуют символы catopen ( тот, что в nl_types.h ) и csp_get_paths ( тот, что в /opt/cprocsp/include/common.h: extern const TSupCSPPaths * csp_get_paths(void); ).
Опции компилятора и линкера в Makefile-ах rdk CSP 3 и CSP 4 не отличаются (практически).

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

--
С уважением,
программист ООО "Мультисофт".

Отредактировано пользователем 7 декабря 2016 г. 15:16:05(UTC)  | Причина: расподробил отличия сошников

Offline al  
#2 Оставлено : 7 декабря 2016 г. 12:30:26(UTC)
al

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

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

Сказал(а) «Спасибо»: 16 раз
Поблагодарили: 1 раз в 1 постах
Добавлю, что в Windows проблем нет - библиотека mskey.dll собирается из (тех же) исходников в составе sdk-дерева, входящего в CryptoPro CSP 4.0.9708 (CSP core 4.0.9006 KC1), и работает как с указанным CSP 4, так и с CSP 3 (Product: 3.6.7777, core: 3.5.5365 KC1).

Отредактировано пользователем 7 декабря 2016 г. 12:31:20(UTC)  | Причина: Не указана

Offline al  
#3 Оставлено : 7 декабря 2016 г. 18:06:27(UTC)
al

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

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

Сказал(а) «Спасибо»: 16 раз
Поблагодарили: 1 раз в 1 постах
Еще одно наблюдение.
objbump -x mskey.so выявил, что в mskey.so, собранной в в rdk-дереве (/opt/cprocsp/src/rdk/mskey) в составе CryptoPro CSP ver. 3.6.1.0.7777 присустсвуют следующие символы, которых нет в mskey.so, собранной в rdk-дереве (/opt/cprocsp/src/rdk/mskey) в составе CryptoPro CSP ver. 4.0.0.0.9708 :
Цитата:

00000000002056a0 l O .data 0000000000000018 MSKEY_catalog
0000000000003ffd l F .text 0000000000000086 MSKEY_once_init


Надеюсь на помощь.

Отредактировано пользователем 7 декабря 2016 г. 18:15:25(UTC)  | Причина: Не указана

Offline al  
#4 Оставлено : 7 декабря 2016 г. 18:34:45(UTC)
al

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

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

Сказал(а) «Спасибо»: 16 раз
Поблагодарили: 1 раз в 1 постах
Разобрался сам - надо было добавить в 'add_cflags' дефайн '-DUSE_NLCAT'.
Вопрос можно закрывать.

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