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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline xsfera  
#1 Оставлено : 12 декабря 2014 г. 18:48:51(UTC)
xsfera

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

Группы: Участники
Зарегистрирован: 09.07.2014(UTC)
Сообщений: 84
Российская Федерация
Откуда: Тольятти

Сказал(а) «Спасибо»: 1 раз
Добрый день.

Пытаюсь организовать свой запрос пароля к контейнеру.
При вызове все равно выдает запрос на пароль стандартное.

memset(&decryptParams, 0, sizeof(CRYPT_DECRYPT_MESSAGE_PARA));
decryptParams.cbSize = sizeof(CRYPT_DECRYPT_MESSAGE_PARA);
decryptParams.dwMsgAndCertEncodingType = MY_ENCODING_TYPE;
decryptParams.cCertStore = 1;
decryptParams.rghCertStore = &hStoreHandle;
decryptParams.dwFlags =CRYPT_MESSAGE_SILENT_KEYSET_FLAG;

DWORD size;
if(!CryptDecryptMessage(&decryptParams,mem_input,mem_len,mem_output,&size,NULL))

Данный флаг должен работать?

Или каким образом можно его убрать или проверить валидность пароля к контейнеру без стандартного окна CSP?

Пароль устанавливается нормально.
CryptSetProvParam(hProv,PP_KEYEXCHANGE_PIN ,pass,0)
Offline xsfera  
#2 Оставлено : 12 декабря 2014 г. 19:02:59(UTC)
xsfera

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

Группы: Участники
Зарегистрирован: 09.07.2014(UTC)
Сообщений: 84
Российская Федерация
Откуда: Тольятти

Сказал(а) «Спасибо»: 1 раз
if(!CryptAcquireContext(&hCryptProv,0,NULL,PROV_GOST_2001_DH, CRYPT_SILENT))

CRYPT_SILENT соответственно тоже стоит
Offline Максим Коллегин  
#3 Оставлено : 13 декабря 2014 г. 23:27:52(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,377
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 706 раз в 614 постах
а куда вы передаете hCryptProv?
Нужно использовать более низкоуровневое api (cryptmsgopentodecode) или открыть нужный контейнер предварительно и задать пин.
Знания в базе знаний, поддержка в техподдержке
Offline xsfera  
#4 Оставлено : 14 декабря 2014 г. 20:30:04(UTC)
xsfera

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

Группы: Участники
Зарегистрирован: 09.07.2014(UTC)
Сообщений: 84
Российская Федерация
Откуда: Тольятти

Сказал(а) «Спасибо»: 1 раз
Ну да Вы правы, hCryptProv учасвует только в вызове хранилища:
hStoreHandle = CertOpenSystemStore(hCryptProv, "MY");

А флаг CRYPT_MESSAGE_SILENT_KEYSET_FLAG не должна слушать CryptDecryptMessage?
Offline Максим Коллегин  
#5 Оставлено : 15 декабря 2014 г. 0:14:47(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,377
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 706 раз в 614 постах
Должна, но возможно у нас не поддерживается. Разберемся.
Знания в базе знаний, поддержка в техподдержке
Offline XaBbl4  
#6 Оставлено : 17 августа 2017 г. 16:45:38(UTC)
XaBbl4

Статус: Новичок

Группы: Участники
Зарегистрирован: 17.08.2017(UTC)
Сообщений: 1
Российская Федерация

Автор: maxdm Перейти к цитате
или открыть нужный контейнер предварительно и задать пин

Возникла похожая проблема...
Цитата:
HCERTSTORE store = CertOpenStore(CERT_STORE_PROV_SYSTEM_A, 0, 0, CERT_STORE_OPEN_EXISTING_FLAG | CERT_STORE_READONLY_FLAG | CERT_SYSTEM_STORE_CURRENT_USER, "MY");
//...
CRYPT_DECRYPT_MESSAGE_PARA decryptParams;
memset(&decryptParams, 0, sizeof(CRYPT_DECRYPT_MESSAGE_PARA));
decryptParams.cbSize = sizeof(CRYPT_DECRYPT_MESSAGE_PARA);
decryptParams.dwMsgAndCertEncodingType = PKCS_7_ASN_ENCODING | X509_ASN_ENCODING;
decryptParams.cCertStore = 1;
decryptParams.rghCertStore = &store;
decryptParams.dwFlags = CRYPT_MESSAGE_SILENT_KEYSET_FLAG;
// ...
result = CryptDecryptMessage(&decryptParams, cryptData, cryptDataLength, realData, &realDataLength, NULL);

В итоге получаю ошибку 0x8010006B (неверный пин), если убираю флаг:
Цитата:
decryptParams.dwFlags = CRYPT_MESSAGE_SILENT_KEYSET_FLAG;

то происходит запрос пин-кода, ввожу и все нормально, но вопрос, как можно открыть контейнер с предустановленным pin, информации по этому вопросу что-то я не нашел.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.