Статус: Участник
Группы: Участники
Зарегистрирован: 23.08.2018(UTC) Сообщений: 29
Сказал(а) «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
Здравствуйте. Возникла необходимость создания приложения создания/проверки подписи по гост 2012 (криптопро CSP 4.0) на Си. Для этого скачал криптопро ЭЦП SDK 2.0. Подозреваю, что сейчас будет довольно тупой вопрос, но, все же, мне необходима помощь (Си - не мой профиль). Я не нашел информации, какие файлы/каталоги с header-файлами и библиотеками и каких версий необходимо подключить дополнительно при подключении cades.h и cades.lib? Проект создаю в Netbeans, ориентированно на win7 64/32bit и выше Интересует, какие файлы надо подключить для устранения ошибок " error: unknown type name '__reserved'" и " error: unknown type name '__in'"? В файле cades.h (последней версии) нашел следующие строки: Код:
#if defined _WIN32
# include <windows.h>
# include <wincrypt.h>
# include <prsht.h>
#else
# include "CSP_WinCrypt.h"
# include "CSP_WinDef.h"
# include "CSP_WinError.h"
#ifndef __in
# define __in
#endif
#ifndef __in_opt
# define __in_opt
#endif
#ifndef __out
# define __out
#endif
#ifndef __out_opt
# define __out_opt
#endif
#ifndef __reserved
# define __reserved
#endif
#endif /* _WIN32 */
Дальше в этом же "cades.h" файле встречаются использования __reserved и __inПравильно ли я понимаю, что в таком случае в проекте для win 32bit данный файл использовать нельзя? В таком случае может есть другие файлы, доступные для подключения, в которых, например, __reserved и __in определены? В интернете и на форуме найдена была инструкция только по подключению непосредственно cades.h и cades.lib без указания списка необходимых дополнительных компонентов.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,399  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 719 раз в 623 постах
|
_WIN32 определён при компилиции для любых версий Windows. И ветка #else - для *nix. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 23.08.2018(UTC) Сообщений: 29
Сказал(а) «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
тогда получается, что для win отрабатывает только Код:
#if defined _WIN32
# include <windows.h>
# include <wincrypt.h>
# include <prsht.h>
хотя должен отрабатываться и этот кусок Код:
#ifndef __in
# define __in
#endif
#ifndef __in_opt
# define __in_opt
#endif
#ifndef __out
# define __out
#endif
#ifndef __out_opt
# define __out_opt
#endif
#ifndef __reserved
# define __reserved
#endif
как я понимаю, данный блок не отрабатывается, из-за того, что следующая строчка стоит в конце блока, а не после Код:# include "CSP_WinError.h"
и получается, что сыпятся ошибки " error: unknown type name '__in'" " error: unknown type name '__reserved'" " error: unknown type name '__in_opt'" и т.д. Или я совсем неверно мыслю и для устранения этих ошибок надо подключить какой-то другой файл?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,399  Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 719 раз в 623 постах
|
По настройке Netbeans не помогу к сожалению. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 23.08.2018(UTC) Сообщений: 29
Сказал(а) «Спасибо»: 9 раз Поблагодарили: 1 раз в 1 постах
|
То есть указанного в руководстве подключения папок include, lib из SDK и "cades.h", "cades.lib" должно быть достаточно? Отредактировано пользователем 17 октября 2018 г. 15:15:13(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.08.2019(UTC) Сообщений: 5
Сказал(а) «Спасибо»: 1 раз
|
Есть решение этой проблемы? Компилятор от Mingw. Какой-то макрос надо подцепить?
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.08.2019(UTC) Сообщений: 5
Сказал(а) «Спасибо»: 1 раз
|
А еще такая ошибка, я так понимаю всё из одного места растет error: 'CadesMsgVerifySignature' cannot be used as a function
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close