Статус: Участник
Группы: Участники
Зарегистрирован: 16.03.2017(UTC) Сообщений: 10
|
В Linux x64 константа NTE_BAD_SIGNATURE имеет значение 18446744071562661895 (FFFFFFFF80091007), в то время как в Linux x32 и Windows данная константа имеет значение 2148077575 (80091007). С остальными константами из CSP_WinError.h наблюдается такая же проблема.
Используется КриптоПро версии: CSP (Type:75) v3.9.8010 KC1 Release Ver:3.9.8495
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 21.11.2010(UTC) Сообщений: 1,042
Сказал(а) «Спасибо»: 7 раз Поблагодарили: 141 раз в 127 постах
|
0x8... - отрицательное (знаковое) 32-разрядное целое. 0xF... - знаковое расширение с 32 до 64 разрядов. С чего вдруг они стали разными, если, конечно, используются корректные типы?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.03.2017(UTC) Сообщений: 10
|
Запрашиваю код ошибки с помощью GetLastError() из CSP_WinDef.h, в ответ получаю число 18446744071562661895 (0xFFFFFFFF80091007), которое уж никак не равно константе NTE_BAD_SIGNATURE (2148077575 или 0x80091007).
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.03.2017(UTC) Сообщений: 10
|
Так никто и не ответит? Код:
unsigned long capi_error = GetLastError(); // здесь получаю 2148073478, что соответствует NTE_BAD_SIGNATURE
unsigned long capi_error1 = NTE_BAD_SIGNATURE; // 18446744071562657798
if (capi_error1 == capi_error) // соотвественно if не срабатывает
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 21.11.2010(UTC) Сообщений: 1,042
Сказал(а) «Спасибо»: 7 раз Поблагодарили: 141 раз в 127 постах
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,377 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 32 раз Поблагодарили: 706 раз в 614 постах
|
У нас в провайдере GetLastError везде определен как DWORD, который на самом деле unsigned int на Linux, поскольку long часто 64-битный. typedef unsigned int DWORD; |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close