Статус: Участник
Группы: Участники
Зарегистрирован: 04.06.2013(UTC) Сообщений: 12  Откуда: Казань
|
Строкнулись с непонятной проблемой в следующем коде ( http://pastebin.com/GWt7gu5V): Цитата: #include <CSP_WinDef.h> #include <CSP_WinCrypt.h> #include <stdio.h> #include <stdlib.h>
int main() { char *name = "pages.decoded"; FILE *fp = fopen(name, "r");
fseek(fp, 0L, SEEK_END); int filesize = ftell(fp); rewind(fp);
char *buffer = malloc(filesize); fread(buffer, filesize, 1, fp);
fclose(fp);
DWORD size = 0; if (!CryptDecodeObject(X509_ASN_ENCODING, X509_SEQUENCE_OF_ANY, buffer, filesize, 0, NULL, &size)) { printf("Error: 0x%x\n", GetLastError()); } else { printf("Size: %d\n", size); } }
Файл, который тут используется, так же прикладываю: http://yadi.sk/d/EC4cA7-d5_WoSСтранность вот в чём: CryptDecodeObject выдаёт ноль (ошибка, судя по http://msdn.microsoft.com/en-us/library/windows/desktop/aa379911(v=vs.85).aspx), а GetLastError тоже выдаёт ноль, т.е. не показывает в чём же ошибка! На Винде этот же код работает, на Линуксе — нет. На всякий случай, вот строка компиляции: Цитата:gcc -L/opt/cprocsp/lib/ia32 -lcapi20 -I/opt/cprocsp/include/cpcsp test.c Кто-нибудь сталкивался с таким странным поведением? Что происходит?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
guiDumpASN-ng выдает: Цитата: . OBJECT IDENTIFIER '2 25' : . . . . . . . . Error: OID has invalid encoding. |
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 04.06.2013(UTC) Сообщений: 12  Откуда: Казань
|
Автор: Андрей *  guiDumpASN-ng выдает: Цитата: . OBJECT IDENTIFIER '2 25' : . . . . . . . . Error: OID has invalid encoding. К сожалению, дело не в этом, вот другая подпись, без этого поля: http://yadi.sk/d/4wp5PZRk5_njc, результат тот же.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Кстати, если сертификат проверить в утилите для проверки квалифицированных сертификатов: "Поле "Issuer" описывает юридическое лицо и не содержит атрибут ОГРН.". "Сертификат содержит поле Subject записанное в неправильном формате.". |
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 04.06.2013(UTC) Сообщений: 12  Откуда: Казань
|
Спасибо, но не думаю, что это в данном случае какое-то значение может иметь!
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close