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

Уведомление

Icon
Error

5 Страницы<1234>»
Опции
К последнему сообщению К первому непрочитанному
Offline MWB Dmitry  
#11 Оставлено : 13 февраля 2024 г. 16:39:43(UTC)
MWB Dmitry

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.02.2024(UTC)
Сообщений: 73
Российская Федерация

Сказал(а) «Спасибо»: 2 раз
Наткнулись на то же...

Причём программа 32-битная, но тоже Delphi

При этом по требованиям извне - работа с COM-интерфейсом через WSH/JScript

При этом люди смутно помнят, что один и тот же скрипт при запуске через wscript.exe (проверил - тоже x86) отдельным процессом - работает.
Но не при запуске напрямую из Delphi.

Падает на тех методах, с теми же симптомами.

В DBGVIEW при этом одна единственная строка.

Цитата:
[8548] <csp>0x200c:StoreTesterFlags OK: TesterFlags 0x3fffffff (:361)


> в разделе COM+ присутствовал элемент CAPICOM

вот этого нет. Вопрос, как именно вы вышли на проблему и методы решения.

Отредактировано пользователем 13 февраля 2024 г. 18:26:19(UTC)  | Причина: Не указана

Offline MWB Dmitry  
#12 Оставлено : 13 февраля 2024 г. 16:47:23(UTC)
MWB Dmitry

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.02.2024(UTC)
Сообщений: 73
Российская Федерация

Сказал(а) «Спасибо»: 2 раз
Помнится в каких-то немецких драйверах было очень важно, как именно получать "корневой" объект в DLL, через Create OLE Objext или Create ActiveX Server и ещё какой-то третий вариант был.

Потом это кастовалось к нужному интерфейсу - но в реальности только при одном из этих трёх вазовов все работало, а при остальных возвращался какой-то неинициализирвоанный объект с кучей AV на всех свойствах.

Я просто к чему, что - почему jscript работает через wscript.exe но не в своём exe?.. ThreadingModel другой?

Отредактировано пользователем 13 февраля 2024 г. 16:53:26(UTC)  | Причина: Не указана

Offline MWB Dmitry  
#13 Оставлено : 13 февраля 2024 г. 17:05:13(UTC)
MWB Dmitry

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.02.2024(UTC)
Сообщений: 73
Российская Федерация

Сказал(а) «Спасибо»: 2 раз
Цитата:

06eeb7f1bb0055e30f764ba89bc8658f *cadescom_1.dll
b27480bcb8f0295145fd8e36a9f21c57 *cadescom_2.dll
33a7c42b673cdfd56b596e3ccc88efe8 *cadescom.dll
33a7c42b673cdfd56b596e3ccc88efe8 *cadescom_3.dll
ea06c87e483f4a0aac26bbd941f96b9e *cadescom_4.dll
ea06c87e483f4a0aac26bbd941f96b9e *cadescom_5.dll


Цитата:

C:\ProgramData\Crypto Pro\Installer Cache\CADESCOM_CSP_2.0.14990\cadescom\Common64\Crypto Pro\Shared\cadescom.dll
FileVersion : 2.0.12737.0

C:\ProgramData\Crypto Pro\Installer Cache\CADESCOM_CSP_2.0.14990\cadescom\Common\Crypto Pro\Shared\cadescom.dll
FileVersion : 2.0.13809.0

C:\ProgramData\Crypto Pro\Installer Cache\CADESCOM_2.0.14892\cadescom\Common64\Crypto Pro\Shared\cadescom.dll
FileVersion : 2.0.12674.0

C:\ProgramData\Crypto Pro\Installer Cache\CADESCOM_2.0.14892\cadescom\Common\Crypto Pro\Shared\cadescom.dll
FileVersion : 2.0.13738.0

C:\Program Files (x86)\Common Files\Crypto Pro\Shared\cadescom.dll
FileVersion : 2.0.13738.0

C:\Program Files\Common Files\Crypto Pro\Shared\cadescom.dll
on x64 Professional Edition Version 6.2 (build 9200)
FileVersion : 2.0.12674.0
Offline MWB Dmitry  
#14 Оставлено : 13 февраля 2024 г. 17:22:42(UTC)
MWB Dmitry

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.02.2024(UTC)
Сообщений: 73
Российская Федерация

Сказал(а) «Спасибо»: 2 раз
А вот тут возможный сюрприз... На машине оказалось НЕСКОЛЬКО capicom'ов.



Библиотеки CryptoPro не умеют выбирать сертификат из нескольких установленных, поэтому для этого выбора (если серийник не "прибит гвоздиком") надо вызывать функции Майкрософта.

Windows Scripting Host, синтез нескольких примеров и фрагментарной документации.


Я подозревал, что сертификат - мертвый объект, потому что Store освобождён, подобные приколы за майкрософтом водятся, но в примерах везде освобождают коллекции сертификатов до использования...

Security Update KB931906

Отредактировано пользователем 13 февраля 2024 г. 17:43:12(UTC)  | Причина: Не указана

Offline MWB Dmitry  
#15 Оставлено : 13 февраля 2024 г. 17:41:31(UTC)
MWB Dmitry

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.02.2024(UTC)
Сообщений: 73
Российская Федерация

Сказал(а) «Спасибо»: 2 раз
Цитата:

C:\Program Files (x86)\Common Files\Microsoft Shared\CAPICOM\capicom.dll
FileVersion : 2, 1, 0, 3
SpecialBuild : VERSION_INFO fixed by CryptoPro
C:\Program Files\Common Files\microsoft shared\CAPICOM\CapiCom.dll
FileVersion : 2, 1, 0, 1


