Статус: Новичок
Группы: Участники
Зарегистрирован: 06.10.2009(UTC) Сообщений: 6 Откуда: Москва
|
Стоит задача хранить в контейнере собственные бинарные данные, чтобы можно было получить к ним доступ без ввода пина на контейнер. Если я правильно понимаю, то нужно воспользоваться CPSetProvParam(PP_CONTAINER_EXTENSION). Код Код:CERT_EXTENSION extension;
extension.pszObjId = szOID_CERT_EXTENSIONS;
extension.fCritical = FALSE;
extension.Value.pbData = <собственные бинарные данные>;
extension.Value.cbData = <длина бинарных данных>;
CPSetProvParam(hProv, PP_CONTAINER_EXTENSION, (BYTE*)&extension, 0);
завершается без ошибки. Если написать extension.fCritical = TRUE, то с ошибкой NTE_FAIL. Добавленные данные (в случае fCritical = FALSE) зачитываются так: Код:DWORD size = 0, flags = CRYPT_FIRST;
if (CPGetProvParam(hProv, PP_ENUM_CONTAINER_EXTENSION, NULL, &size, CRYPT_FIRST)) {
DWORD sz = size;
CK_BYTE_PTR buff = MALLOC(sz);
while (CPGetProvParam(hProv, PP_ENUM_CONTAINER_EXTENSION, buff, &size, flags)) {
CERT_EXTENSION* extension = (CERT_EXTENSION*)buff;
//обработка
size = sz;
flags = 0;
}
FREE(buff, 0);
}
Управление доходит до //обработка, но в extension лежит что-то нехорошее, в частности, extension->pszObjId = NULL Вопрос: можно ли вообще хранить в контейнере произвольные данные? Если подход правильный, где ошибка?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Ошибка в чтении данных. Цитата:PP_ENUM_CONTAINER_EXTENSION Имя одного из расширений ключевого контейнера, возвращаемое в форме структуры CONTAINER_EXTENSION строки. Прикладные программы могут вызывать функцию с данным параметром последоватьльно для перечисления всех расширений ключевого контейнера. Эта функция не является многопоточной, и поэтому при использовании ее в многопоточном контексте есть вероятность, что не все поддерживаемые считыватели будут перечислены. Структура CONTAINER_EXTENSION описана в wincryptex.h. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 06.10.2009(UTC) Сообщений: 6 Откуда: Москва
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close