ivan.novikov написал:
Если Вы знаете какие-лиюо средства для отладки вызовов функций CryptoAPI - сообщите, воспользуемся, ответим.
Собственно включить протоколирование криптографических функций в "КриптоПро CSP". Хотя есть и специальные утилиты для CryptoAPI.
Обязательно надо посмотреть, что оно там вызывает и как.
Для смарт-карт (и PCSC токенов) Microsoft в
"The Smart Card Cryptographic Service Provider Cookbook" и
"Windows Vista Smart Card Infrastructure". Определяет поведение CSP для контейнеров по умолчанию, вроде бы все сборки "КриптоПро CSP" его поддерживают.
Однако в Вашем случае, если Вам надо, что бы CSP открывал контейнер по умолчанию, то требуется [IMHO]:
1. Обратить внимание, что у MS нет API для управления контейнерами по умолчанию, ни в системе, ни на конкретной смарт-карте, т.е. приготовится к процессу решения различных проблем;
2. Вы должны использовать только смарт-карты (или токены), дискеты, USB флэшки, реестр и т.п. не обязаны так функционировать;
3. В контейнере должен быть установлен сертификат, и этот сертификат должен иметь Extended Key Usage (EKU) "Smart card Logon";
4. Если Вы вызываете *AcquireContext() с именем контейнера NULL (без имени считывателя), то к системе (к провайдеру), в этот момент, должен быть подключен только один считыватель (т.е. ни каких реестров и т.п.);
6. На смарт-карте (токене), то же желательно иметь только один контейнер;
7. В CSP 3.6 поддерживается нестандартный SetProvParam(PP_CONTAINER_DEFAULT), если Вы будуте его использовать в процессе выпуска контейнеров (смарт-карт, токенов), поведение должно стать более-менее предсказуемым;
8. Контейнерами "по умолчанию" ведает модуль подключения к смарт-карте (к токену), если возникают проблемы функционирования контейнера "по умолчанию", то разумно привлекать разработчиков модуля. В данном случае это Аладдин.
Отредактировано пользователем 29 января 2009 г. 1:54:42(UTC)
| Причина: Не указана