Всем привет.
В связи с карантином многие пользователи обратили свой внимание на клиент-банк. Одному из них понадобилась моя помощь. Оказалась проблема у пользователя стара и касалась она опять таки поддержки 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 Web Start:
- позволяет загружать и запускать приложения Java из Интернета и активировать их одним
- щелчком мыши;
- обеспечивает использование новейших версий приложений;
- устраняет необходимость проведения сложных процедур установки и настройки;
- не зависит от версии и возможностей браузера;
- не имеет связей с Java-апплет и с NPAPI.
Спасибо Евгению Левченко за предоставленный материал.
No comments:
Post a Comment
А что вы думаете по этому поводу?