Цитата:Документации по модулю php не нашел (только два небольших примера, не по моей теме)
На форуме ветки с похожим вопросом висят без решения - вот и сделал вывод ...
1. Каким боком примеры не "по Вашей теме"? У Вас задача подписание и проверка подписи? В примере подписание и проверка подписи? Отпишите тогда в чем Вы видите отличие и какая специфика Вашей темы.
2. Коллега, в ответе в соседней теме
https://www.cryptopro.ru...&m=129975#post129975 также было Вам отвечено про интерфейс COM ЭЦП SDK, который переделали в phpcades. Там описания свойств, методов и прочего. Все достаточно подробно и с примерами. Вам действительно так сложно в тех примерах сделать синтаксис php: дописать знаки доллара перед переменными и заменить точки при обращении к свойствам на "->", перед константами уточнить что они из phpcades? Это достаточно рутинная работа, но ничего суперсложного, чтобы потребовалось вести за ручку.
3. Как Вы уже знаете, phpcades собирается из исходников и только на *nix платформах. Для Windows сборку придется делать методом тыка, поэтому мне, например, пришлось из php вызывать отдельную exe программу.
И тут я столкнулся тем какой убогий у php exec - создает 3 файловых дескриптора (один на вход запускаемого процесса stdin, 2 на выходы stdout + stderr) - так вот, выходы имеют ограниченный размер буфера и если php ждет завершения процесса, а буфер выхода заполнился, то запущенный процесс приостанавливается если нельзя вывести в буфер. При этом php продолжает считать, что процесс не завершился и не читает из переполненного буфера (чтение бы освободило часть буфера и отменило приостановку). Выходит тупо взаимная блокировка. Пришлось один вывод максимально сократить, второй отладочный вывести на дескриптор файла.
Отсутствие сборки под Windows также причина почему нет востребованности со стороны программистов php под Windows, подробных и разнообразных примеров.
Так, у меня, к сожалению, нет под рукой *nix, поэтому лично я не смогу протестировать адаптированные примеры COM ЭЦП SDK и порекомендовать их как "рабочие" с учетом особенностей *nix. В связи со всем этим, в прошлой теме я не стал далее отвечать на вопрос про "рабочие" примеры. Какое тут может быть решение в теме...
4. Могу понять, что начинается, мягко говоря, "нервенность", когда программа "не взлетает". С другой стороны, высока вероятность, что примеры не взлетели из-за неправильно установленных сертификатов, контейнеров, цепочек, адресов серверов и т.д. Тонкий момент - пользователь, под которым ставили сертификаты должен быть тем под которым потом запускаете php. Но ведь всё это потребуется и при exec - почему обида перенеслась именно на phpcades, непонятно.