Как стать автором
Обновить
2
0
Вячеслав Шапошников @Sonkkorh

ASP.NET team lead

Отправить сообщение
Минимизировать нужно всегда и всё, будь то трафик, поля в БД или потребление RAM. От этого в конечном счёте зависит скорость работы системы и её отклик для пользователя. Конечно при условии наличия времени. Но если можно сделать рефакторинг или оптимизацию не затягивая сроки задач, то их надо делать. Иначе система быстро превратится в очень медленную помойку
4. Автоматически генерировать весь клиентский JS код в отдельном JS файле (при билде проекта или через Roslyn, но сейчас наверное лучше TS вместо JS) для вызовов базируясь на сигнатурах этих методов.

ПодскАжите в какую сторону копать для автогенерации JS?
Не хочу сейчас связываться в MVC, т.к. в ближайшее время будем делать плавный переход на ASMX-сервисы + Angular. Но там полностью меняется всё отображение для конкретной роли (point of view). В идеале старый и новый GUI не будут пересекаться.
В конечном счёте планирую от текущего сайта оставить только ASMX-сервисы, которые затем неспешно переписать на Web API.
Благо за последнее время почти всю логику изолировали от страниц и контролов
Дело в том, что нам нужна юридически значимая подпись, а крипто про сертифицирован компетентными органами, да и цена у него в целом приемлемая CSP + .NET обошлись в районе 110к, если правильно помню.
Не подумайте что я таким образом пиарю крипто про. Но для Enterprise решения он подходит
Ну, собственно в статье я об этом и написал, и написал, что не знаю как сделать лучше. Надеюсь кто-то в комментах предложит решение лучше
так и есть. Общее правило написания кода по команде не использовать var, когда это возможно.
Причина проста — читаемость кода выше, когда видно тип объявляемой переменной
У нас двусторонне подписание между госом и физиком или юриком
Пообщались с нашим юристом, он сказал что всё хорошо.
Насколько понимаю пока нет достаточной правоприменительной практики по ЭП.
Спасибо, буду пробовать
За Oid большое спасибо, поправим. Это действительно более правильный способ. Сделал через строку, т.к. не знал как получить Oid на клиенте.

Про Promise в начале статьи писал, что для IE пришлось реализовывать отдельный скрипт и делать так
$(function() {
    try {
        eval("(function *(){})");
        window.generatorSupported = true;
    } catch (err) {
        window.generatorSupported = false;
    }

    let scriptUrl;
    if (generatorSupported) {
        scriptUrl = "/Scripts/cryptography.js?v=2.24.0";
    } else {
        scriptUrl = "/Scripts/cryptography_ie.js?v=2.24.0";
    }
    $.ajax({
        dataType: "script",
        cache: true,
        url: scriptUrl,
        success: window.fillCryptographyObjectParams,
    });
});


И соответственно в cryptography.js работа в асинхронном режиме, а в cryptography_ie в синхронном
хм… у нас предполагается двусторонее подписание. Слишком сложно все эти подписи за собой таскать, да и как простому пользователю объяснить, что вот этот файлик и есть твоя подпись. А вот когда в PDF-нике есть фиолетовая печать с ФИО это всем понятно
да, подпись вставляем прямо в PDF
Выглядит просто, но собрать это всё вместе чтоб работало… команда работала, искала материалы, по крупицам собирала информацию в доступных источниках.
Могу сказать, что это было не очень просто, но в итоге заработало как надо.
простой фильтрацией certAlgorithmFriendlyName.match ГОСТ или GOST насколько я понял имя зависит от языкового пакета Windows или что там установлено на клиенте
До и после подписания юзер может выгрузить файл и посмотреть его
Мы же не в «тёмную» ему хеш отправляем
Ну и, конечно, ссылочку на правовой документ было бы неплохо увидеть
Можно подробнее насчёт показать одно, а подписать другое. Где вы такое усмотрели?
И где тут идёт подмена файлов?
Берём PDF добавляем в него контейнер, считаем хеш и отправляем на подпись пользователю, пользователь присылает подпись, мы ее вставляем в этот же самый PDF.
Где подмена?
Есть немного кода, который я из статьи убрал, там генерируется видимая подпись. У нас она выглядит как прямоугольная печать. Различные PDF-просмотровщики позволяют так же проверить подпись. Но с ГОСТ всё сложно, нужны плагины
Да, конечно. Только вопрос цены

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность