Этот раздел касается:
  • Платформы: Все платформы
  • Версии Java: 7.0, 8.0
ПРИЗНАКИ

При запуске апплета или приложения Java появляется диалоговое окно с предупреждением системы безопасности:

Заблокировать запуск потенциально небезопасных компонентов?

Среда Java обнаружила компоненты приложений, которые могут указывать на наличие угроз безопасности. Свяжитесь с поставщиком приложения и убедитесь в отсутствии попыток несанкционированного доступа.


ПРИЧИНА

Подписанные приложения и апплеты Java Web Start, содержащие подписанные и неподписанные компоненты, могут быть потенциально небезопасными, если смешанный код не был намеренно использован поставщиком приложения. Начиная с выпуска Java SE 6 Update 19 при работе с программой, которая содержит подписанные и неподписанные компоненты, отображается диалоговое окно с предупреждением.

РЕШЕНИЕ

Если в диалоговом окне безопасности нажать кнопку Да , запуск потенциально небезопасных компонентов будет заблокирован, после чего возможно завершение работы программы. Если нажать кнопку Нет , выполнение приложения или апплета продолжится.
Предупреждение отображается по умолчанию, но существуют параметры для изменения этой настройки.

Способ обработки программ со смешанным кодом можно настроить с помощью панели управления Java.

