Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,070   Сказал «Спасибо»: 612 раз Поблагодарили: 2370 раз в 1865 постах
|
Автор: Юрий  Автор: Андрей *  Автор: Юрий  Автор: Андрей *  Автор: Юрий  Интерактивный выбор между AT_SIGNATURE и AT_KEYEXCHANGE пусть делают конечные пользователи .. Файлы по ссылке обновил. Все равно... "никак", что на КриптоПРО CSP, что на ViPNet CSP... выдает ошибку. Значит ключа нет. Контейнер есть, ключа нет. AT_KEYEXCHANGE нет?
Проверка завершена успешно ошибок не обнаружено Контейнер закрытого ключа имя 3c00b08a-7e71-4aee-afcd-07c88a984680 уникальное имя REGISTRY\\3c00b08a-7e71-4aee-afcd-07c88a984680 FQCN \\.\REGISTRY\3c00b08a-7e71-4aee-afcd-07c88a984680 проверка целостности контейнера успешно Ключ обмена доступен экспорт открытого ключа успешно импорт открытого ключа успешно подпись успешно проверка успешно создание ключа обмена успешно экспорт ключа разрешен алгоритм ГОСТ Р 34.10-2001 DH ГОСТ Р 34.10-2001, параметры обмена по умолчанию ГОСТ Р 34.11-94, параметры по умолчанию сертификат в контейнере соответствует закрытому ключу сертификат в хранилище My OID.1.2.840.113549.1.9.2="КПП=987654321", ИНН=1234567809, C=RU, L=Тольятти, S=63 Самарская область, E=support@cryptex.pro, O=ООО «Тестер 1», OU=ИТ, T=Тестировщик, CN=Иванов Петр Сергеевич 3c00b08a-7e71-4aee-afcd-07c88a984680; Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider; 75 имя сертификата Иванов Петр Сергеевич субъект OID.1.2.840.113549.1.9.2="КПП=987654321", ИНН=1234567809, C=RU, L=Тольятти, S=63 Самарская область, E=support@cryptex.pro, O=ООО «Тестер 1», OU=ИТ, T=Тестировщик, CN=Иванов Петр Сергеевич поставщик C=RU, L=Самара, S=63 Самарская область, E=ca@cryptex.pro, O=ООО «Криптэкс», OU=Удостоверяющий и ключевой центр, CN=CRYPTEX TEST CA действителен с 12 апреля 2013 г. 8:16:00 действителен по 12 апреля 2014 г. 8:16:00 серийный номер 01CE 3756 0E56 AE80 0000 000D 1AA2 0002 Ключ подписи отсутствует загрузка ключей успешно
Ну вот как мне отвечать, когда за получение ключей отвечает вот такой код? Код: if( !CryptGetUserKey( hProv, AT_SIGNATURE, &hKey ) )
{
if( !CryptGetUserKey( hProv, AT_KEYEXCHANGE, &hKey ) )
{
Error( L"CryptGetUserKey" );
CryptReleaseContext(hProv,0);
return;
}
}
Наверное в том контейнере какой-то третий тип ключей :) Запросил тип... AT_KEYEXCHANGE=1 KeySpec=1 KeySpec=AT_KEYEXCHANGE
2013-08-11 15:57:16:634 @SignFile Криптопровайдер:Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider 2013-08-11 15:57:16:634 @SignFile dwProvType:75 2013-08-11 15:57:16:634 @SignFile dwFlags:0 2013-08-11 15:57:16:634 @SignFile cProvParam:0 2013-08-11 15:57:16:634 @SignFile dwKeySpec:1 2013-08-11 15:57:16:634 @SignFile Контейнер:3c00b08a-7e71-4aee-afcd-07c88a984680 2013-08-11 15:57:16:681 @SignFile Серийный номер: 01CE37560E56AE800000000D1AA20002 2013-08-11 15:57:16:681 @SignFile Алгоритм ОК: 1.2.643.2.2.19 2013-08-11 15:57:16:684 @SignFile Алгоритм подписи сертификата: ГОСТ Р 34.11/34.10-2001 OID: 1.2.643.2.2.3 2013-08-11 15:57:16:684 @SignFile Открытый ключ сертификата: ГОСТ Р 34.10-2001 OID: 1.2.643.2.2.19 2013-08-11 15:57:16:684 @SignFile Алгоритм хеширования: 1.2.643.2.2.9
|
|