Перейти к основному содержимому

Новое в версии 9.2

Оптимизация и ускорение работы

Ускорение загрузки приложения

Ускорена загрузка приложения за счет изменения обработки данных:

  • Оптимизирована передача метаданных компонентов приложения за счет исключения избыточных данных и изменения формата сериализации: не передаются пустые массивы, значения по умолчанию и вспомогательная информация модулей.
  • Улучшена десериализация описания компонентов с зависимостями: описания компонентов загружаются не в момент запуска приложения, а по необходимости.

Оптимизация применения изменений в модуле

  • Значительно ускорено применение изменений в модулях, от которых зависит множество других модулей и элементов проекта.
  • Ускорено появление диагностик при редактировании модуля.
  • Время сборки ускорилось на 10-15 % в отдельных сценариях.

Прикладная функциональность

Криптография

Поддержка работы с PFX-файлами формата КриптоПро

Добавлена поддержка записи и чтения PFX-файлов формата КриптоПро. Для работы требуется криптопровайдер КриптоПро Java CSP. Чтобы обеспечить возможность указать криптопровайдер при создании объекта ХранилищеPkcs12, в его конструкторы добавлен параметр Криптопровайдер.

метод ВычислитьПодписьГост(Данные: Байты, КриптоПроPfx: Байты, ПарольPfx: СекретПриложения)
знч Криптопровайдер = Криптография.ПолучитьКриптоПроJcsp()
// Загрузка хранилища ключей из PFX-файла, полученного из КриптоПро CSP
знч Хранилище = новый ХранилищеPkcs12(КриптоПроPfx, ПарольPfx, Криптопровайдер)

// КриптоПро не поддерживает пароли для отдельных ключей в PFX, только для всего файла
знч Ключ = Хранилище.НайтиЗакрытыйКлюч("Тест", "")
знч Сертификат = Хранилище.НайтиСертификат("Тест")

// Вычисление электронной подписи
знч Вычислитель = новый ВычислительПодписи(Криптопровайдер, Сертификат, Ключ)
Вычислитель.УстановитьСлужбуШтамповВремени("http://qs.cryptopro.ru/tsp/tsp.srf")
знч Подпись = Вычислитель.Подписать(Данные)

// Проверка электронной подписи
знч Верификатор = новый ВерификаторПодписи(Криптопровайдер, Подпись)
если не Верификатор.Проверить(Данные)
выбросить новый ИсключениеНедопустимыйАргумент("Подпись не соответствует данным")
;
;