Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.05.2008(UTC) Сообщений: 74 Откуда: Moscow
|
Абсолютно точно выявили следующую проблему в последнией сборке криптопровайдера: При попытке поставить подпись (или просто обратиться к ключевому контейнеру на eToken) пишет сообщение "набор ключей не существует". Через контрольную панель КриптоПро можно открыть контейнер и посмотреть сертификат, импортировать его. Проверяли на WinXP SP2, SP3, eToken RTE 3.66, для уверенности в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\KeyCarriers оставляли только 1 контейнер для eToken. При этом, если откатиться на версию 5066 все работает прекрасно. Но, в этой версии автоматически не импортируется сертификат с токена в реестр ;) Убедительная просьба срочно проверить и выявить ошибку Спасибо за внимание, надеюсь на помощь.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.05.2008(UTC) Сообщений: 74 Откуда: Moscow
|
Очень актуально. Еще раз проверили. Откат на 5066 спасает, но там не работает автоимпорт
|
|
|
|
Статус: Мегазвезда
Группы: Участники
Зарегистрирован: 27.12.2007(UTC) Сообщений: 71 Поблагодарили: 1 раз в 1 постах
|
Какой используется eToken? Что значит "или просто обратиться к ключевому контейнеру на eToken"? Отредактировано пользователем 27 января 2009 г. 14:39:38(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.05.2008(UTC) Сообщений: 74 Откуда: Moscow
|
1. eToken Pro 32K (4.2B) 2. Код:
if(!CryptAcquireContext( &phProv,
NULL,
"Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider",75,
CRYPT_VERIFYCONTEXT
))
{MyHandleError("CryptAcquireContext");
}
while( CryptGetProvParam(phProv, PP_ENUMCONTAINERS, NULL, &size, fParam) )
{
BYTE * ContNameD=(BYTE*)malloc(sizeof(BYTE*)*size);
int len = (int)size;
CryptGetProvParam(phProv, PP_ENUMCONTAINERS, ContNameD, &size, fParam);
ContNameD[len]=0;
fParam = 0;
}
if(!CryptAcquireContext(&phProv,NULL,
"Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider",75,CRYPT_MACHINE_KEYSET))
{MyHandleError("CryptAcquireContext");
}
if(!CryptGetUserKey(phProv,AT_KEYEXCHANGE,&hKey))
{MyHandleError("CryptGetUserKey");
}
if (!CryptGetKeyParam (hKey, KP_CERTIFICATE, NULL,&dwUserCertLength, 0))
{
MyHandleError ("Error during GetKeyParam.\n");
}
pbUserCert = (BYTE*)malloc (dwUserCertLength);
if (pbUserCert == NULL)
{
MyHandleError ("Error during malloc.\n");
}
if (!CryptGetKeyParam (hKey, KP_CERTIFICATE, pbUserCert,&dwUserCertLength, 0))
{
MyHandleError ("Error during GetKeyParam.\n");
}
pUserCert = CertCreateCertificateContext (X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, pbUserCert,dwUserCertLength);
if (pUserCert == NULL)
{
MyHandleError ("Error during CertCreateCertificateContext.\n");
}
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.05.2008(UTC) Сообщений: 74 Откуда: Moscow
|
Если нужно - можем образы VirualBox предоставить, VMWare не пользуемся.
|
|
|
|
Статус: Мегазвезда
Группы: Участники
Зарегистрирован: 27.12.2007(UTC) Сообщений: 71 Поблагодарили: 1 раз в 1 постах
|
Что-то я вообще не понял смысла этого кода местами. Или это - НАБОР тестов? Что именно не работает-то здесь? У меня, например, получилось подписать данные используя программно-аппаратное окружение, которое вы описали.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.05.2008(UTC) Сообщений: 74 Откуда: Moscow
|
Выложите программу, которой Вы подписали данные. Если у меня не получиться - выложу образ.
|
|
|
|
Статус: Мегазвезда
Группы: Участники
Зарегистрирован: 27.12.2007(UTC) Сообщений: 71 Поблагодарили: 1 раз в 1 постах
|
csptest -lowsign -sign -in c:\1.txt -out c:\2.txt -my Седов Утилита - в папке установки CSP 3.6. Фамилия - это просто подстрока CN сертификата в хранилище "Личные" Отредактировано пользователем 27 января 2009 г. 16:47:53(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.05.2008(UTC) Сообщений: 74 Откуда: Moscow
|
Вашей утилитой открывается. Простой исходник и IBM Lotus Forms Viewer не могут обратиться к контейнеру. Прикрепляю файл, посмотрите, пожалуйста, и на более старой версии результаты сравните. Все заточено под указание 1 контейнера в реестре. Файл реестра там же в архиве Исходник импортирует сертификат с токена в реестр. Отредактировано пользователем 27 января 2009 г. 19:17:41(UTC)
| Причина: Не указана Вложение(я): Import.zip (29kb) загружен 20 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,391 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 715 раз в 620 постах
|
Код:if(!CryptAcquireContext(&phProv,NULL,
"Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider",75,CRYPT_MACHINE_KEYSET))
{printf("11");goto exit_na;
}
странный кусок кода |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close