Главная

Thursday, 2 April 2020

Java Web Start в клиент-банке.

Всем привет.

В связи с карантином многие пользователи обратили свой внимание на клиент-банк. Одному из них понадобилась моя помощь. Оказалась проблема у пользователя стара и касалась она опять таки поддержки Java в веб-браузере.

Java-апплет - прикладная программа, чаще всего написанная на языке программирования Java в форме байт-кода. Java-апплеты выполняются в веб-браузере с использованием виртуальной Java машины (JVM). Апплеты используются для предоставления интерактивных возможностей веб-приложений, которые не могут быть предоставлены HTML. Так как байт-код Java платформо-независим, то Java-апплеты могут выполняться с помощью плагинов браузерами многих платформ, включая Microsoft Windows, UNIX, Apple Mac OS и GNU/Linux. 

Почему Java используется в интернет клиент-банке?

Использование технологий Java необходимо в интернет-банкинге для выполнения операций, связанных с криптографией, и взаимодействия с защищенными токенами (например, Secure Token-337 производства компании Автор) для хранения персональных сертификатов. Java - это универсальная кросс-платформенная технология, которая работает на всех современных операционных системах и браузерах, и обеспечивает широкие возможности и высокий уровень безопасности, поэтому её использование в системах класса клиент-банк является обоснованным и необходимым. 

Технологии Java используются для операций, связанных с ЭЦП: 
  • генерация нового закрытого ключа; 
  • сертификация нового ключа старым действующим; 
  • подписание документов, заявок, почтовых сообщений; 
  • вход в систему (опционально, если включено администратором); 
  • смена номера телефона для OTP SMS (опционально, если включено администратором); 
  • системные операции с токеном (смена пин-кода, форматирование, удаление старых ключей). 

Т.е. теперь вы понимаете что чей бы ни был клиент-банк, но Java он хочет для работы с такими ЭЦП. С другой стороны нам  неприятно наблюдать как многие веб-браузеры отказываются от поддержки Java. 


Так ли это и что делать?

Браузеры не отказываются от поддержки Java, но прекратили поддержку кросс-платформенной архитектуры подключаемых модулей NPAPI (Netscape Plugin API), с помощью которой работали плагины Java-applet. По мнению ведущих производителей браузеров, плагины работающие по 
данной технологии часто становятся причиной «подвисаний» и «вылетов» браузеров, содержат уязвимости и усложняют код, а сам NPAPI является устаревшим на текущий момент. На NPAPI базируется не только Java-applet, а также и Flash, Silverlight, QuickTime, Facebook Video и прочие модули, работа которых в том числе будет невозможна. После прекращения поддержки NPAPI популярными браузерами, компания Oracle заявила о постепенном отказе от использования Java-плагина для браузеров (он постепенно исключается из компонентов Java Development Kit и Java Runtime Environment в Java SE начиная с сентября 2016 г.). 

Несмотря на прекращение работы Java-applet, приложения Java запускаются в веб-браузерах либо как приложения Web Start (которые начинают работать независимо от браузера сразу после своего запуска), либо как апплеты Java (которым может требоваться взаимодействие с браузером). Тем самым, отказ браузеров и Oracle от технологии Java-applet не повлияет на работу приложений Java Web Start. 

На сегодня проверенные браузеры для работы с ЭЦП с помощью Java-applet в Windows: 
  • Internet Explorer 11 – рекомендуется 
  • Firefox ESR (версия 52) – рекомендуется 
  • Firefox (до версии 52) – не рекомендуется 
  • Chrome (до версии 45) – не рекомендуется 
  • Opera (версии до 1.09.2016, до отказа от NPAPI) – не рекомендуется.
Microsoft Edge не указан потому что ведет он себя более чем странно.

Что дальше?


Команда разработчиков клиент-банка приняла решение о переходе на новую технологию Java Web Start. В системе клиент-банк будет предусмотрен авто-режим выбора технологии в зависимости от используемого браузера (например, если браузер НЕ поддерживает NPAPI, то будет загружено новое приложение Java WS, а если поддерживает - то старый Java-applet). 

Java Web Start (JavaWS) - технология компании Sun Microsystems, позволяющая запускать приложения на Java из браузера. Основана на протоколе Java Network Launching Protocol (JNLP). В отличие от апплетов, приложения Web Start запускаются не в окне браузера и не имеют с ним (с браузером) прямой связи.

Java Web Start:

  • позволяет загружать и запускать приложения Java из Интернета и активировать их одним 
  • щелчком мыши; 
  • обеспечивает использование новейших версий приложений; 
  • устраняет необходимость проведения сложных процедур установки и настройки; 
  • не зависит от версии и возможностей браузера; 
  • не имеет связей с Java-апплет и с NPAPI. 
Спасибо Евгению Левченко за предоставленный материал.

No comments:

Post a Comment

А что вы думаете по этому поводу?