Ключевое слово в защите информации
ключевое слово
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Евгений Пономаренко  
#1 Оставлено : 3 мая 2012 г. 19:01:54(UTC)
Евгений Пономаренко

Статус: Активный участник

Группы: Участники
Зарегистрирован: 03.05.2012(UTC)
Сообщений: 176
Откуда: Екатеринбург

Сказал(а) «Спасибо»: 48 раз
Поблагодарили: 23 раз в 19 постах
Доброго времени суток.
Возникла такая проблема-
демон под Linux, какие-то интерактивные действия исключены, нужно автоматически вводить пинкод контейнера.
Код следующий-

CryptAcquireContext(&m_CryptProv, container, NULL, PROV_GOST_2001_DH, CRYPT_SILENT);
CryptGetUserKey(m_CryptProv, AT_KEYEXCHANGE, &m_CryptKey);
....
CryptSetProvParam(m_CryptProv, PP_KEYEXCHANGE_PIN, (BYTE*)pincode, 0);
if(!CryptSetKeyParam(m_CryptKey, KP_CERTIFICATE, m_CertContext->pbCertEncoded, 0))
{
/// report error
}


Все это замечательно работает с контейнерами типа flash и hdimage. Если пин неверный-функция завершает работу, ошибка 0x80090020.
С eToken проблема-при неверно установленном пинкоде CSP пытается запросить пинкод в консоли. При этом программа, разумеется, ждет ввода, диагностики ошибки получить не удается.
Если пин верный-все работает нормально.
Как-то можно это обойти? Если я правильно понимаю, параметр CRYPT_SILENT существует именно для этого.
CentOS 5.8/x86_64, CryptoPro CSP 3.6R2 Linux/x86_64, PKI Client 5.0SP1 Linux/x86_64, поддержка eToken для CryptoPro cprocsp-rdr-etoken_3.6.1-1.0.2-1.x86_64.rpm
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.