Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.07.2013(UTC) Сообщений: 42  Откуда: Нижний Новгород Сказал(а) «Спасибо»: 2 раз
|
Добрый вечер, возник вопрос по универсальной электронной карте, надеюсь на Вашу помощь.
Какие дополнительные действия/настройки нужно сделать, чтобы можно было обнаружить контейнер (с ключом для ЭП) на УЭК? Мое приложение успешно находит контейнеры на "Магистре" и "Джакарте", с УЭК что-то не получается.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.02.2008(UTC) Сообщений: 1,491 Откуда: Крипто-Про
Поблагодарили: 40 раз в 37 постах
|
Если речь идёт о CSP 3.6 R4, то надо в панели крипто про выбрать провайдер по умолчанию ФКН либо программно при работе указывать имя провайдера с поддержкой ФКН. |
Татьяна ООО Крипто-Про |
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.07.2013(UTC) Сообщений: 42  Откуда: Нижний Новгород Сказал(а) «Спасибо»: 2 раз
|
Татьяна, спасибо за ответ. Да, фреймворк КриптоПРО 3.6 R4. Установил программно провайдер CP_KC1_GR3410_2001_UECFK_PROV - стали определяться УЭК и контейнеры на ней.
При попытке открытия контейнера при помощи функции CryptAcquireContext(&hCryptProv, container, CP_KC1_GR3410_2001_UECFK_PROV, PROV_GOST_2001_DH, 0) происходит ошибка - 8009001d (NTE_PROVIDER_DLL_FAIL). В консоли: May 27 10:59:10 IPhone4-Roman cpcsp[1261] <Error>: capi20: 0x3a1d518c: :344 CryptGetProviderDll () DLL not specified!
В чем проблема? Фреймворк не может найти библиотеку для УЭК криптопровайдера?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.02.2008(UTC) Сообщений: 1,491 Откуда: Крипто-Про
Поблагодарили: 40 раз в 37 постах
|
похоже на проблему с видимостью одного из символов
CPFKC_GetFunctionTable CPCSP_GetFunctionTable
или конфигом. В настройках проекта не включен dead code stripping?
Что в конфиге в разделе [Defaults\Provider\"Crypto-Pro GOST R 34.10-2001 FKC CSP"] и [apppath] ? |
Татьяна ООО Крипто-Про |
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.07.2013(UTC) Сообщений: 42  Откуда: Нижний Новгород Сказал(а) «Спасибо»: 2 раз
|
В настройках проекта Dead Code Stripping - отключен.
Из конфига: [Defaults\Provider\"Crypto-Pro GOST R 34.10-2001 FKC CSP"] "Image Path" = "dummy.so" "Function Table Name" = "CPFKC_GetFunctionTable" "Base Function Table Name" = "CPCSP_GetFunctionTable" Type = 75 "Base CP Module Name" = "dummy.so"
[apppath] "dummy.so" = "dummy.so" "librdrrndm.so" = "dummy.so" "librdrrdr.so" = "dummy.so" "libcsp.so" = "dummy.so" "librdrcpet.so" = "dummy.so" "librdrrtsupcp.so" = "librdrrtsupcp.so" "librdrpcsc.so" = "librdrpcsc.so"
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.02.2008(UTC) Сообщений: 1,491 Откуда: Крипто-Про
Поблагодарили: 40 раз в 37 постах
|
CP_KC1_GR3410_2001_UECFK_PROV определен в WinCryptEx.h так:
#ifdef _WIN32 ... # define CP_KC1_GR3410_2001_UECFK_PROV_A "CryptoPro GOST R 34.10-2001 UEC CSP" # define CP_KC1_GR3410_2001_UECFK_PROV_W L"CryptoPro GOST R 34.10-2001 UEC CSP" #else ... # define CP_KC1_GR3410_2001_UECFK_PROV_A "Crypto-Pro GOST R 34.10-2001 FKC CSP" # define CP_KC1_GR3410_2001_UECFK_PROV_W L"Crypto-Pro GOST R 34.10-2001 FKC CSP" #endif
у вас этот файл включен через import <CPROCSP/CPROCSP.h> или напрямую? Имя точно разрешается правильно? попробуйте явно указать "Crypto-Pro GOST R 34.10-2001 FKC CSP" |
Татьяна ООО Крипто-Про |
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.07.2013(UTC) Сообщений: 42  Откуда: Нижний Новгород Сказал(а) «Спасибо»: 2 раз
|
Файлы фреймворка включены в проект при помощи #import <CPROCSP/CPROCSP.h>. Попробовал указать имя провайдера явно в CryptAcquireContext - не помогает. На всякий случай еще распечатал имя провайдера через CryptGetProvParam(_hCryptProv, PP_NAME,..) - выдает верный результат - "Crypto-Pro GOST R 34.10-2001 FKC CSP".
Вдруг это полезная информация - CryptAcquireContext с опцией CRYPT_VERIFYCONTEXT работает нормально.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.02.2008(UTC) Сообщений: 1,491 Откуда: Крипто-Про
Поблагодарили: 40 раз в 37 постах
|
а в логах еще что-то есть? |
Татьяна ООО Крипто-Про |
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 10.07.2013(UTC) Сообщений: 42  Откуда: Нижний Новгород Сказал(а) «Спасибо»: 2 раз
|
Ошибка при старте приложения: May 27 15:56:32 ORPOiPad cpcspfkc[621] <Error>: sup_lib 15:56:32.296354 support_n_dlopen:45 p:621 t:0x0x3b865964 support_n_dlopen(cpuifkc.dll, 6) = 0x0 fail No such file or directory(2) Ошибка при обращении к CryptAcquireContext: May 27 14:14:14 ORPOiPad cpcsp[162] <Error>: capi20: 0x3d3f0b88: :344 CryptGetProviderDll () DLL not specified! еще очень много вот таких ошибок: May 27 14:14:10 ORPOiPad cpcsp[162] <Error>: sup_lib 14:14:10.976244 support_n_dlopen:45 p:162 t:0x0x3b865964 support_n_dlopen(dummy.so, 6) = 0x0 fail No such file or directory(2) May 27 14:14:10 ORPOiPad cpcsp[162] <Error>: sup_lib 14:14:10.982380 support_n_dlopen:45 p:162 t:0x0x3b865964 support_n_dlopen(libcpcvcert.so, 6) = 0x0 fail No such file or directory(2) Отредактировано пользователем 27 мая 2014 г. 16:01:35(UTC)
| Причина: добавил часть лога об ошибке с загрузкой cpuifkc.dll библиотеки
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 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