Как стать автором
Обновить

Комментарии 10

Конфигурационный файл у сервиса один, вследствие чего он получился достаточно большим, более 200 строчек.
Этот конфигурационный файл на каком нибудь из общепринятых языков? Или собственная разработка или plain text или как вообще он структурирован?
Мы использовали yaml, в первую очередь потому что он уже до этого много в каких проектах использовался
интересна работа с шифрованием, почему не взяли готовые библиотеки для ГОСТ?
Основной упор был на быстродействие и работу с большими файлами. Ни одна из существующих библиотек не могла обеспечить нужной скорости и потребления памяти. Почему мы писали свое решение станет понятнее после прочтения второй части, которая выйдет на следующей неделе

А какие к примеру? OpenSSL? Ну давайте начнем с простого, она не сертифицирована как криптопровайдер, а в законодательстве закреплено использование сертифицированных криптопровайдеров. Ну и обычно ключи идут не в формате пригодном для использования в OpenSSL. Нужно их дополнительно конвертировать.

У Go отличные средства интеграции с С кодом. Зачем вы разделили части? Ну и дополнительно зачем для подписания передается сам файл если для создания подписи достаточно передавать хеш документа?

Хэш вычисляется по ГОСТ алгоритму. Видимо, для этого файл и передается, что хэш функция также написана на С

Я не про загрузку на сервер, а про переброс между go и С частью. Хеш при сохранении можно считать.

Вся криптография в том числе и вычисление хешей происходит внутри КриптоПро, который вызывается через capilite. Без переброса данных в С код в любом случае не получилось бы обойтись.

Я про то что можно вообще-то сделать через биндинги без чистой С части. Она там особо то не нужна.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий