Статус: Новичок
Группы: Участники
Зарегистрирован: 14.11.2016(UTC) Сообщений: 4
|
Добрый день. Можно ли завернуть КриптоПро CSP 4.0 в VMWare ThinApp? Какая цель? - По сути хочется создать одну большую DLL-ку для "Онлайн-Спринтер". Завернул, загрузил корневые сертификаты, загрузил в реестр сертификат ЭЦП и с помощью утилиты csptest попробовал подписать файл (* - замены): Код:D:\bin>csptest.exe -stack 3 -sfsign -sign -detached -add -in 1.txt -out 1.txt.sig -my ******@host11.taxcom.ru
cps_get_p: Max detect stack size=392192(49024)
Stack size limit=392192
#0:
Subject: СНИЛС=***********, ОГРН=*************, ИНН=00**********, E=******@host11.taxcom.ru, C=RU, S=77 г. Москва, L=г.Москва, O="ООО ""*******""", CN="ООО ""*******""", STREET="******************, д.***, к.**, ,", T=генеральный директор, G=Олег Геннадьевич, SN=*********
Valid : 16.09.2016 13:33:00 - 16.09.2017 13:38:00 (UTC)
Issuer : ОГРН=1045002007984, ИНН=005009046312, STREET=ул. Минская д. 1Г корп. 1, E=uc@technokad.ru, C=RU, S=77 г.Москва, L=Москва, O=ООО ТехноКад, OU=Удостоверяющий центр, CN=CA TechnoKad
A CSP has been acquired.
Source message length: 8
An error occurred in running the program.
signtsf.c:591:Signature creation error
Error number 0xc0000225 (-1073741275).
====
FFFFFFFFFFFFFFFE 4216BCA74216BCA7 0000000000000000 000000007ED7F38A
4216BCA74216BCA7 0000000000000000 0000000000125238 4216BCA74216BCA7
Top = 43106, &p[i] = 0000000000123D90
Stack size=47344
printf size=2232
malloc/free size=856
fopen/fclose size=10224
Total: SYS: 0,266 sec USR: 0,250 sec UTC: 0,703 sec
[ErrorCode: 0xc0000225]
Запустил встроенный API-снифер. Кусок лога, где происходит ошибка: Большой кусок лога:
Здесь был более полный лог, но форум сказал, что сообщение слишком большое, так что выложу полный лог по запросу
Функции, заканчивающиеся на "+" перехватываются внутренним виртуальным окружением. Самое важное в логе: Код:GetProcAddress+ ->*=*7ECCF6E1h (HMODULE hModule=7fefd090000h, struct {LPCSTR lpProcName=*7FEFDA83902h->"BCryptOpenAlgorithmProvider")
BCryptOpenAlgorithmProvider (*phAlgorithm=*2C2C10h->*0h<null pointer> <bad ptr>, LPCWSTR pszAlgId=*2669D0h->L"GOST R 34.11-94", LPCWSTR pszImplementation=*0h<null pointer> <bad ptr>, ULONG dwFlags=0h)
NtDeviceIoControlFile (HANDLE =3cch, HANDLE =0h, PIO_APC_ROUTINE =*0h<null pointer> <bad ptr>, PVOID =*0h<null pointer> <bad ptr>, *=*12EAF0h->struct {ULONG_PTR Information=1h}, ULONG =390402h, PVOID =*12EC40h, ULONG =50h, PVOID =*12EB00h, ULONG =8h)
NtDeviceIoControlFile ->long=80000005h (HANDLE =3cch, HANDLE =0h, PIO_APC_ROUTINE =*0h<null pointer> <bad ptr>, PVOID =*0h<null pointer> <bad ptr>, *=*12EAF0h->struct {ULONG_PTR Information=80000005h}, ULONG =390402h, PVOID =*12EC40h, ULONG =50h, PVOID =*12EB00h, ULONG =8h)
BCryptOpenAlgorithmProvider ->long=C0000225h (*phAlgorithm=*2C2C10h->*0h<null pointer> <bad ptr>, LPCWSTR pszAlgId=*2669D0h->L"GOST R 34.11-94", LPCWSTR pszImplementation=*0h<null pointer> <bad ptr>, ULONG dwFlags=0h)
GetProcAddress+ (HMODULE hModule=7fefcf10000h, struct {LPCSTR lpProcName=*7FEFDA834EAh->"CryptReleaseContext")
Из функции "BCryptOpenAlgorithmProvider" выполняется вызов функции "NtDeviceIoControlFile", который завершается статусом "STATUS_BUFFER_OVERFLOW", после чего функция "BCryptOpenAlgorithmProvider" завершается статусом "STATUS_NOT_FOUND". Собственно этот статус виден в выводе утилиты csptest. Из-за чего может возникать подобная ошибка? Отредактировано пользователем 15 ноября 2016 г. 16:35:29(UTC)
| Причина: Не указана
|