15 ноября 2013 г.

Будущее Java-приложений

Смешная заметка в одном из блогов на официальном портале Oracle.

Заметка о том, что после выхода очередного обновления Java Runtime Environment (Java Platform SE 7 U45), многие приложения (в том числе и продукты Oracle !) стали показывать ошибку: "This application will be blocked in a future Java security update because the JAR file manifest does not contain the Permissions attribute. Please contact the Publisher for more information." (мол, при следующем обновлении, данное приложение будет заблокировано, поскольку конфигурационные файлы не отвечают высоким стандартам безопасности).

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

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

Заказчики без действующей технической поддержки на продукты Oracle не смогут перейти на новую версию ПО, которую будет требовать новое обновление Java. И потому будут вынуждены использовать старую версию Java без всех будущих исправлений.

3 комментария:

  1. Для тех, кто пришёл с поисковых систем:

    Если вы пользователь ПО - предупреждение просто информационное.

    Если вы разработчик - то вас просят, чтобы ваш applet/jar содержал файл MANIFEST.MF с атрибутом Permissions.

    Пример содержимого MANIFEST.MF:

    Manifest-Version: 1.0
    Codebase: *
    Permissions: all-permissions
    Application-Library-Allowable-Codebase: *
    Caller-Allowable-Codebase: *
    Application-Name: Digital Certificate
    Ant-Version: Apache Ant 1.8.3
    Created-By: 1.6.0_25-b06 (Sun Microsystems Inc.)

    ОтветитьУдалить
  2. В чем моя ошибка? использую следующий манифест...Но все равно у меня появляется окно с сообщением

    this application is going to perform an insecure operation

    Manifest-Version: 1.0
    X-COMMENT: Main-Class will be added automatically by build
    Codebase: *
    Permissions: all-permissions
    Caller-Allowable-Codebase: *
    Application-Name: uSURFIT
    Name: uSURFIT
    Built-By: USURFIT Inc.
    Implementation-Version: 1.0 2013
    Implementation-Vendor: uSURFIT
    Application-Library-Allowable-Codebase: *
    Trusted-Library: true

    ОтветитьУдалить
    Ответы
    1. Если после добавления permissions сообщение об ошибке по-прежнему появляется значит или манифест не добавился (и нужно удостовериться, что он действительно используется) или он где-то закешировался (возможно, поможет очистка кэша браузера).

      Удалить