Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.02.2008(UTC) Сообщений: 1,491 Откуда: Крипто-Про
Поблагодарили: 40 раз в 37 постах
|
Нужно чтобы имя секции совпадало с префиксом имени фукнции mskey_media_get_handle
То есть, mskey_media_get_handle будет работать со считывателем MSKEY, а с MSKEYS и MSKEYD -- нет. Интересно, вызвается ли mskey_media_get_handle при попытки настройки носителя. |
Татьяна ООО Крипто-Про |
 1 пользователь поблагодарил Татьяна за этот пост.
|
al оставлено 15.10.2013(UTC)
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.06.2013(UTC) Сообщений: 83  Откуда: Москва Сказал(а) «Спасибо»: 16 раз Поблагодарили: 1 раз в 1 постах
|
Пересобрал библиотеку с выводом отладочной информации в файл. Пересчитал и перепрописал хеш либы. Перегрузил машину. Хеш при загрузке проверился (во время работы /etc/init.d/cprocsp). Пытаюсь добавить носитель: cpconfig -hardware media -add <Имя секции> -name <Параметр Name внутри секции>:
root@debian:# cpconfig -hardware media -add MSKEY -name MSkey Adding new media: Nick name: MSKEY Name device: MSkey Failed, code:0x1008 Error code:4104, Connection error.
В логе ничего не появляется. Т.е. mskey_media_get_handle не вызывается...
Татьяна, я наверное у Вас уже много времени оторвал. Вы уж простите. Вы меня пока бросьте - я сейчас возьму тайм-аут на денек, перечитаю reader_3_6.chm. Но если появятся идеи, пишите - буду очень признателен.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.02.2008(UTC) Сообщений: 1,491 Откуда: Крипто-Про
Поблагодарили: 40 раз в 37 постах
|
а в системных логах (/var/log/messages или /var/log/auth) есть какие-то ошибки? пришлите библиотеку посмотреть на kondakova at cryptopro.ru |
Татьяна ООО Крипто-Про |
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.06.2013(UTC) Сообщений: 83  Откуда: Москва Сказал(а) «Спасибо»: 16 раз Поблагодарили: 1 раз в 1 постах
|
Татьяна, если речь об исходниках, то я должен спросить согласия руководства.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.06.2013(UTC) Сообщений: 83  Откуда: Москва Сказал(а) «Спасибо»: 16 раз Поблагодарили: 1 раз в 1 постах
|
А в логах, действительно есть ошибки (в /var/log/auth):
Oct 15 18:18:21 debian2 cprdr[4612]: sup_lib 18:18:21.131780 support_n_dlopen:45 p:4612 t:0x0x402d60 Error: EINTR/-1 retry exceeded by support_n_dlopen(), retry=20 errno = Неизвестная ошибка 18446744073709551615(-1) Oct 15 18:18:21 debian2 cprdr[4612]: sup_lib 18:18:21.131794 support_load_dll:217 p:4612 t:0x0x402d60 support_load_dll(): dlerror() = /opt/cprocsp/lib/amd64/librdrmskey.so: undefined symbol: mskey_info_version O
в /var/log/messages ошибок нет.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.02.2008(UTC) Сообщений: 1,491 Откуда: Крипто-Про
Поблагодарили: 40 раз в 37 постах
|
Нет, не об исходниках, о готовой библиотеке. Я как раз просила её чтобы проверить что в библиотеке нет undefined символов и её можно загрузить с помощью dlopen. Как видно из логов -- нельзя.
Чтобы наш провайдер мог работать с библиотекой, с ней должен работать Вызов dlopen и вызов dlsym на фукнцию mskey_media_get_handle. Это стандартные для unix способы загрузить библиотеку и получить адрес функции из этой библиотеки. |
Татьяна ООО Крипто-Про |
 1 пользователь поблагодарил Татьяна за этот пост.
|
al оставлено 16.10.2013(UTC)
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.06.2013(UTC) Сообщений: 83  Откуда: Москва Сказал(а) «Спасибо»: 16 раз Поблагодарили: 1 раз в 1 постах
|
Татьяна, спасибо за дельные советы. Я как-то сам не подумал взглянуть на системные логи (голова уже не варит...). Библиотеу выслал. Сам тоже сделаю тестовую програмку, где попробую загрузить библиотеку. Спасибо за помощь.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.06.2013(UTC) Сообщений: 83  Откуда: Москва Сказал(а) «Спасибо»: 16 раз Поблагодарили: 1 раз в 1 постах
|
да, вот, сделал: Цитата: #include <stdio.h> #include <dlfcn.h> int main(){ void * dl; void (*fn)(void); char * err; dl= dlopen("/opt/cprocsp/lib/amd64/librdrmskey.so.3.6.1",RTLD_LAZY); if(!dl){ printf("dlopen() error: %s\n", dlerror()); return 1; } fn = dlsym(dl, "mskey_media_get_handle"); if ((err = dlerror()) != NULL){ printf("%s\n", err); return 1; } dlclose(dl); printf("ok\n"); return 0; }
user@debian:~$ gcc a.c -o a.exe -ldl Вы совершенно правы - библиотека не грузится: Цитата: user@debian:~$ ./a.exe dlopen() error: /opt/cprocsp/lib/amd64/librdrmskey.so.3.6.1: undefined symbol: mskey_info_version
Еще раз спасибо! Буду разбираться... Отредактировано пользователем 15 октября 2013 г. 18:59:50(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.06.2013(UTC) Сообщений: 83  Откуда: Москва Сказал(а) «Спасибо»: 16 раз Поблагодарили: 1 раз в 1 постах
|
Татьяна, спасибо большое! Ошибки исправил - всё заработало. Библиотека загрузилась:
сpconfig -hardware media -view Nick name: TRUSTD Connect name: Media name: Magistra Debug
Nick name: TRUSTS Connect name: Media name: Magistra SocCard
Nick name: TRUST Connect name: Media name: Magistra
Nick name: OSCAR2 Connect name: KChannel Media name: �����
Nick name: OSCAR2 Connect name: CSP Media name: ����� CSP 2.0
Nick name: OSCAR Connect name: Media name: ����
Nick name: MSKEY Connect name: Media name: MSkey
Ключевой носитель опознается:
csptest -enum -info -type PP_ENUMREADERS -flags 32 CSP (Type:75) v3.6.5364 KC1 Release Ver:3.6.7491 OS:Linux CPU:AMD64 FastCode:READY:AVX. CryptAcquireContext succeeded.HCRYPTPROV: 36298643 GetProvParam(...PP_ENUMREADERS...) until it returns false Flags: 0x20 Len Byte NickName/Name/Media ___________________________________ 0x012a 0x72 OMNIKEY CardMan 3x21 00 00 All PC/SC readers MSkey_741ABCB2 0x012a 0x58 FLASH FLASH NO_MEDIA 0x012a 0x18 HDIMAGE ��������� ������� �� ������� ���� NO_UNIQUE Cycle exit when getting data. 3 items found. Level completed without error. Total: [ErrorCode: 0x00000000]
Всё тесты прошли (генерация пары, установка сертификата на носитель, формирование/проверка подписи, зашифрование/расшифрование). Теперь-то уж точно вопрос можно закрывать!
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.02.2008(UTC) Сообщений: 1,491 Откуда: Крипто-Про
Поблагодарили: 40 раз в 37 постах
|
|
Татьяна ООО Крипто-Про |
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close