×Закрыть

Библиотека ЭЦП на PHP

Суть такая от бизнеса скоро требуется фискализация чеков в ФСУ.
для этого нужно либо кассовый аппарат либо отправлять чек в ФСУ и
подписыватть его ключами которые там выдают

ЭЦП делаетсся в соответствии с ДСТУ 4145-2002.
по сути какими то еще совдеповскими гостами вместо нормального openssl

подробнее здесь.
http://80.91.165.208/E-Receipt/
dstszi.kmu.gov.ua/...​art_id=90096&cat_id=38837

Соответственно возникает проблема как это прикрутить к учетной системе.

Есть модуль для ноды github.com/dstucrypt/gost89
и даже сервер подписи который можно развернуть. В принципе оно работает.
Есть где то даже расширение для PHP но явно платное и с закрытым кодом

Вопрос — нет ли чего подобного на чистом PHP чтобы можно было разворачивать учетную систему на обычном шаред хостинге.
Может кто то начал делать что то похожее наверняка многим придется так или иначе решать с этой фискализацией тем у кого бизнес с помощью онлайн приложений

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Кто нибудь знает почему перестал работать тестовый сервер налоговой http://80.91.165.208/er

ну это как бы продакшен. Тестовые там просто акаунты.
Спросил клиента которому подключал фискализацию таки да не работает.

github.com/GorulkoAV/EUSignDFS
Ошметки оболочки для С++ библиотеки от IIT. Когда-то раскапывал и набрасывал, чтоб автоматизироваться, так как задалбливало руками пользоватся софтом от ДФС с этой библиотекой на уйме файлов для тучи получателей, подписывали и шифровали информацию. На ином краю — раскрывали только владельцы. В их примерах, что валялись у них на сайте и были доступны через кэш гугла, засвечена работа только с текстом, как оперировать файлами не светили. Не пригодилось. Можно понять как пользоватся и вызывать методы библиотеки через неуправляемый код. Там все на С#. А лучше у них купить под РНР. P.S. Не пишу. Не помогаю. Не консультирую. Как есть, так и пользуйтесь. Поглядите, кто ветки делал. Может они дальше тему развили.

по сути какими то еще совдеповскими гостами вместо нормального openssl

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

та хоть на елиптических квадратах. ГОСТ89 это таки совдепия. Это не значит что там плохое шифрование это значит что там самопальные алгоритмы вместо библиотек и стандартов, используемых по всему миру. да в том же https например.

ГОСТ89 это таки совдепия

гост89 это симетричный шифр
ДСТУ 4145-2002 — цифровые подписи на ассиметричной криптографии элиптических кривых
смотри не перепутай

вместо библиотек

тебя в исходники openssl где ДСТУ 4145-2002 реализован ткнуть или сам найдеш?

iit.com.ua/downloads те що тут не підійшло?
Користувач центру сертифікації ключів. Бібліотека підпису (модуль розширення PHP, опис та настанови програмістам) EUSignPHPDescription.doc (258 КБ) iit.com.ua/...​/EUSignPHPDescription.doc
Користувач центру сертифікації ключів. Бібліотека підпису (інтерфейс програмування — PHP)
EUSignPHPAppendixZ.doc (415 КБ) iit.com.ua/...​es/EUSignPHPAppendixZ.doc

Не знаю, ща гляну, дякую. Там просунутий адмiн де я зараз автоматизую марежу аптек, сказав що вони шукали i не знайшли нiчого крiм ноди.

Там только документация. А сама библиотека платная.

Судя по коду то за пару вечеров без проблем должен портироватся на любой язык. Запилите таску на любой фриланс бирже и будет вам счастье.

ну запилите, сколько стоит ваше запиливание за пару вечеров?

Я слишком стар для того, что-бы работать после работы.

ну так не надо рассказывать про пару вечеров. На фрилансе запросили от 20000. Потому как это не кусок сайта а математическая библиотека и нужно понимать что там програмируешь. Вы рассуждаете, несмотря на старость, как начинающий программер — та я там одной левой

Там в общем-то простые битовые операции и операции с массивами, которые переносятся почти один в один, ничего космического.