Умилительно, что в реестре везде "C:\Program Files\Common Files\microsoft shared\CAPICOM\CapiCom.dll", что вкупе с виртуализацией файловой системы для 32-битных программ... интересно... Пахнет DLL Hell

C:\Program Files (x86)\Common Files\Microsoft Shared\CAPICOM\capicom.dll

Цитата:

HKEY_CLASSES_ROOT\TypeLib\{BD26B198-EE42-4725-9B23-AFA912434229}\2.1\0\win32
. C:\Program Files (x86)\Common Files\Microsoft Shared\CAPICOM\capicom.dll
HKEY_CLASSES_ROOT\TypeLib\{BD26B198-EE42-4725-9B23-AFA912434229}\2.1\0\win64
. C:\Program Files\Common Files\Crypto Pro\Shared\capicom.tlb
Offline Андрей *  
#16 Оставлено : 13 февраля 2024 г. 17:47:23(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,278
Мужчина
Российская Федерация

Сказал «Спасибо»: 548 раз
Поблагодарили: 2196 раз в 1714 постах
Какая версия cadescom?
Пробовали установить в среду, сгенерировать pas tlb, невизульными компонентами проверить работу?
Техническую поддержку оказываем тут
Наша база знаний
Offline MWB Dmitry  
#17 Оставлено : 13 февраля 2024 г. 18:16:11(UTC)
MWB Dmitry

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.02.2024(UTC)
Сообщений: 73
Российская Федерация

Сказал(а) «Спасибо»: 2 раз
30 января (уходил в отпуск) скачал всё, что мог.

eba68d11755adbbf2b2e8283af675286 cadessdk.msi
2ea08e21eb13d1cd82df48079a3c5c7a cadesplugin_api.js.zip
10d9c95374e5f1cb0f62fb10192df0bd cadesplugin.exe

Начал с SDK, потом из него.

d:\Program Files (x86)\Crypto Pro\SDK\bin\cades-win32.msi
d:\Program Files (x86)\Crypto Pro\SDK\bin\cades-x64.msi
d:\Program Files (x86)\Crypto Pro\SDK\bin\cadescom-win32.msi
d:\Program Files (x86)\Crypto Pro\SDK\bin\cadescom-x64.msi

потом

cadesplugin.exe
CryptoPro-5.0.12997.exe

(для меня сюрпризом было, что SDK не поставило рантаймы)

а поставив рантаймы оно НЕ ПЕРЕЗАГРУЗИЛО компьютер, и не сказало что обязательно для минимального функционала, я часа 3 мучался с ошибкой, которой даже в гугле нигде нет... В системе не было случайных чисел, никаких, и куда рыть было совсем не ясно



но на компе могло остаться много чего старого.
тот же microsoft KB для 2.1.0.2 - я его сейчас снёс и пытаюсь "нащупать" что поставить, чтобы было самое последнее

так что у меня сейчас нестабильнная ситуация, work in progress



...но я все равно думаю, что у вас неправильные примеры, которые работают только в 64-битах, а в 32 - не должны. (если я прав - лобиджно, я тогда с удивлением глядел, как это может работать? но поверил на слово)

вы запускаете выбор сертификата (store.certificates.select) из МАЙКРОСОФТОВСКОЙ библиотеки, получаете объект сертификата МАЙКРОСОФТОВСКИЙ, потом передаёте его вашему подписальщику - и как он должен его кастануть к вашим кастомным интерфейсам, которых в windows нет и не было?..

Отредактировано пользователем 13 февраля 2024 г. 18:17:33(UTC)  | Причина: Не указана

Offline MWB Dmitry  
#18 Оставлено : 13 февраля 2024 г. 18:19:48(UTC)
MWB Dmitry

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.02.2024(UTC)
Сообщений: 73
Российская Федерация

Сказал(а) «Спасибо»: 2 раз
Автор: Андрей * Перейти к цитате
Пробовали установить в среду, сгенерировать pas tlb,


требование сверху - так не делать, и делать все на WSH, "не в ядре, а в конфигурации"

чисто для теста... может завтра сделаю, времени нет сейчас совсем

Цитата:
невизульными компонентами проверить работу?


пока все в JScript с запуском внутри своего EXE

следовательно - никакой визуальщины

Offline MWB Dmitry  
#19 Оставлено : 13 февраля 2024 г. 18:21:31(UTC)
MWB Dmitry

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.02.2024(UTC)
Сообщений: 73
Российская Федерация

Сказал(а) «Спасибо»: 2 раз
и OLEview у меня к сожалению только 64-битный

не дай бог окажетсЯ, что ваша TLB разошлась с майкрософтовской, и в 32-битной сборке у вас битый ABI получается...

(я уже всего боюсь :-) )
Offline MWB Dmitry  
#20 Оставлено : 13 февраля 2024 г. 18:25:23(UTC)
MWB Dmitry

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.02.2024(UTC)
Сообщений: 73
Российская Федерация

Сказал(а) «Спасибо»: 2 раз
попытка regsvr32 "от админа"


RegSvr32

Модуль "C:\Program Files (x86)\Common Files\Crypto Pro\Shared\cadescom.dll" загружен, но не удалось выполнить вызов DllRegisterServer, код ошибки: 0x80070716.

Для получения дополнительных сведений об этой ошибке выполните поиск в Интернете, указав код ошибки как аргумент поиска.

ОК


перед этим ваш нестандартный отработал без ошибок

regsvr32 "C:\Program Files (x86)\Common Files\Microsoft Shared\CAPICOM\capicom.dll"

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (7)
5 Страницы<1234>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.