Минимизировать нужно всегда и всё, будь то трафик, поля в БД или потребление RAM. От этого в конечном счёте зависит скорость работы системы и её отклик для пользователя. Конечно при условии наличия времени. Но если можно сделать рефакторинг или оптимизацию не затягивая сроки задач, то их надо делать. Иначе система быстро превратится в очень медленную помойку
4. Автоматически генерировать весь клиентский JS код в отдельном JS файле (при билде проекта или через Roslyn, но сейчас наверное лучше TS вместо JS) для вызовов базируясь на сигнатурах этих методов.
ПодскАжите в какую сторону копать для автогенерации JS?
Не хочу сейчас связываться в MVC, т.к. в ближайшее время будем делать плавный переход на ASMX-сервисы + Angular. Но там полностью меняется всё отображение для конкретной роли (point of view). В идеале старый и новый GUI не будут пересекаться.
В конечном счёте планирую от текущего сайта оставить только ASMX-сервисы, которые затем неспешно переписать на Web API.
Благо за последнее время почти всю логику изолировали от страниц и контролов
Дело в том, что нам нужна юридически значимая подпись, а крипто про сертифицирован компетентными органами, да и цена у него в целом приемлемая CSP + .NET обошлись в районе 110к, если правильно помню.
Не подумайте что я таким образом пиарю крипто про. Но для Enterprise решения он подходит
так и есть. Общее правило написания кода по команде не использовать var, когда это возможно.
Причина проста — читаемость кода выше, когда видно тип объявляемой переменной
хм… у нас предполагается двусторонее подписание. Слишком сложно все эти подписи за собой таскать, да и как простому пользователю объяснить, что вот этот файлик и есть твоя подпись. А вот когда в PDF-нике есть фиолетовая печать с ФИО это всем понятно
Выглядит просто, но собрать это всё вместе чтоб работало… команда работала, искала материалы, по крупицам собирала информацию в доступных источниках.
Могу сказать, что это было не очень просто, но в итоге заработало как надо.
простой фильтрацией certAlgorithmFriendlyName.match ГОСТ или GOST насколько я понял имя зависит от языкового пакета Windows или что там установлено на клиенте
До и после подписания юзер может выгрузить файл и посмотреть его
Мы же не в «тёмную» ему хеш отправляем
Ну и, конечно, ссылочку на правовой документ было бы неплохо увидеть
Можно подробнее насчёт показать одно, а подписать другое. Где вы такое усмотрели?
И где тут идёт подмена файлов?
Берём PDF добавляем в него контейнер, считаем хеш и отправляем на подпись пользователю, пользователь присылает подпись, мы ее вставляем в этот же самый PDF.
Где подмена?
Есть немного кода, который я из статьи убрал, там генерируется видимая подпись. У нас она выглядит как прямоугольная печать. Различные PDF-просмотровщики позволяют так же проверить подпись. Но с ГОСТ всё сложно, нужны плагины
ПодскАжите в какую сторону копать для автогенерации JS?
В конечном счёте планирую от текущего сайта оставить только ASMX-сервисы, которые затем неспешно переписать на Web API.
Благо за последнее время почти всю логику изолировали от страниц и контролов
Не подумайте что я таким образом пиарю крипто про. Но для Enterprise решения он подходит
Причина проста — читаемость кода выше, когда видно тип объявляемой переменной
Насколько понимаю пока нет достаточной правоприменительной практики по ЭП.
Про Promise в начале статьи писал, что для IE пришлось реализовывать отдельный скрипт и делать так
И соответственно в cryptography.js работа в асинхронном режиме, а в cryptography_ie в синхронном
Могу сказать, что это было не очень просто, но в итоге заработало как надо.
Мы же не в «тёмную» ему хеш отправляем
Ну и, конечно, ссылочку на правовой документ было бы неплохо увидеть
И где тут идёт подмена файлов?
Берём PDF добавляем в него контейнер, считаем хеш и отправляем на подпись пользователю, пользователь присылает подпись, мы ее вставляем в этот же самый PDF.
Где подмена?