Но нужна внимательность и методичность.

20K не выглядит сильно завышенной суммой если опытный человек будет делать, но если какой толковый студент найдётся, может и за $200-500 сделает.

Ну за 20К и я бы взялся, чего нет, это как раз неделя фултайма, то есть часов 20 фактической работы. Просто есть негласное правило не работать с клиентами из СНГ ))

ps: и да, для портирования готового алгоритма дохрена ума не надо.

В библиотеке 849 строк.
Вы серйозно?
Думаю, если вам скорость некритична любой мидл должен за месяц осилить.
Я могу взяться за 5к, хотите? 100% предоплата. Гарантирую только, что оно пройдет те же тесты, что в библиотеке.
Но вы не сертифицируете сервер с этой фигней, ибо как вам сказали «кто даст гарантию, что не прочитают инфу на сервере».
зы. Думаю реальная оценка задачи около $1к.

пока не критично пока всех не заставили делать фискализацию. за это время и сам разберусь. И мне не надо ничего сертифицировать. Я не генерю ключи я просто подписываю и отправляю. И по файлу не видно кто его отправил

Не, если сделано на PHP то вы таки храните ключи.
С точки зрения закона неважно, 10 секунд или 2 года.
И не надо знать по файлу кто отправлял. Просто надо все писать кудато и по запросу найти подходящий(по результату).

я ничего не храню. я ключи в глаза не видел и понятия не имею где они

Ну обьяснить это СБУ будет непросто, вот в чем вопрос.

не порите чушь — при чем тут СБУ? Человеку дали ключи на дискете или на флешке а он посеял или забыл на рабочем столе. И что его в СБУ потащат? Или разраба програмы которая эти ключи использует? Его бизнес его забота чтобы ключи никто не спер. Это его ключи и его чеки которые он отправляет в ФСУ, а не ключи от сейфа нацбанка.

А ключ свой приватный тоже на шаред хостинг класть?

то уже технический вопрос. кроме ключа там еще пароль есть без которого ключ не работает

Ага. Дайте угадаю где пароль? В приложении на этом хостинге рядом с ключом?

Да, но вы то сначала файл без шифрования загружаете на сервер.

я пока еще ничего никуда не загружаю. Пока крутится нода гдето где их админы воткнули.

нода, php... любой server-side попадает под законодательство о хранении ключей третьих лиц.

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

Податкова (фіскальна) служба використовує бібліотеки ІІТ. В ІІТ є можливість отримати тестові ключі й коннектитися до тестового АЦСК на стадії перевірки

На php сходу тоже не нашёл.

Если не ошибаюсь, то можно просто копировать бинарник nodejs на другой сервер (в рамках той-же платформы, всё равно обычно это linux 64) и он будет работать. Раз уж хочется shared-хостинг.

А там сделать небольшую обвязку к той библиотеке чтоб все параметры приходили из командной строки и запускать как обычное консольное приложение из php

не каждый шаред хостин даст запускать бинарники. Да и смысл в том чтобы развернуть продукт (учетную систему) мог человек с минимальными знаниями.
у меня даже есть сборки с WAMP чтобы даже обычный продвинутый пользак мог запустить

Ніякого зв"язку між openssl та гостами немає. Openssl лише інструментарі, який підтримує певні алгоритми, і стандартна реалізація госту там теж є. Інша справа, що реалізація алгоритму (бібліотека) має бути сертифікована у відповідності до вимог саме Держспецзв’язку. Саме тому Ви не можете використовувати якись свій ключ/сертифікат для роботи з держ. органами, а використовуєте від АЦСК

мова не про ключ а про бiблiотеку. Нiщо не заважало ФСУ генерувати ключi на тому ж опенссл. Але тре свое самопальне щоби придворнi програмiсти мали кормушку.

Ніщо їм не заважає створити утиліти для роботи з командного рядка, як мінімум. Бо софт для десктопів є, але для якоїсь автоматизації наче б то не видно. Та й делегують вони цю функціональність на позаштатний АЦСК. Такая політика стара як життя)

Подписаться на комментарии