Поиск панели управления Java Параметры защиты от смешанного кода в панели управления Java

  • В панели управления Java перейдите на вкладку Дополнительно .
  • Разверните параметр Проверка безопасности смешанного кода (Из песочницы - Доверенный) в разделе Безопасность .
  • Доступны четыре уровня управления. Включить – отображать предупреждение при необходимости Это настройка по умолчанию. Когда возникает потенциальный риск для безопасности, отображается диалоговое окно. При нажатии кнопки Да выполнение потенциально небезопасных компонентов блокируется, после чего возможно завершение работы программы. Если нажата кнопка Нет , выполнение приложения или апплета продолжится с применением необходимых мер защиты (обнаруженные позднее пакеты или ресурсы с одинаковыми именами, но разными уровнями доверия, например, подписанные или неподписанные, не будут загружены).

    Включить – скрыть предупреждение и выполнять с применением мер защиты При выборе этого параметра диалоговое окно с предупреждением не отображается. Код выполняется так же, как и при нажатии кнопки Нет Включить – скрыть предупреждение и не выполнять недоверенный код При выборе этого параметра диалоговое окно с предупреждением не отображается, а код выполняется так же, как и при нажатии кнопки Да в диалоговом окне с предупреждением. Отключить проверку Использовать этот параметр не рекомендуется. Этот параметр полностью отключает проверку смешанного доверенного и недоверенного кода, допуская выполнение потенциально небезопасного кода без применения мер защиты.

    ДОПОЛНИТЕЛЬНАЯ ТЕХНИЧЕСКАЯ ИНФОРМАЦИЯ

    Для разработчиков Java-приложений: см.

    Вслед за стремительным развитием информации ВТБ, как и многие другие банки, стал внедрять функцию под названием «дистанционное банковское обслуживание». С этой целью специалистами ВТБ был создан специальный апплет – программа, через которую клиенты и получают доступ к своим счетам. Чаще всего, как и в этом случае, для этих целей используют язык программирования Java (произносится «джава» или «ява»). Чтобы начать пользоваться программой от ВТБ, необходимо скачать программу, установить и настроить ее.

    Для чего нужен Java-апплет?

    Такой апплет работает, основываясь на трех китах. Их имена: Надежность, Производительность и Безопасность. Так что не удивительно, что апплеты на этой платформе используют не только финансовые организации вроде ВТБ, но и бухгалтерские отделы, научные предприятия, а также производители технической продукции для бытовых и коммерческих потребностей. Возможности платформы многогранны:

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

    Описанные преимущества делают платформу Java идеальной для ВТБ апплета.

    Возможные ошибки

    Ниже собраны самые распространенные ошибки, с которыми сталкиваются клиенты ВТБ после установки апплета, и способы их устранения.

    Апплет не запускается после обновления до Java 7 Update 65

    Эта проблема чаще всего касается обладателей Windows 7, 8 и 10, с версиями Java 7.0 или 8.0. Суть проблемы сводится к тому, что апплет ВТБ перестал запускаться. Причина кроется в отсутствии строки deployment.javaws.jre.0.args= в документе с именем deployment.properties. Разработчики устранили неполадки в Java 7 Update 67 (7u67), поэтому для большинства, решение проблемы – установка последней версии ПО. Загрузить программу можно по ссылке: https://www.java.com/ru/download/ . Главная страница выглядит так:

    В случае, когда обновление невозможно, существуют другие варианты. Конечным пользователям версии 7u65 стоит немного изменить параметры Java Control Panel. Сделать это можно следующим образом:

  • «Пуск» Windows => «Программы».
  • В открывшемся меню найти список программ от производителя.
  • Нажать «Configure Java» («Настроить Java»), чтобы запустился Java Control Panel.
  • После запуска перейти на вкладку с соответствующим именем.
  • Нажать «View» («Просмотр»).
  • Двойной щелчок на «Runtime parameters» («Параметры среды выполнения»). Так вы откроете режим редактирования.
  • «OK» «Apply» («Применить»).
  • Последний клик на «OK» для закрытия панели.
  • Следуя этому руководству любой может настроить свой апплет ВТБ довольно быстро.

    Временно решить проблему можно, внеся поправки в код:

  • Удаление java_arguments из тега апплета решит вопрос со стороны сервера.
  • Добавление в deployment.properties строки deployment.javaws.jre.0.args= решит вопрос со стороны компьютера.
  • Так вы заставите апплет ВТБ работать и проблема с обновлением будет решена.

    Апплет ВТБ не загружен

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

    Это касается и некоторых клиентов ВТБ: при попытке зайти в систему удаленного управления счетами отображается описанная ошибка апплета. Причиной может быть отсутствие апплета или его нерабочее состояние. Однако с этим легко справиться, достаточно последовать простым указаниям ниже.

    Легче всего для начала установить апплет ВТБ с официального сайта Java. Сделать это стоит даже тогда, когда программное обеспечение у вас уже есть, но не включено: будет лучше, если на вашем компьютере будет установлена самая актуальная версия программы. Итак, следуйте указаниям:

  • Зайдите на официальную страницу компании в интернете (ссылка на сервис есть чуть выше в этой статье).
  • После этого ресурс самостоятельно определяет параметры вашей ОС и предлагает вам ссылку на подходящий вариант ПО.
  • Нажмите «Загрузить Java бесплатно».
  • После окончания процесса загрузки запустите файл и установите его, следуя указаниям.
  • Перезапустите браузер.
  • Важная информация: начиная с 42-й версии Google Chrome официально не поддерживает апплеты на базе Java, в том числе апплет ВТБ.


    Однако он доступен в любом другом браузере, к примеру, Mozilla Firefox. Включить апплет там можно следующим образом:

  • Запустите браузер (если он не установлен, скачайте его с сайта https://www.mozilla.org/ru/firefox/new/ и установите согласно указаниям).
  • В меню приложения нажмите «Дополнения» =› «Плагины».
  • Переключите «Модуль платформы Java» в положение «Всегда включать» (ничего не меняйте, если он уже включен).
  • Перезагрузите браузер.
  • После этих нехитрых манипуляций можете свободно заходить на сервис ВТБ: апплет должен работать без перебоев.

    Установка апплета ВТБ

    Чтобы установить и настроить апплет ВТБ скачайте его по ссылке http://www.java.com⁄ru⁄ . Апплет подойдет под функционалы таких браузеров как FireFox, Opera, Internet Explorer (версия которого должна постоянно обновляться).

    Апплет для работы с ВТБ устанавливается в две стадии:

    • установка и настройка платформы SE Runtime Environment;
    • установка самого апплета.

    Если для доступа вы планируете использовать персональный компьютер, первый шаг вам не нужен. Порядок установки состоит из пяти пунктов:

  • «Загрузить».
  • «Согласиться и начать загрузку» (файл для Windows, расширение.exe).
  • «Сохранить» =› запуск двойным кликом левой кнопкой мышки.
  • «Install» («Установить»).
  • «Close» после завершения установки.
  • Затем скрипт нужно настроить:

    «Пуск» =› контрольная панель =› убрать галочки с протоколов TLS 1.1, TLS 1.2 и «Use SSL 2.0 compatible ClientHello format». Теперь вы имеете свободный доступ к апплету ВТБ.

    Настройка браузеров

    Окно-предупреждение с сообщением «Внимание. Java апплет не загружен» может возникать по причине браузеров. Чтобы настроить их на взаимодействие с апплетом ВТБ, следуйте инструкциям в таблице ниже.

    Браузер Инструктаж
    Firefox 1. Нажмите на иконку.
    2. В выпадающем меню выберите статус «Разрешить и запомнить».
    3. Нажмите «ОК».
    4. Зайдите в настройки браузера.
    5. Выберите пункт «Дополнения», подпункт «Плагины».
    6. Проставьте по всем подпунктам Java статус «Включать по запросу».
    Opera 1. Откройте настройки браузера.
    2. В пункте «Плагины» (рекомендуется)» выберите «Запускать все содержимое плагинов».
    Safari 1. На странице регистрации в системе ВТБ выберите меню «Safari» => «Настройки» => «Безопасность» => «Настроить веб-сайт».
    2. В левом списке диалога выберите «Java». В правом списке для сайта ВТБ задайте режим «Вкл.».
    3. Нажмите и удерживайте ALT переводя курсор мыши ВКЛ. Затем нажмите кнопку мыши. Появиться выпадающее меню, в котором выбрать «Запустить в безопасном режиме».
    4. Нажмите «Готово» и перезагрузите браузер.
    Internet Explorer 1. В настройках браузера выберите «Сервис» => «Свойства обозревателя» => «Дополнительно». Снимите отметку SSL 2.0 и отключите использование протоколов TLS 1.1 и 1.2.
    2. В настройках браузера выберите «Настроить надстройки».
    3. В появившемся окне выберите «Запуск без получения разрешения».
    4. В списке надстроек найдите «Java Plug-in ». Состояние данной надстройки должно быть «Включено».

    Итак, апплет от ВТБ – штука очень полезная, поэтому важно знать, как правильно установить программное обеспечение для него. Для тех, кто любит наглядные демонстрации, посмотрите видео.

    Проблема в следующем.

    На странице размещен некоторый апплет, а также интерфейс для управления им, написанный на HTML + JavaScript. Требуется определить из JavaScript, что апплет загружен и готов к работе. Решение должно быть ПРЕДЕЛЬНО надежным - кросс-броузерным, нормально реагирующим на медленный Internet и т.п.

    Комментирую. Пока апплет не загрузился, обращения из JavaScript к его public-методам и/или полям чреваты появлением весьма некрасивого сообщения примерно такого содержания: "Данный метод отсутствует". А апплет порой загружается намного дольше, чем сама страница. Более того, некоторые вещи иногда имеет смысл сделать автоматически (из JavaScript), как только апплет загрузится - скажем, подать ему некоторую команду.

    Здесь проблема не столько в том, что нет способа проверить, что апплет уже загрузился, сколько в изобилии таких способов. Например: onload у апплета, onload у страницы, обращение к методу или полю апплета, "активное" информирование страницы о загруженности апплета специальным Java-кодом изнутри самого апплета, и т.д. А уверенности, что эти способы будут работать:
    на всех мыслимых броузерах,
    при всех настройках Security в броузерах,
    в сочетании со всеми мыслимыми платформами,
    со всеми JRE,
    у меня нет. И получить такую уверенность почти нереально: слишком много комбинаций.

    Хуже того, здесь, кажется, очень легко "перемудрить". Например, я вчера долго "боролся" с ошибкой - на чужом компьютере (XP+ MSIE +Java2) JavaScript ошибочно полагал, что апплет не загружен, хотя у меня на компьютере все было в порядке. Подозреваю, дело в том, что я тогда использовал для проверки доступности обращение к некой public-переменной апплета (не методу!). Все броузеры на моем компьютере (тоже XP) при обращении к такой переменной недозагруженного апплета возвращают null, а как только апплет загрузится - возвращают ее значение. (В отличие от этого, обращение к методу недозагруженного апплета выдает ошибку.) Боюсь, что на чужом компьютере броузер отказался считывать public-переменную. Доступ к переменным - вообще неочевидная вещь, работающая по-разному из-под разных броузеров и JRE. Надежен только вызов методов, но - лишь когда апплет загружен.

    Пока что я написал следующую пару функций:

    Function showMyErrorMessage(msg,url,line) { if (window.errorMessage != null) alert(window.errorMessage); window.onerror = window.onerrorSave; return true; } function getApp(name,notShowMessage) { window.errorMessage = null; var a = "Error while accessing applet information for the \"" + name + "\" Java applet."; var b = "Maybe, this applet is not correctly loaded.Please try to reload this page."; if (notShowMessage==null || !notShowMessage) { window.errorMessage = a + b; } window.onerrorSave = window.onerror; window.onerror = showMyErrorMessage; var app = eval("document."+name); var appInfo = app == null? null: app.getAppletInfo(); window.onerror = onerrorSave; if (app == null || appInfo == null) { if (window.errorMessage != null) { if (app == null) alert("Cannot access \"" + name + "\" Java applet." + b); else alert("Cannot access applet information for the \"" + name + "\" Java applet." + b); } return null; } return app; }

    Используется достаточно древняя (по идее, кросс-броузерная) техника подавления сообщения об ошибках через window.onerror. Все работает под Mozilla 1.4, MSIE 6.0 и даже под древним Netscape 4.5, но, увы, не под (куда более популярной) Opera 7.23: последняя выдает сообщение об ошибке JavaScript. Обращение к некоторому методу апплета необходимо - ибо почти все броузеры (кроме Netscape) успешно возвращают ненулевой объект document.ИмяАпплета, как только в странице прочитан ТЭГ

    Из прочих методов проверки всевозможные onload у меня вызывают недоверие - в свое время (на старых броузерах) мне часто приходилось отлаживать ситуации, когда onload без видимых причин отказывался срабатывать, например при нажатии Refresh для страницы или чего-нибудь подобного. Самым надежным кажется "активное" информирование страницы - когда Java-код апплета обращается к JavaScript. Но тут вроде бы единственное кросс-броузерное решение - showDocument в отдельное окно (или фрейм), что делает решение крайне громоздким.

    Может быть, кто-нибудь подскажет надежный, желательно опубликованный и широко известный способ проверки загруженности апплета?

    Для Opera, кстати, нормально работает конструкция try...catch. Но только эта же конструкция, если не ошибаюсь, приведет к ошибке синтаксиса в ранних MSIE , которые до сих пор, кажется, превосходят Opera по популярности. Как бы надежно удостовериться, что можно использовать try...catch? Условная компиляция MSIE -

    /*@cc_on @*/ /*@if (@_jscript_version >= 5) (испольщуем здесь try..catch и другие хорошие вещи) @*/ /*@end @*/

    Как водится, в Opera игнорируется:(

    Надо полагать, имеется в виду пакет netscape.javascript.* ?

    Это решение непереносимо - если не ошибаюсь, в MSIE со встроенным JRE 1.1.4 эта техника начала работать только где-то с версии 5.5 или даже выше. Я этим пакетом никогда не пользовался - по причине непереносимости; может быть, я не прав? Я писал про это выше: "тут вроде бы единственное кросс-броузерное решение - showDocument в отдельное окно (или фрейм), что делает решение крайне громоздким".

    Апплеты я обычно компилирую в JDK 1.1.6 (самая ранняя версия, имеющаяся в архивах Sun); там этого пакета вовсе нет.

    А если городить огород, учитывающий, что пакета netscape.javascript.* может не быть, то получится ничуть не лучше, чем, к примеру, отдельно проверять оперу и использовать для нее try...catch.

    Давно дело было:) Варианты:

  • Апплет грузится во фрейм, в методе init() грузит в другой фрейм документ с JS , вызывающем его методы, типа:
  • public void init() {
    //....
    getAppletContext().showDocument("js_page.htm", "another_frame");
    }
    Пример 1998 года - http://www.copris.com/optocontrol/home.htm - в IE5.5 и Мозилла 1.6 работает (делалось во времена NN3 и IE3) :)

  • Ждать загрузки в цикле:
  • function checkApplet() {
    if (document && document["appletName"] && document["appletName"].isActive())
    //Do something
    else
    setTimeout(checkApplet, 100);
    }

    isActive() - это метод класса java.applet.Applet.

    Алексей Рюмин aka Dwarf[досье]
    Спасибо большое. Но...

  • Насчет showDocument я уже думал: "Но тут вроде бы единственное кросс-броузерное решение - showDocument в отдельное окно (или фрейм), что делает решение крайне громоздким."
  • У меня, увы, страница по природе не фреймовая, и вводить туда фреймы только ради апплета очень неудобно. А вариант с IFRAME не кросс-броузерный - это будет ничем не лучше моего решения с window.onerror.

    Собственно, уже сейчас мои апплеты с 3D-структурами присутствуют на нескольких наших страницах, а в будущем таких страниц будет гораздо больше (всевозможные галереи примеров структур и т.п.). Собственно, на нашем сайте апплеты будут занимать примерно то же место, что и картинки (): иллюстрация к тексту, которую можно заодно "покрутить" мышкой. И возле каждого такого апплета, возможно, будут некоторые простейшие управляющие JavaScript-кнопки: ну хотя бы для разворота повернутой трехмерной картинки в исходную позицию.

    Отсюда - необходимость универсальной функции вроде моей getApp, которую можно положить в подключаемый js-файл и ради которой не надо перекраивать сайты на фреймы.

  • А вот это - извините, неверно.
  • Пишем простой тест.

    ... alert(document.XXXX+""+document.XXXX.isActive());

    После чего грузим эту страницу через любой не-мгновенный Internet, почистив предварительно кэш MSIE . Как и следовало ожидать, пока апплет реально не загрузился (серый квадрат), вызов isActive() порождает вышеупомянутое сообщение об ошибке. В то же время, обращение document.XXXX срабатывает нормально, в чем можно убедиться, изменив код на

    alert(document.XXXX);

    Раз объект страницы XXXX был уже отрендерен, броузер разрешает свободно обращаться к этому объекту.

    Правда, тут выплывает один интересный нюанс. При превращении объекта-апплета в строку получаются разные результаты, в зависимости от того, загрузился апплет или еще нет. Именно, если апплет загружен, то преобразование DHTML -объекта в строку дает результат вызова "toString()" у апплета. По идее, написать бы в методе toString некое ключевое слово и проверять, присутствует ли это слово в строке document.имяапплета+"".

    Было бы просто замечательно, очень просто и красиво, и даже в Opera работает. Но - УВЫ - на этот раз подкачала Mozilla. Показывает, зараза, дурацкое независимо от факта загрузки. Так что - не пойдет...

    Пока что - подскажите, как надежно "обнаружить", что мы имеем дело с современной Opera - точнее, что работают try...catch? Opera, кажется, имеет обыкновение прикидываться другими броузерами. Если выяснить, что try..catch работают, можно бы вызвать через eval версию кода с этими операторами - она работает и под Opera.

    Еще в эту же тему. Предлагаю разделить возможные решения проблемы на две группы.

  • Процедура может, в случае ошибки, принять нормально загруженный апплет за незагруженный. К этой группе относятся все решения, основанные на событиях onload и "активных" действиях апплета по завершению своей загрузки (типа открытия страницы в отдельном фрейме). Если вдруг onload не произойдет, или безопасность броузера запретит апплету открывать окно, или произойдет что-то еще непредвиденное - мы так никогда и не узнаем в JavaScript, что апплет загружен. Цена такой ошибки весьма высока: пользователь не сможет работать, причем, вероятно, проблема не решится даже перезагрузкой броузера.
  • Процедура может, в случае ошибки, принять незагруженный апплет за нормально загруженный, но если уж апплет загружен, то все гарантированно заработает. К этой группе относится моя функция getApp. У нормально загруженного апплета метод getAppletInfo просто обязан сработать без проблем (раз уж в моем апплете он есть); если даже он не работает, вряд ли апплетом вообще удастся воспользоваться из JavaScript. Цена ошибки в данном случае значительно ниже. Просто иногда в случае проблем (например, проблем с Internet) пользователь будет вместо "цивилизованного" сообщения получать "дикое" сообщение об ошибке в JavaScript - либо вообще ничего не произойдет, если визуализация таких сообщений отключена.
  • Если можно, прошу ограничиться решениями второго типа.

    Что-то вы не понимаете, уважаемые.

    Нельзя ЯВНО вызывать toString()! У DHTML -объекта "апплет" НЕТ собственного метода toString, он появляется, только когда загрузится Java-класс. Соответственно, попытка вывести
    alert(document.PackingSpheresForDesign.toString());
    при незагруженном апплете приводит к ошибке JavaScript, в моем MSIE это "Unspecified error".

    Неявно вызвать toString, разумеется, можно всегда - преобразованием DHTML-объекта в строку. И здесь, как я уже говорил, Mozilla ведет себя некрасиво: никогда не вызывает toString() апплета, даже когда апплет полностью загружен. Да и не документировано нигде, что броузер обязан использовать toString Java-класса. Решение, опирающееся на проверку строчного представления DHTML-объекта Applet, очевидным образом попадает в первую категорию: если некий броузер не захочет вызывать метод toString, то на таком броузере апплет ВСЕГДА будет считаться незагруженным, и пользователь вообще не сможет работать.

    Как все-таки удостовериться в JavaScript, что броузер достаточно хорош, чтобы понять конструкцию try...catch? Я пока склоняюсь пойти по этому пути.

    Даниэль Алиевский[досье]
    Не, ну понятно, что в MSIE вызов toString() ошибка, но браузер-то в javascript легко определить. Если браузер mozilla, вызывайте toString(), если нет, просто applet.

    Что касается вызова метода toString в браузере, то насколько я понимаю у любого объекта в javascript должен быть метод toString и если браузер не вызывает этот метод у апплета, тогда имеются сомнения в том, что в этом браузере вообще возможно вызывать методы апплета - безотносительно к поведению в данном случае mozilla.

    Короче, надо сначала найти такой браузер и желательно чтобы он был достаточно распространен, ибо в противном случае я сам в состоянии достаточно быстро написать браузер, который бы саботировал все попытки определения загруженности апплета.

    Ну да. Я просто не додумал. Действительно, надо просто в моей функции обратиться не к методу getAppletInfo, а к методу toString. В MSIE , правда, как и раньше, будет ошибка, но она благополучно ловится через window.onerror. Зато в Opera - и во всех броузерах, которые разрешают вызывать toString у недозагруженного апплета - никаких ошибок вообще не будет, просто toString вернет либо строку с кодовым словом, если апплет загружен, либо нечто умолчательное. При этом, вроде бы, не должно быть настолько странного броузера, чтобы у нормально загруженного апплета JavaScript-вызов toString не обратился бы к одноименному методу апплета.

    Кажется, найдено неплохое решение. Спасибо за помощь. Дотестирую его под всякими кривыми броузерами вроде Netscape 3 - и предложу для FAQ .

    Александр Самойлов[досье] "Что касается вызова метода toString в браузере, то насколько я понимаю у любого объекта в javascript должен быть метод toString и если браузер не вызывает этот метод у апплета, тогда имеются сомнения в том, что в этом браузере вообще возможно вызывать методы апплета..." - тут я не совсем вас понял, ведь как раз самый популярный MSIE считает, что никакого toString у объекта Applet нет, если апплет не загружен (к примеру, если указан неверный путь к классу). Я вообще не видел внятных указаний в документации, что КАЖДЫЙ JavaScript объект обязан обладать таким методом. Если таковые есть - ткните пальцем, если не трудно.

    цитата из справки для JScript

    The Object object is contained in all other JScript objects; all of its methods and properties are available in all other objects. The methods can be redefined in user-defined objects, and are called by JScript at appropriate times. The toString method is an example of a frequently redefined Object method.

    из нее, конечно нельзя однозначно сделать вывода, о том, что и для всех других интерпретаторов javascript подобное выполняется.

    что касается MSIE , то он не считает, что у апплета нет метода toString, он считает, что произошла неопределенная ошибка во время выполнения этого метода.

    например, если попытаться вызвать заведомо несуществующий метод у апплета то ошибка будет другой.

    Черт! Вы будете смеяться, но MSIE + Java 2 ВООБЩЕ не желает вызывать toString() у НОРМАЛЬНО загруженного апплета. Устойчиво выдает Unspecified error. А при умолчательном преобразовании в строку, соответственно, мой перекрытый toString попросту игнорируется.

    Может быть, конечно, у меня что-то не то с апплетом - надо бы, по идее, сделать чистый тест. Но в любом случае - если хотя бы на моем апплете это так, значит технология неверная.

    Что б его. Вчера забыл проверить на этой ситуации (проверял под Java 1.1.4). Сегодня полчаса убил на таинственный глюк страницы. Хуже того, в качестве "побочного эффекта" MSIE принялся глухо зависать при открытии страницы (видимо, из-за разных моих вспомогательных скриптов). Ужасно.

    Вернулся к старой методике с вызовом getAppletInfo().

    Так что, господа, жду дальнейших предложений. В частности - как отловить Оперу (чтобы бороться с ней отдельно).

    Владимир Палант[досье] Спасибо. Можно первоисточнк, если не затруднит? (Догадываюсь, что где-то на сайте opera.)

    Мне бы хотелось не столько обнаружить Оперу, сколько проверить версию JavaScript, что он поддерживает try...catch - совместимым с Opera способом. Микрософтоский вариант такой проверки - условная компиляция - естественно, под Opera не работает.

    На худой конец достаточно и проверки Оперы: в этом случае можно (надеюсь:-)) смело вызывать toString у апплета.

    Даниэль Алиевский[досье]
    а почему бы не использовать версию яваскрипт для отлова поддержки try catch


    var try_catch = false


    try_catch=true


    if (try_catch) {}

    правда в опере не проверял

    Даниэль Алиевский[досье]
    Нет, на opera.com рекомендуют проверять по User-Agent (http://www.opera.com/support/search/supsearch.dml?index=570) — ИМХО извращение. Проверять по window.opera надежней — никакой другой браузер это свойство поддерживать не станет.

    Opera поддерживает try/catch как минимум с версии 4.0, так что можете считать, что поддерживает всегда.

    Есть еще одна идея - пока не проверил. Обращение к свойствам DHTML -объекта (property), насколько я знаю, никогда не порождает исключений. Если такого свойства нет, просто возвращается null. Хорошо бы снабдить апплет неким свойством (к примеру, boolean iAmLoaded=true), и проверять, установлено ли оно. Насколько я понимаю, в случае Java 2 это не так просто - недостаточно завести public-поле, нужно объявлять пару методов get/set, как это полагается в JavaBeans (пока еще не изучил соответствующую документацию).

    Как считаете, насколько это надежная и кросс-броузерная техника?

    Не понял я, при чем тут JavaBeans, по-моему доступ к свойствам осуществляется без всяких get/set. Но в любом случае — проверять можно наличие метода, который для DHTML тоже свойство: if (typeof(applet.notifyAll) != "undefined") . А вот кроссбраузерность вам уже придётся самим проверить...

    Владимир Палант[досье]
    Намек на JavaBeans Introspection есть вот здесь: http://java.sun.com/j2se/1.4.2......loper_guide/compatibility.html
    Как я понял, проблема имела временный характер: у меня на компьютере во всех броузерах и JRE доступ к public-полю чудесно работает. Причем совершенно нетрудно добавить в апплет "настоящее" public-поле типа boolean, тогда не потребуется прибегать к более экзотическим приемам типа typeof(applet.notifyAll). (Кстати, упомянутый typeof не работает у меня в MSIE ни с 1.1.4, ни с Java 2.)

    Проблема в том, что раньше я применял как раз такую технику - проверку существования public-поля - и однажды столкнулся с проблемой, причем, очевидно, того самого неприятного первого типа: поле не обнаруживалось, апплет детектировался как незагруженный и начисто отказывался работать. Это произошло на 2 "чужих" компьютерах с вполне нормальной конфигурацией (MSIE + Java 2, что-то типа JRE 1.4.2_01), хотя на моем компьютере все работало. Естественно, я перестал пользоваться проверкой поля - от греха подальше.

    Но, может быть, я просто сделал все недостаточно грамотно? Скажем, не объявил методов get/set "по-JavaBean-овски"? Если я не увижу в документации четкого описания этой проблемы с объяснением, почему на некоторых броузерах доступ к обычному public-полю не работает, и указанием, как делать это корректно, я, конечно, не рискну применять проверку поля - слишком высока цена ошибки.

    Перехват сообщения об ошибке, как выяснилось, работает даже под Netscape 3. Но - немного не так, как нужно: этот древний броузер вызывает процедуру показа сообщения асинхронно с общим потоком JavaScript-кода, что приводит к тонким ошибкам. Пока не доотладил. Естественно, совместимость с Netscape 3 никому не нужна, но настораживает, что методика (обращение к методу апплета, или toString для Оперы, с перехватом ошибки) требует отладки "по новой" чуть ли не для каждого класса броузеров:(Видимо, все-таки техника кривая. А какая техника "прямая" - пока непонятно.

    С Netscape 3.0 песня оказалась совсем в другом. Этот броузер вообще не сильно дружил с обращениями типа document.xxxx, где xxxx - имя апплета. Даже для реально загруженного апплета он имел обыкновение при таком обращении выдавать целую пачку ошибок:
    Can"t reflect applet "(null)": not loaded yet
    (Самое смешное, что это происходит и при проверках типа "if (document.getElementById != null)...".) Борьба с этим очень проста. Достаточно каждое обращение к любому document.xxxx обрамлять кодом наподобие:
    var onerrorSaveLocal = window.onerror;
    window.onerror = null; // - avoiding an incorrect exception in Netscape Navigator 3
    var v = document.xxxx;
    window.onerror = onerrorSaveLocal;

    При этом, как и в Netscape 4, и во встроенном "броузере" из JavaBuilder, при недозагруженном апплете document.имяАпплета просто возврашает null.

    В общем, я потратил некоторое время и отладил свою процедуру под всеми броузерами, до которых смог "дотянуться" - включая предыдущие версии MSIE . Вот что получилось:

    Function showMyErrorMessage(msg,url,line) { if (window.errorMessageA != null) alert(window.errorMessageA+"(System error message: "+msg+")"+window.errorMessageB); window.onerror = window.onerrorSave; return true; } function getApp(name,notShowMessage) { // For compatibility with this function, all Java applets must override "toString()" method // and return a string containing "Successfully loaded Java applet" substring as it"s result. window.errorMessageA = window.errorMessageB = null; if (notShowMessage==null || !notShowMessage) { window.errorMessageA = "Error while accessing applet information for the \"" + name + "\" Java applet."; window.errorMessageB = "Maybe, this applet is not correctly loaded." + "Please wait until it will be completely loaded, " + "or please try to reload this page."; } var opera = window.opera != null; if (window.onerrorSave == null) window.onerrorSave = window.onerror; var app = null; var appInfo = null; var onerrorSaveLocal = window.onerror; window.onerror = null; // - avoiding an incorrect exception in Netscape Navigator 3 // ("Can"t reflect applet "(null)": not loaded yet") // sometimes appeared while accessing correctly loaded applets app = eval("document."+name); window.onerror = onerrorSaveLocal; var systemErrorMessage = null; /*@cc_on@*/ /*@if (@_jscript_version >= 5) try { // some MSIE (for example, MSIE 5.0) don"t understand onerror-based catching @else @*/ window.onerror = showMyErrorMessage; // catching exceptions while calling non-existing method /*@end @*/ appInfo = app == null? null: // a case of Netscape browser opera? app.toString(): // MSIE + Java2 cannot call applet"s toString app.getAppletInfo(); // MSIE and Mozilla (but not Opera) will catch an exception here /*@if (@_jscript_version >= 5) } catch(e) { systemErrorMessage = e==null || e.description==null? "unknown error": e.description+""; } @else @*/ window.onerror = window.onerrorSave; window.onerrorSave = null; /*@end @*/ if (app == null || systemErrorMessage != null || appInfo == null || (opera && (appInfo+"").indexOf("Successfully loaded Java applet")==-1)) { if (window.errorMessageA != null) { if (app == null) alert("Cannot find \"" + name + "\" Java applet." + window.errorMessageB); else if (systemErrorMessage != null) alert("An exception occured while accessing applet information for the \"" + name + "\" Java applet. (System exception information: " + systemErrorMessage + ")" + window.errorMessageB); else if (appInfo == null) alert("Cannot access applet information for the \"" + name + "\" Java applet." + window.errorMessageB); else alert("Cannot call \"" + name + "\" Java applet." + window.errorMessageB); } return null; } return app; }

    Как водится, MSIE доставили максимум проблем. Из относящихся к делу: MSIE 5.0, как выяснилось, отказывается блокировать сообщения об ошибках через window.onerror. Пришлось специально для "капризного" MSIE написать ветку c условной компиляцией и try..catch. На первый взгляд, try..catch - самое надежное решение, так что вполне логично применять его в самом популярном семействе броузеров. При этом в MSIE 4 (где нет try..catch), а также в Mozilla продолжает работать блокировка ошибки через window.onerror. В Opera используется вызов toString и проверка "кодового слова" внутри результата. Еще попутно выяснилось, что в MSIE 4 лучше не пытаться обращаться к апплету из onbeforeunload - могут быть ошибки.

    Я дошел даже до MSIE 3.0:-) Там, кажется, моя процедура не сработала, хотя, возможно, дело тут в том, что мои классы скомпилированы несовместимым с Java 1.0.2 способом, а поддерживать подобную совместимость у меня нет ни малейшего желания.

    Теперь у меня есть огромная просьба ко всем присутствующим. Пожалуйста, протестируйте эту процедуру с каким-нибудь апплетом на всех своих броузерах. Например, работает ли это в Unix Mozilla/Opera, или на Macintosh? Вo всех ли вариантах Windows+MSIE? Что насчет более ранних версий Opera?

    Я протестировал в следующих броузерах:
    Windows XP: MSIE 6.0 c Java 1.4.2 и Java 1.1.4, Mozilla 1.4, Opera 7.23, Netscape 4.5, Netscape Navigator 3.0;
    Windows NT 4.0: MSIE 5.0 с Java 1.4 и Java 1.1.4, Netscape 4.5, Netscape Navigator 3.0;
    Windows-95: MSIE 3.0 (Java 1.0.2), Netscape 4.5.

    Тестировать проще всего, указывая на странице заведомо неправильный путь к апплету (и, для сравнения, правильный) - по-моему, это достаточно похоже на ситуацию, когда апплет не догрузился. Если все нормально, то, по идее, процедура заслуживает помещения в FAQ .

    На этой странице кнопка "Get JVM information" (использующая вышеописанную функцию) должна срабатывать, как только апплет загрузится, либо "ругаться", пока он не загружен.

    (Кстати, в MSIE 3.0 эта техника таки не работает - в моей версии 3.02 JavaScript вообще отказывается что-либо делать, если апплет не загружен. И бог с ним.)

    Вопросы безопасности Технические условия и возможности Что такое Internet-Банкинг для корпоративных клиентов?
    Internet-Банкинг предназначен для предоставления услуг электронного банкинга корпоративным клиентам в онлайне.
    В Internet-Банкинге корпоративные клиенты могут формировать, подписывать и отправлять в Банк все типы финансовых документов, работать со справочниками корреспондентов и бенефициаров, отслеживать статусы документов, получать выписки и оборотно-сальдовые ведомости по своим счетам за произвольный период, обмениваться с банком письмами.
    Работать можно через любой web-браузер: Internet Explorer Firefox, Opera, Safari, Chrome и на всех настольных платформах: Windows, Mac OS X, Linux.
    Internet-Банкинг обеспечивает гарантированный уровень безопасности, содержит механизмы шифрования информации и ЭЦП, поддерживает работу с USB-токенами и смарт-картами «iBank 2 Key».
    Internet-Банкинг взаимодействует с бухгалтерскими программами (1С и др.), поддерживает одновременную работу сотрудников из разных офисов.
    Какие требования предъявляются к компьютеру для работы в Internet-Банкинге?
    • Любой современный компьютер с объемом свободной оперативной памяти не менее 128 Мбайт.
    • Любая современная операционная система - Windows 2000 и старше, Mac OS X, Linux и др.
    • Любой современный web-браузер c поддержкой Java - Microsoft Internet Explorer, Opera, Firefox, Safari, Chrome и др.
    • Доступ в Интернет. Рекомендуемая скорость соединения - 33,6 Кбит/сек и выше. В случае доступа в Интернет по телефонной коммутируемой линии необходимо наличие современного модема.
    • Для работы необходимо установить Java-машину, которую можно скачать с сайта разработчика .
    • Для защиты информации в систему «iBank 2» встроены СКЗИ, которые реализуют криптографические алгоритмы в соответствии с ГОСТ 28147-89 (шифрование, имитовставка), ГОСТ Р34.10-2001 (ЭЦП на эллиптических кривых) и ГОСТ Р34.11-94 (хеш-функция).
      Для использования СКЗИ получите у представителей Банка файлы необходимых криптобиблиотек и установите их к себе на компьютер.

    Можно ли работать в Internet-Банкинге с разных компьютеров?
    Да, можно. Поскольку Internet-Банкинг является модулем системы удаленного обслуживания «iBank 2», расположенной на сайте Банка, а не программой, которая устанавливается на конкретный компьютер. Для входа в Internet-Банкинг Вам необходимы компьютер, подключенный к сети Интернет, ключ ЭЦП и пароль.

    Регистрация в «Internet-Банкинг» Как начать использовать Internet-Банкинг?
    Вам необходимо выполнить следующие действия:
    • самостоятельно пройти регистрацию на сайте Вашего Банка. По окончании регистрации будут сгенерированы открытый и секретный ключи ЭЦП и сертификат открытого ключа ЭЦП, который необходимо распечатать, заполнить и заверить печатью Вашей организации (количество необходимых экземпляров сертификата регламентируется Банком);
    • далее Вам следует прийти в одно из отделений Вашего Банка и заключить договор на оказание услуг с использованием системы «iBank 2». При визите в Банк Вам необходимо предъявить документ, удостоверяющий личность и сертификат открытого ключа ЭЦП.

    Ничего не происходит при попытке зарегистрироваться. Не запускается Java-апплет.
    Ниже описаны наиболее распространенные причины невозможности запуска апплета и способы их решения: Открылась страница регистрации, на которой написано: «Загрузка Java-апплета...» и более ничего.
    Причина : Возможно на Вашем компьютере еще не установлена Java-машина.
    Решение : Установите Java и еще раз перейдите на страницу регистрации. Актуальную версию Java всегда можно скачать с сайта разработчика .

    Причина : Возможно в настройках Вашего браузера и/или proxy-сервера включена блокировка активных сценариев Java.
    Решение : Проверьте настройки Вашего браузера/proxy-сервера.
    Internet Explorer 7.0 : Запустите браузер, в главном меню выберите пункт Сервис->Свойства обозревателя , перейдите на вкладку Безопасность Другой . В списке Параметры перейдите к разделу Сценарии->Активные сценарии и установите флаг Разрешить .

    Появилось сообщение: «Подождите идет загрузка Java-апплета» и более ничего.
    Причина : Возможно в настройках Вашего браузера установлен запрет исполнения Java-скриптов.
    Решение : Проверьте настройки Вашего браузера.
    Internet Explorer 7.0: Запустите браузер, в главном меню выберите пункт Сервис->Свойства обозревателя , перейдите на вкладку Безопасность . Выберите требуемую зону Интернета и нажмите кнопку Другой . В списке Параметры перейдите к разделу Сценарии->Выполнять сценарии приложений Java и установите флаг Разрешить .
    Не запускается Java-апплет.
    Причина : Использование устаревшей версии java.
    Решение : Internet-Банкинг успешно работает со следующими версиями: Java 2 Standard Edition Runtime Environment Version 1.4.2 или выше. При использовании USB-токенов «iBank 2 Key» требуется Java SE 6. Рекомендуется включать автоматическое обновление и использовать последнюю версию Java. Актуальную версию всегда можно скачать с сайта разработчика .
    Java-апплет не подключается к банковскому серверу.
    Причина : Проблемы с подключением могут быть вызваны несколькими причинами, начиная от наличия у Вас локальных сетевых экранов (Firewall) и заканчивая блокировкой портов Вашим Интернет-провайдером.
    Решение : Необходимо связаться с администратором банка для уточнения номеров TCP-портов, которые необходимо открыть в IP-фильтре на Firewall.
    Что означает сообщение: «На Вашем компьютере не установлено криптосредство»?
    Для защиты информации в систему «iBank 2» встроены СКЗИ, которые реализуют криптографические алгоритмы в соответствии с ГОСТ. Для использования СКЗИ получите у представителей Банка файлы необходимых криптобиблиотек и установите их к себе на компьютер.

    Что означают предупреждения системы безопасности web-браузера?
    Отображение сообщений об ошибках сертификатов означает, что на посещаемом сайте возникли проблемы с сертификатами (истек срок действия сертификата, сертификат данного сайта получен из ненадежного источника и пр.). Сертификаты используются, чтобы установить идентификацию сторон и создать доверительные отношения для безопасного обмена данными. При появлении предупреждений об ошибках на сайте, который вы успешно посещали ранее, обратитесь к сотрудникам Банка для сообщения о проблеме и уточнения Ваших дальнейших действий.

    Если при регистрации допущены орфографические ошибки, это мешает потом подписанию Сертификата, Договора и т. д.?
    Если орфографические ошибки обнаружены в наименовании организации, Ф. И. О. подписантов - потребуется перерегистрация (новая регистрация).

    Ключи ЭЦП и Сертификаты Куда сохранять ключ ЭЦП при регистрации?
    Для защиты секретных ключей ЭЦП от хищения вредоносными программами рекомендуется использовать персональный аппаратный криптопровайдер (ПАК) - USB-токен или смарт-карту «iBank 2 Key».
    В случае отсутствия ПАК «iBank 2 Key» Вы можете сохранить ключ ЭЦП на любой съемный носитель - диск, флэш-карта (небезопасный вариант).

    Каких правил следует придерживаться при выборе пароля к ключу ЭЦП?

    • Пароль должен содержать не менее 6 различных символов;
    • Желательно, чтобы пароль состоял из латинских букв в разных регистрах, цифр и специальных символов;
    • Ваш пароль не должен состоять из одних цифр (так его легче подсмотреть "из-за спины"), не должен быть слишком коротким и состоять из символов, находящихся на одной линии на клавиатуре;
    • Пароль не должен быть значимым словом (Ваше имя, дата рождения, девичья фамилия и т. д.), которое можно легко подобрать или угадать.
    Как распечатать Сертификат открытого ключа ЭЦП при регистрации, если с первого раза этого сделать не удалось?
    Необходимо перейти на страницу входа в Internet-Банкинг и повторно нажать кнопку Новый клиент . Откроется окно, в котором необходимо выбрать пункт Администрирование ключей ЭЦП . Далее укажите местоположение Вашего созданного ключа ЭЦП и нажмите кнопку печать. Откроется стандартное окно печати документа.

    Что делать при возникновении подозрений о компрометации ключей ЭЦП?
    Возможные случаи компрометации:

    • хищение носителя ключей ЭЦП (ПАК «iBank 2 Key», USB-накопитель и пр.);
    • обнаружение попытки несанкционированного доступа к системе «iBank 2»;
    • увольнение сотрудника, имевшего доступ к ключам ЭЦП.
    При возникновении любых подозрений о компрометации необходимо прекратить использование ключа ЭЦП, обязательно сообщить в Банк и заблокировать ключи ЭЦП. Далее Вам предложат сформировать новые ключи ЭЦП.
    Что делать, если один из владельцев ключей ЭЦП планирует уйти в отпуск и не сможет подписывать документы?
    Необходимо оформить ключи ЭЦП на замещающего сотрудника, а также предоставить в Банк необходимые документы, подтверждающие полномочия замещающего сотрудника и их срок. Рекомендуем связаться с сотрудниками Банка для получения более детальных рекомендаций.
    Что означает и что делать в случае возникновения сообщения: «До окончания срока действия Вашего ключа осталось n дней»
    По истечению n дней Вы не сможете войти и работать в Internet-Банкинге с этим ключем ЭЦП. А значит Вам необходимо сформировать новые ключи ЭЦП, по окончании формирования распечатать и заверить печатью организации сертификат открытого ключа ЭЦП и обратиться в обслуживающее Вас отделение Банка для регистрации и дальнейшего использования нового ключа в Вашей работе. USB-токены и смарт-карты «iBank 2 Key» Что такое USB-токен и смарт-карта «iBank 2 Key»?
    Для защиты Ваших секретных ключей ЭЦП от хищений рекомендуется использовать в системах электронного банкинга персональный аппаратный криптопровайдер USB-токен «iBank 2 Key».
    USB-токен «iBank 2 Key» - это аппаратное USB-устройство, состоящее из PC/SC-совместимого USB-кардридера и SIM-карты, в которой реализованы все российские криптоалгоритмы и имеется защищенная область памяти, позволяющая хранить до 64-х секретных ключей ЭЦП.
    Главное достоинство USB-токена «iBank 2 Key» - неизвлекаемость секретного ключа ЭЦП клиента и формирование его ЭЦП под электронным документом по российскому криптографическому алгоритму ГОСТ Р34.10-2001 непосредственно внутри устройства. На вход USB-токена передается электронный документ, на выходе устройства - ЭЦП под документом. При этом секретный ключ ЭЦП генерируется самим USB-токеном, хранится в защищенной памяти токена и никогда, никем и ни при каких обстоятельствах не может быть считан из него.
    Для корректной работы ПАК «iBank 2 Key» может потребоваться установка специального драйвера. Все установочные файлы драйверов доступны на сайте «iBank2.RU».
    Подробную информацию Вы можете узнать из Руководства по работе с USB-токенами и смарт-картами «iBank 2 Key» .

    Смарт-карта «iBank 2 Key» полностью аналогична USB-токену «iBank 2 Key». К тому же они компактны, удобны в использовании и хранении.
    Где в компьютере можно увидеть USB-токен «iBank 2 Key», когда его подключишь?
    USB-токен - это не «флешка», поэтому его нельзя увидеть, кликнув по ярлыку «Мой компьютер». Его можно увидеть только в «Диспетчере устройств» как «Smart card reader»-«USB Token Device».
    При входе в Internet-Банкинг невозможно выбрать тип хранилища «USB-токен или смарт-карта».
    ВАЖНО! Сначала устанавливается драйвер, а только потом USB-токен «iBank 2 Key» вставляется в порт компьютера!
    Если Вы сделали наоборот, то извлеките USB-токен из порта. В диспетчере устройств компьютера найдите «Устройство чтения Смарт-карт» и удалите все его компоненты. Установите драйвер USB-токена «iBank 2 Key» повторно. Перезагрузите компьютер. Только после этого Вы можете подключать USB-токен.
    Невозможно создать новый ключ ЭЦП при использовании смарт-карты «iBank 2 Key».
    Установите Sun Java Plugin 1.6 . Другие версии Java не поддерживают технологию работы со смарт-картами. Повторите процесс регистрации.
    Почему я не могу выбрать USB-токен «iBank 2 Key» в поле выбора ключа?
    При возникновении этой ошибки попробуйте установить последнюю версию Java-машины.
    У меня Windows Vista. Не устанавливается драйвер USB-токена «iBank 2 Key».
    При установке драйвера USB-токена «iBank 2 Key» для Windows Vista необходимы права АДМИНИСТРАТОРА, т. е. необходимо запускать исполняемые файлы от имени администратора.

    Вопросы безопасности Механизмы защиты информации в системе «iBank 2».
    «iBank 2» относится к классу систем защищенного электронного документооборота.
    Для обеспечения информационной безопасности в системе «iBank 2» используются:
    • Электронная цифровая подпись (ЭЦП) под электронными документами - для обеспечения целостности и аутентичности (доказательство авторства) документов в системе.
      Для формирования ЭЦП клиента в системе реализованы российские криптографические алгоритмы в соответствии с ГОСТ 28147-89 (шифрование, имитовставка), ГОСТ Р34.11-94 (хеш-функция) и ГОСТ Р34.10-2001 (ЭЦП на эллиптических кривых).
    • Механизм криптографической аутентификации сторон - для обеспечения защищенного взаимодействия через Интернет. Обеспечение криптографической аутентификации сторон достигается применением защищенного протокола SSL в процессе установления соединения между web-сервером банка и клиентом. Для подтверждения подлинности web-сервера осуществляется сравнение доменного имени загружаемого сайта банка с указанным в сертификате web-сервера.
    • Шифрование данных - для обеспечения конфиденциальности передаваемой через Интернет информации. Шифрование информации осуществляется с помощью сессионных ключей, генерируемых на этапе установления соединения между клиентом и Сервером Приложения iBank 2.
    Для использования функций криптографической защиты в системе «iBank 2» встроена поддержка следующих многоплатформенных криптобиблиотек, сертифицированных ФСБ:
    • ПБЗИ «Агава-С 5.0» компании «Р-Альфа» (сертификат соответствия ФСБ РФ рег. № СФ/114-1171 от 1 августа 2008 года);
    • СКЗИ «Крипто-КОМ 3.2» компании «Сигнал-КОМ» (сертификаты соответствия рег. № СФ/114-1068 от 7 ноября 2007 года и рег. № СФ/124-1070 от 15 июля 2008 года для вариантов исполнения 1, 5, 12 и 16).
    В системе «iBank 2» ведутся контрольные архивы, в которых хранятся все электронные документы с ЭЦП для разрешения конфликтных ситуаций. В системе ведется история документов - кем и когда документ был создан, отредактирован, подписан, исполнен или отвернут.
    Какие меры безопасности необходимо соблюдать при работе в Internet-Банкинге?
    Меры безопасности при работе с ЭЦП:
    • Пароль на доступ к секретному ключу должен быть известен только Вам как владельцу ключа;
    • Для защиты секретных ключей ЭЦП от хищения вредоносными программами рекомендуется использовать персональный аппаратный криптопровайдер (ПАК) - USB-токен или смарт-карту «iBank 2 Key»;
    • В случае отсутствия ПАК файл-хранилище ключей сохраните на отчуждаемом носителе (USB-накопитель);
    • Не допускается сохранять его в местах, где к нему может получить доступ кто-либо, кроме Вас. Отчуждаемый носитель с хранилищем ключей необходимо тщательно оберегать от несанкционированного доступа;
    • Не копируйте ЭЦП и не передавайте ее никому;
    • Не пользуйтесь Internet-Банкингом в Интернет-кафе, а так же там, где Вы не уверены в безопасности компьютеров;
    • При увольнении ответственного сотрудника, имевшего доступ к секретному ключу ЭЦП, обязательно сообщите в Банк и заблокируйте ключ ЭЦП;
    • При возникновении любых подозрений на компрометацию (копирование) секретных ключей ЭЦП или компрометацию среды исполнения (наличие в компьютере вредоносных программ) – обязательно сообщить в Банк и заблокировать ключи ЭЦП.
    Меры по защите компьютера, с которого осуществляется работа в Internet-Банкинге:
    • Соблюдайте регламент ограниченного физического доступа к данному компьютеру. Должен быть утвержден список сотрудников организации, включая ответственных сотрудников и технический персонал, которым разрешен доступ к компьютерам, с которых осуществляется работа в системе «iBank 2»;
    • Используйте и оперативно обновляйте специализированное ПО для защиты информации - антивирусное ПО, персональные межсетевые экраны, средства защиты от несанкционированного доступа и пр.;
    • Используйте и оперативно обновляйте системное и прикладное ПО только из доверенных источников, гарантирующих отсутствие вредоносных программ. При этом необходимо обеспечить целостность получаемых на носителях или загружаемых из Интернета обновлений;
    • Соблюдайте правила безопасной работы в Интернете, а именно: не подключайте к компьютеру непроверенные на наличие вирусов отчуждаемые носители, не читайте подозрительных электронных писем, максимально ограничьте использование Интернет-пейджеров (ICQ и пр.) и т. п.

    В статье, я расскажу как исправить ошибку Java апплет не загружен. На протяжении более чем десятилетия существовало большое количество веб-технологий. Так, например, для мультимедиа и простых игр использовался Flash, а для проведения операций, предъявляющих высокие требования к безопасности – ActiveX и Java. Но если разработанная Microsoft ActiveX уже давно канула в лету, то Java EE продолжает быть актуальной до сих пор. И дело не в том, что не существует достойных и более простых для конечного пользователя аналогов (они-то как раз появились несколько лет назад), проблема в том, что некоторые организации вложили десятки и сотни тысяч долларов в разработку приложений на основании этих технологий, и они просто так не могут от них отказаться. Именно поэтому, пользователи при попытке войти в определенный сервис могут видеть сообщение: Java апплет не загружен, что делать если вы повстречали его мы как раз и рассмотрим ниже.

    У некоторых клиентов ВТБ24 при попытки зайти в ВТБ24 онлайн возникает ошибка. Она как раз связана с тем, что Java апплет либо не установлен в системе, либо он отключен.

    Чтобы исправить эту ошибку с загрузкой Java и без проблем войти в панель управления счетом потребуется выполнить ряд простых действий.

    Что делать, если Java апплет не загружен

    В первую очередь потребуется установить само программное обеспечение. Если оно загружено, но не включено, все равно скачайте – пусть будет установлена самая свежая версия. Для этого:

  • Посетите страницу загрузки Java на официальном сайте ;
  • Ресурс должен самостоятельно определить операционную систему и предложить ссылку на загрузку нужной версии ПО;
  • Кликните на красную кнопку «Загрузить Java бесплатно»;
  • После этого сразу начнется процесс загрузки;
  • Запустите скаченный файл и проследуйте инструкциям;
  • Перезагрузите браузер.
  • Следует отметить, что в Google Chrome (начиная с 42-й версии) апплет Java официально не поддерживается, так как корпорация считает соответствующую технологию устаревшей. Поэтому, чтобы воспользоваться Java запустите другой веб-браузер, например, FireFox.

    Чтобы проблем с Java не возникало, выполните следующие действия:

  • Запустите Firefox (если он отсутствует, то скачайте и установите его с официального сайта);
  • Откройте меню программы и нажмите на «Дополнения»;
  • Оказавшись на соответствующей странице, перейдите на вкладку «Плагины»;
  • Напротив пункта «модуль платформы Java» будет переключатель – переведите его в положение «Всегда включать» (если он уже включен, то ничего не делайте);
  • Можете перезагрузить браузер.
  • После выполнения указанных действий заходите на интересующий вас сайт – весь его функционал (конечно, если он не использует других сторонних технологий) будет работать, а ошибки с загрузкой Java апплет не возникнет.

    Можно ли обойтись без Java

    Если у вас нет необходимости использовать веб-приложения (как в случае в банковским клиентом ВТБ24), созданные на основании Java EE, тогда соответствующий апплет вам ни к чему. Постепенно даже крупные компании переходят на более актуальные сейчас для веб-а технологии, делая взаимодействие с функциями их сервисов намного проще для конечного пользователя.

    Вконтакте