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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline DFooz  
#1 Оставлено : 23 декабря 2013 г. 12:30:44(UTC)
DFooz

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

Группы: Участники
Зарегистрирован: 12.12.2013(UTC)
Сообщений: 2

Здравствуйте.
Вы не подскажете, пожалуйста, как можно добавить значение в список отзыва средствами CryptoAPI? Мой новый список отзыва ссылается на значени из контекста CRL. Соответсвенно, когда я пробую изменить размер своего, из-за того, что это область памяти контекста, он выдаёт ошибку. Как-то можно жто обойти не копируя вручную полностью массивы?
Я пробую через realloc
Код:

void addEntry(PCRL_INFO pInfo)
{
int new_size = pInfo->cCRLEntry + 1;
//в realloc выдаёт exception ERROR
PCRL_ENTRY crl_new = (PCRL_ENTRY) realloc (pInfo->rgCRLEntry, new_size * (CRL_ENTRY) ); 
if (crl_new != NULL)
{
pInfo->rgCRLEntry = crl_new;
}
}

int main()
{
... где-то выше получил контекст CRL...
PCCRL_CONTEXT pCRLContext = getCRLContext();
CRL_INFO crlInfo;
ZeroMemory(&crlInfo, sizeof(crlInfo));
//присваиваем из контекста указатель на список отозванных сертификатов
crlInfo.cCRLEntry = pCRLContext->pCrlInfo->cCRLEntry;
crlInfo.rgCRLEntry = pCRLContext->pCrlInfo->rgCRLEntry;
addEntry(&crlInfo);
}


Если переслать сам контекст, тоже выдаст ошибку:
Код:

addEntry(pCRLContext->pCrlInfo);


Если обойтись без предварительного присваивания из контекста, realloc отработает нормально:
Код:
ZeroMemory(&crlInfo, sizeof(crlInfo));
addEntry(&crlInfo);

Отредактировано пользователем 23 декабря 2013 г. 12:35:09(UTC)  | Причина: Не указана

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