Ключевые моменты выпуска Java 8


Этот раздел касается:
  • Платформы: Нет
  • Браузеры: Нет
  • Версии Java: 8.0

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


Java 8 (обновление 441) (8u441)

Ключевые моменты выпуска
  • JDK 8u441 содержит версию 2024b данных часовых поясов IANA.
    Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • JavaFX больше не будет входить в состав JDK/JRE 8
    Данный выпуск JDK и JRE 8 (обновление 441) – это последний выпуск, включающий JavaFX. Как было объявлено в 2020 году, поддержка JavaFX в JDK 8, последней коммерчески поддерживаемой корпорацией Oracle версии JavaFX, будет прекращена в марте 2025 года. Соответственно, JDK 8, обновление 441 – это последнее обновление JDK/JRE 8 с JavaFX. Oracle продолжить разрабатывать и выпускать JavaFX в виде автономных модулей в рамках проекта OpenJFX только для последних версий Java. Подробнее см. здесь: Обновление дорожной карты Java SE, весна 2024.
  • Прочие примечания. Поддержка базы данных часовых поясов 2024b
    База данных часовых поясов IANA обновлена до версии 2024b. Эта версия включает, главным образом, изменения, улучшающие хронологические данные для Мексики, Монголии и Португалии. Также изменяется сокращение одной метки времени для часового пояса MET. Кроме того, добавлена запись "Азия/Чойбалсан", часовой пояс которой соответствует записи "Азия/Улан-Батор".
    См. JDK-8339637
Регулярное обновление JDK

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

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в документе "Критические обновления, оповещения системы безопасности и бюллетени". Не рекомендуется использовать этот пакет JDK (версия 8u441) после выхода следующего критического обновления, запланированного на 15 апреля 2025 г.

Служба Java Management Service, доступная всем пользователям, поможет найти уязвимые версии Java в ваших системах. Клиенты и подписчики Java SE, работающие в Oracle Cloud, могут использовать службу Java Management Service для обновления сред выполнения Java и проведения дополнительных проверок безопасности, например для выявления потенциально уязвимых сторонних библиотек, используемых программами Java. Если вы – существующий пользователь службы Java Management Service, нажмите здесь для входа на инфопанель. Документация Java Management Service содержит список функций, доступных как всем пользователям, так и только клиентам. Подробнее об использовании службы Java Management Service для мониторинга и обеспечения безопасности установок Java.

Для систем, которые не могут подключиться к серверам Oracle, срок действия JRE (версия 8u441) определяется вспомогательным механизмом и заканчивается 15 мая 2025 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Более полный список ошибок, исправленных в этом выпуске, см. в Примечаниях к выпуску 8u441.


Java 8 (обновление 431) (8u431)

Ключевые моменты выпуска
  • JDK 8u431 содержит версию 2024a данных часовых поясов IANA.
    Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Устраненные существенные неполадки. Обновление JDK RPM оставляет потерянные записи альтернатив
    Исправлена неполадка с записями в группах "java" и "javac", которые некорректно обрабатывались при обновлении RPM.
    Обновление с более ранней версии Java RPM, установленной в общей папке (/usr/lib/jvm/jdk-${FEATURE}-oracle-${ARCH}), до версии Java RPM, устанавливающейся в папку для конкретной версии (/usr/lib/jvm/jdk-${VERSION}-oracle-${ARCH}), приводит к тому, что более старые записи Java в группах "java" и "javac" не удаляются.
    JDK-8336107 (не общедоступно)
  • Другие примечания. Новые предельные значения по умолчанию в реализациях HTTP в JDK
    Для подключений HTTP в JDK добавлены новые предельные значения по умолчанию.
    Теперь во встроенной в JDK реализации обработчика протокола URL-адресов для подключений HTTP (HttpURLConnection) установлены новые предельные значения по умолчанию для максимального размера заголовков ответов. Эти значения принимаются от удаленной стороны. Значение по умолчанию составляет 384 КБ (393216 байт) и рассчитывается, как совокупный размер всех имен и значений заголовков плюс служебные данные в 32 байта на каждую пару имени и значения заголовка.
    JDK-8328286 (не общедоступно)
  • Другие примечания. Добавлены корневые сертификаты ЦС SSL.com TLS, выпущенные в 2022 г.
    В доверенное хранилище cacerts добавлены следующие корневые сертификаты:
    + SSL.com
    + ssltlsrootecc2022
    DN: CN=SSL.com TLS ECC Root CA 2022, O=SSL Corporation, C=US
    + SSL.com
    + ssltlsrootrsa2022
    DN: CN=SSL.com TLS RSA Root CA 2022, O=SSL Corporation, C=US
    См. JDK-8341057
  • Другие примечания. Сертификаты сервера TLS, имеющие в качестве якоря доверия корневые сертификаты Entrust и выпущенные после 11 ноября 2024 года, исключаются из числа доверенных
    JDK исключит из числа доверенных сертификаты сервера TLS, выпущенные после 11 ноября 2024 года и имеющие в качестве якоря доверия корневые сертификаты Entrust, следуя аналогичным планам, недавно объявленным компаниями Google и Mozilla. Список затронутых сертификатов включает в себя сертификаты AffirmTrust, которыми управляет Entrust.
    См. JDK-8337664
Регулярное обновление JDK

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

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в документе "Критические обновления, оповещения системы безопасности и бюллетени". Не рекомендуется использовать этот JDK (версия 8u431) после выхода следующего критического обновления, запланированного на 21 января 2025 г.

Служба Java Management Service, доступная всем пользователям, поможет найти уязвимые версии Java в ваших системах. Клиенты и подписчики Java SE, работающие в Oracle Cloud, могут использовать службу Java Management Service для обновления сред выполнения Java и проведения дополнительных проверок безопасности, например для выявления потенциально уязвимых сторонних библиотек, используемых программами Java. Если вы – существующий пользователь службы Java Management Service, нажмите здесь для входа на инфопанель. Документация Java Management Service содержит список функций, доступных как всем пользователям, так и только клиентам. Подробнее об использовании службы Java Management Service для мониторинга и обеспечения безопасности установок Java.

Для систем, которые не могут подключиться к серверам Oracle, срок действия JRE (версия 8u431) определяется вспомогательным механизмом и заканчивается 21 февраля 2025 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Более полный список ошибок, исправленных в этом выпуске, см. в Примечаниях к выпуску 8u431.


Java 8 (обновление 421) (8u421)

Ключевые моменты выпуска
  • JDK 8u421 содержит версию 2024a данных часовых поясов IANA.
    Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Известная проблема. Использование хранилища ключей браузера в Windows
    Если в Windows включена функция "Использовать сертификаты и ключи в хранилище ключей браузера" (она включена по умолчанию), Java WebStart и Java Plugin могут получить доступ к сертификатам, которые в данный момент являются доверенными для локального компьютера. Нет гарантии, что доступен полный список доверенных сертификатов, поскольку сертификаты загружаются динамически. В результате у Java-апплетов и приложений Java WebStart могут могут возникнуть проблемы с проверкой подписи и защищенным соединением, вызванные отсутствием соответствующих сертификатов, поскольку базовая структура развертывания может получить доступ только к тем сертификатам, которые активны на момент запуска приложения.
    JDK-8330728 (не общедоступно)
  • Другие примечания. Добавление аргумента STATIC=1 в программу установки JRE
    Это исправление добавит аргумент программы установки STATIC=1 и объявит устаревшим аргумент программы установки RETAIN_ALL_VERSIONS=1. Передача STATIC=1 защитит старые версии JRE 8 от удаления во время ручного или автоматического обновления.
    JDK-8313223 (не общедоступно)
  • Другие примечания. Добавлены корневые сертификаты ЦС GlobalSign R46 и E46
    Следующие корневые сертификаты были добавлены в хранилище доверенных сертификатов cacerts:
    + GlobalSign
    + globalsignr46
    DN: CN=GlobalSign Root R46, O=GlobalSign nv-sa, C=BE

    + GlobalSign
    + globalsigne46
    DN: CN=GlobalSign Root E46, O=GlobalSign nv-sa, C=BE

    См. JDK-8316138
  • Другие примечания. Программа установки создаст папку соединения в новом местоположении
    Среда JRE будет установлена в следующем местоположении: C:\Program Files\Java\latest\jre-$fullversion, где $fullversion – техническая версия JRE. Например, версия 8u421 будет установлена в местоположении C:\Program Files\Java\latest\jre-1.8.0_421.

    "C:\Program Files" будет скорректировано до "C:\Program Files (x86)" для 32-разрядной версии Java.

    Соединение будет создано в C:\Program Files\Java\latest\jre-1.8. Оно будет указывать на последнюю среду JRE в семействе 8.
    JDK-8329700 (не общедоступно)
Регулярное обновление JDK

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

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в документе "Критические обновления, оповещения системы безопасности и бюллетени". Не рекомендуется использовать этот JDK (версия 8u421) после выхода следующего критического обновления, запланированного на 15 октября 2024 г.

Служба Java Management Service, доступная всем пользователям, поможет найти уязвимые версии Java в ваших системах. Клиенты и подписчики Java SE, работающие в Oracle Cloud, могут использовать службу Java Management Service для обновления сред выполнения Java и проведения дополнительных проверок безопасности, например для выявления потенциально уязвимых сторонних библиотек, используемых программами Java. Если вы – существующий пользователь службы Java Management Service, нажмите здесь для входа на инфопанель. Документация Java Management Service содержит список функций, доступных как всем пользователям, так и только клиентам. Подробнее об использовании службы Java Management Service для мониторинга и обеспечения безопасности установок Java.

Для систем, которые не могут подключиться к серверам Oracle, срок действия JRE (версия 8u421) определяется вспомогательным механизмом и заканчивается 15 ноября 2024 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Более полный список ошибок, исправленных в этом выпуске, см. в Примечаниях к выпуску 8u421.


Java 8 (обновление 411) (8u411)

Ключевые моменты выпуска
  • JDK 8u411 содержит версию 2024a данных часовых поясов IANA.
    Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция: добавлены корневые сертификаты Certainly R1 и E1
    В доверенное хранилище cacerts добавлены следующие корневые сертификаты:+ Certainly
    + certainlyrootr1
    DN: CN=Certainly Root R1, O=Certainly, C=US
    + Certainly
    + certainlyroote1
    DN: CN=Certainly Root E1, O=Certainly, C=US

    См. JDK-8321408
  • Новая функция: включение режима безопасной проверки подписей XML по умолчанию
    Режим безопасной проверки подписей XML включен по умолчанию (ранее он не был включен по умолчанию, если не запускался вместе с диспетчером безопасности). Если проверка подписей XML включена, то выполняется более строгая проверка алгоритмов и других ограничений, как указано в свойстве безопасности jdk.xml.dsig.secureValidationPolicy.
    При необходимости и на свой страх и риск можно отключить этот режим для приложений, установив для свойства org.jcp.xml.dsig.secureValidation значение Boolean.FALSE с помощью API-интерфейса DOMValidateContext.setProperty().
    См. JDK-8259801
Регулярное обновление JDK

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

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в документе "Критические обновления, оповещения системы безопасности и бюллетени". Не рекомендуется использовать этот JDK (версия 8u411) после выхода следующего критического обновления, запланированного на 16 июля 2024 г.

Для систем, которые не могут подключиться к серверам Oracle, срок действия JRE (версия 8u411) определяется вспомогательным механизмом и заканчивается 16 августа 2024 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Более полный список ошибок, исправленных в этом выпуске, см. в Примечаниях к выпуску 8u411.


Java 8 (обновление 401) (8u401)

Ключевые моменты выпуска
  • JDK 8u401 содержит версию 2023c данных часовых поясов IANA.
    Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция: новое системное свойство переключения режима безопасной проверки подписи XML
    Добавлено новое системное свойство под названием org.jcp.xml.dsig.secureValidation. Его можно использовать для включения и отключения режима безопасной проверки подписи XML. Для включения у системного свойства должно быть установлено значение "true", для отключения - "false". Любое другое значение системного свойства будет обработано как "false". Если системное значение установлено, оно заменяет значение свойства XMLCryptoContext. Режим безопасной проверки включен по умолчанию при запуске кода с SecurityManager
    См. JDK-8301260
  • Новая функция: событие JDK Flight Recorder для десериализации
    Добавлено новое событие JDK Flight Recorder (JFR) для мониторинга десериализации объектов. Если JFR включен и его конфигурация содержит события десериализации, JFR будет создавать события при каждой попытке работающей программы десериализовать объект. Событие десериализации называется java/deserialization, и оно отключено по умолчанию. Событие десериализации содержит сведения, которые используются механизмом фильтра сериализации. Кроме того, если фильтр включен, событие JFR указывает, принял или отклонил фильтр десериализацию объекта.
    См. JDK-8261160
Регулярное обновление JDK

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

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в документе "Критические обновления, оповещения системы безопасности и бюллетени". Не рекомендуется использовать этот пакет JDK (версия 8u401) после выхода следующего критического обновления, запланированного на 16 апреля 2024 г.

Клиентам продуктов Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества компьютеров, следует рассмотреть возможность использования Java Management Service (JMS).

Для систем, которые не могут подключиться к серверам Oracle, срок действия JRE (версия 8u401) определяется вспомогательным механизмом и заканчивается 16 февраля 2024 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE показывает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Более полный список ошибок, исправленных в этом выпуске, см. в Примечаниях к выпуску 8u401.


Java 8 (обновление 391) (8u391)

Ключевые моменты выпуска
  • JDK 8u391 содержит версии 2023c данных часовых поясов IANA.
    Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Новое событие JFR: jdk.SecurityProviderService
    Новое событие Java Flight Recorder (JFR) добавлено в запись сведений для вызовов java.security.Provider.getService(String type, String algorithm).
    См. JDK-8254711
  • Удаленная функция. Удален корневой сертификат SECOM Trust System RootCA1
    Следующий корневой сертификат SECOM Trust System удален из хранилища ключей cacerts:
    + имя псевдонима "secomscrootca1 [jdk]"
    Уникальное имя: OU=Security Communication RootCA1, O=SECOM Trust.net, C=JP

    См. JDK-8295894
  • Удаленная функция. Удаление поддержки Linux ARM32 из JDK 8
    Удалена поддержка платформы для Linux ARM32 в JDK 8. В результате выгрузка ABI типа Hard Float для ARM32 будет недоступна. Операционные службы, поддерживающие ARM32, достигли даты окончания срока службы, поэтому поддержка ОС недоступна.
    JDK-8305927 (не общедоступно)
  • Другие примечания. Добавлен корневой сертификат ЦС Certigna
    В доверенное хранилище cacerts добавлен следующий корневой сертификат:
    + Certigna (Dhimyotis)
    + certignarootca
    DN: CN=Certigna Root CA, OU=0002 48146308100036, O=Dhimyotis, C=FR

    См. JDK-8314960
Регулярное обновление JDK

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

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в документе "Критические обновления, оповещения системы безопасности и бюллетени". Не рекомендуется использовать этот JDK (версия 8u391) после выхода следующего критического обновления, запланированного на 16 января 2024 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

Для систем, которые не могут подключиться к серверам Oracle, срок действия JRE (версия 8u391) определяется вспомогательным механизмом и заканчивается 16 февраля 2024 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Более полный список ошибок, исправленных в этом выпуске, см. в Примечаниях к выпуску 8u391.


Java 8 (обновление 381) (8u381)

Ключевые моменты выпуска
  • JDK 8u381 содержит версии 2023c данных часовых поясов IANA.
    Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Разрешено использование дополнительных символов для поддержки GB18030-2022
    Национальный орган по стандартизации КНР (CESI) недавно опубликовал GB18030-2022, обновленную версию стандарта GB18030, и синхронизирует GB18030 с Unicode версии 11.0. Реализация набора символов для этого нового стандарта теперь заменила предыдущий стандарт 2000. Однако этот новый стандарт имеет некоторые несовместимые изменения по сравнению с предыдущей реализацией. Для тех, кому необходимо использовать старые сопоставления, введено новое системное свойство jdk.charset.GB18030. При установке значения 2000 используются сопоставления предыдущих выпусков JDK для набора символов GB18030, которые основаны на стандарте 2000.
    См. JDK-8307229
  • Теперь JDK принимает ключи RSA в формате PKCS#1
    Закрытые и открытые ключи RSA в формате PKCS#1 теперь могут приниматься поставщиками JDK, такими как RSA KeyFactory.impl от поставщика SunRsaSign. Объект закрытого или открытого ключа RSA должен иметь формат PKCS#1 и кодировку, соответствующую синтаксису ASN.1 для закрытого ключа и открытого ключа PKCS#1 RSA.
    См. JDK-8023980
  • Другие примечания. Поддержка cgroup v2 и улучшения в 8u381
    JDK 8u381 включает несколько усовершенствований и исправлений для улучшения поддержки cgroup v1 и v2 для контейнеров. Улучшения включают в себя точное определение пределов ресурсов контейнеров, корректную отчетность о собранных метриках контейнеров, печать дополнительной информации о контейнерах и повышение стабильности приложений в контейнерных средах.
    См. JDK-8307634
  • Другие примечания. Добавлен корневой сертификат ЦС TWCA
    В доверенное хранилище cacerts добавлен следующий корневой сертификат:
    + TWCA
    + twcaglobalrootca
    DN: CN=TWCA Global Root CA, OU=Root CA, O=TAIWAN-CA, C=TW

    См. JDK-8305975
  • Другие примечания. Добавлено 4 корневых сертификата ЦС GTS
    В доверенное хранилище cacerts добавлены следующие корневые сертификаты:
    + Google Trust Services LLC
    + gtsrootcar1
    DN: CN=GTS Root R1, O=Google Trust Services LLC, C=US
    + Google Trust Services LLC
    + gtsrootcar2
    DN: CN=GTS Root R2, O=Google Trust Services LLC, C=US
    + Google Trust Services LLC
    + gtsrootecccar3
    DN: CN=GTS Root R3, O=Google Trust Services LLC, C=US
    + Google Trust Services LLC
    + gtsrootecccar4
    DN: CN=GTS Root R4, O=Google Trust Services LLC, C=US

    См. JDK-8307134
  • Другие примечания. Добавлено 2 корневых сертификата ЦС TLS Microsoft Corporation
    В доверенное хранилище cacerts добавлены следующие корневые сертификаты:
    + Microsoft Corporation
    + microsoftecc2017
    DN: CN=Microsoft ECC Root Certificate Authority 2017, O=Microsoft Corporation, C=US
    + Microsoft Corporation
    + microsoftrsa2017
    DN: CN=Microsoft RSA Root Certificate Authority 2017, O=Microsoft Corporation, C=US

    См. JDK-8304760
Регулярное обновление JDK

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

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в документе "Критические обновления, оповещения системы безопасности и бюллетени". Не рекомендуется использовать этот JDK (версия 8u381) после выхода следующего критического обновления, запланированного на 17 октября 2023 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

Для систем, которые не могут подключиться к серверам Oracle, срок действия JRE (версия 8u381) определяется вспомогательным механизмом и заканчивается 17 ноября 2023 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Более полный список ошибок, исправленных в этом выпуске, см. в Примечаниях к выпуску 8u381.


Java 8 (обновление 371) (8u371)

Ключевые моменты выпуска
  • JDK 8u371 содержит версии 2022g данных часовых поясов IANA.
    Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Добавлена встроенная библиотека по умолчанию GSS-API в Windows
    В JDK на платформе Windows добавлена встроенная библиотека GSS-API. Библиотека работает только на стороне клиента и использует учетные данные по умолчанию. Она будет загружаться, если для свойства sun.security.jgss.native установлено значение "true". Пользователь может загрузить встроенную библиотеку GSS-API стороннего разработчика, настроив системное свойство sun.security.jgss.lib в соответствии с собственным путем.
    См. JDK-6722928
  • Удаленные функции и параметры. Удалены реализация механизма javax.script и com.apple.concurrent.Dispatch для macOS AArch64
    Механизм AppleScript, реализующий API-интерфейс механизма javax.script, удален без замены. Механизм AppleScript работал несогласованно. Файл конфигурации сервисов (META-INF/services) отсутствовал и работал случайным образом только при установке JDK 7 или JDK 8 на системах, на которых уже установлена версия AppleScriptEngine.jar от Apple.
    API com.apple.concurrent.Dispatch был реализован только для систем Mac. Он был перенесен в JDK 7u4 с портом кода JDK 6 от Apple. Разработчикам рекомендуется использовать стандартные API-интерфейсы java.util.concurrent.Executor и java.util.concurrent.ExecutorService.
    См. JDK-8297475
  • Другие примечания. Добавлен корневой сертификат ЦС Certigna(Dhimyotis)
    В доверенное хранилище cacerts добавлен следующий корневой сертификат:
    + Certigna (Dhimyotis)
    + certignarootca
    DN: CN=Certigna, O=Dhimyotis, C=FR

    См. JDK-8245654
  • Другие примечания. SSLv2Hello и SSLv3 удалены из протоколов TLS с поддержкой по умолчанию
    SSLv2Hello и SSLv3 удалены из протоколов TLS с поддержкой по умолчанию.

    После этого обновления, если SSLv3 удален из свойства безопасности jdk.tls.disabledAlgorithms, API-интерфейсы SSLSocket.getEnabledProtocols(), SSLServerSocket.getEnabledProtocols(), SSLEngine.getEnabledProtocols() и SSLParameters.getProtocols() будут возвращать "TLSv1.3, TLSv1.2, TLSv1.1, TLSv1". "SSLv3" не будет возвращен в этот список.
    Если клиенту или серверу все еще требуется использовать протокол SSLv3, они могут сделать это, включив его в свойствах системы jdk.tls.client.protocols или jdk.tls.server.protocols, или с помощью API-интерфейсов SSLSocket.setEnabledProtocols(), SSLServerSocket.setEnabledProtocols() и SSLEngine.setEnabledProtocols().
    См. JDK-8190492
Регулярное обновление JDK

Oracle рекомендует обновлять JDK, применяя каждое критическое обновление. На странице Базовый уровень безопасности можно определить последнюю версию для каждого семейства выпусков.

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в бюллетене Critical Patch Updates, Security Alerts and Bulletins. Не рекомендуется использовать этот JDK (версия 8u371) после выхода следующего выпуска критического обновления, запланированного на 18 июля 2023 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

Для систем, которые не могут подключиться к серверам Oracle, срок действия JRE (версия 8u371) определяется вспомогательным механизмом и заканчивается 18 августа 2023 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Более полный список ошибок, исправленных в этом выпуске, см. в Примечаниях к выпуску 8u371.


Java 8 (обновление 361) (8u361)

Ключевые моменты выпуска
  • JDK 8u301 содержит версии 2022d, 2022e и 2022f данных часовых поясов IANA.
    Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Поддержка RSASSA-PSS в ответе OCSP
    Теперь поддерживается ответ OCSP, подписанный с использованием алгоритма RSASSA-PSS.
    См. JDK-8274471
  • Другие примечания. Обработчик JavaScript FXML по умолчанию отключен
    Теперь "обработчик сценариев JavaScript" для FXML по умолчанию отключен. Любой файл .fxml с инструкцией обработки "javascript" (PI) больше не будет загружаться по умолчанию, и будет выдаваться исключение.
    Эту функцию можно включить, задав следующее системное свойство: -Djavafx.allowjs=true
    JDK-8294779 (не общедоступно)
  • Другие примечания. Неправильная обработка заключенных в кавычки аргументов в ProcessBuilder
    ProcessBuilder в Windows восстановлен для устранения регрессии, вызванной JDK-8250568. Ранее аргумент ProcessBuilder, который начинался с двойной кавычки и заканчивался обратной косой чертой, за которой следует двойная кавычка, передавался в команду неправильно, что могло привести к сбою команды. Например, аргумент "C:\\Program Files\" команда воспринимала с лишними двойными кавычками. Это обновление восстанавливает устоявшееся поведение, при котором обратная косая черта перед закрывающей двойной кавычкой не обрабатывалась особым образом.
    См. JDK-8282008
  • Другие примечания. Появилась возможность настройки тайм-аута поддержания активности подключения HttpURLConnection по умолчанию
    Добавлены два системных свойства, которые управляют поведением поддержания активности подключения HttpURLConnection в том случае, когда сервер не задает время поддержания активности. Для раздельного управления подключениями к серверам и прокси-серверам определены два свойства. Это http.keepAlive.time.server и http.keepAlive.time.proxy соответственно. Дополнительную информацию о них см. в разделе Свойства сети.
    См. JDK-8278067
  • Другие примечания. Инструмент VisualVM больше не входит в комплект поставки
    В состав этой версии JDK больше не входит копия Java VisualVM. VisualVM теперь можно выгрузить отдельно с веб-сайта https://visualvm.github.io.
    См. JDK-8294184
Регулярное обновление JDK

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

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в документе "Критические обновления, оповещения системы безопасности и бюллетени". Не рекомендуется использовать этот JDK (версия 8u361) после выхода следующего критического обновления, запланированного на 18 апреля 2023 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

Для систем, которые не могут подключиться к серверам Oracle, срок действия JRE (версия 8u361) определяется вспомогательным механизмом и заканчивается 18 мая 2023 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Более полный список ошибок, исправленных в этом выпуске, см. в Примечаниях к выпуску 8u361


Java 8 (обновление 351) (8u351)

Ключевые моменты выпуска
  • Данные IANA TZ версии 2022b, 2022c.
    Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Другие примечания. Обновление алгоритма PKCS12 MAC по умолчанию
    Обновлен алгоритм MAC по умолчанию, используемый в хранилище ключей PKCS #12. Новый алгоритм основан на SHA-256 и более надежен, чем старый алгоритм на основе SHA-1. Подробные сведения см. в свойствах безопасности, начиная с keystore.pkcs12 в файле java.security.
    См. JDK-8267880
  • Другие примечания: Отключены файлы JAR, подписанные SHA-1
    Файлы JAR, подписанные алгоритмами SHA-1, теперь запрещены по умолчанию и рассматриваются как неподписанные. Это относится к алгоритмам, используемым для дайджеста, подписи и при необходимости метки времени JAR. Это также применяется к алгоритмам подписи и дайджеста сертификатов в цепочке сертификатов лица, подписавшего код, и центра отметки времени, а также ко всем ответам CRL или OCSP, которые используются для проверки отзыва этих сертификатов. Эти ограничения применяются также к подписанным поставщикам JCE.
    См. JDK-8269039
  • Другие примечания. Прекращение использования 3DES и RC4 в Kerberos
    Типы шифрования (etype) des3-hmac-sha1 и rc4-hmac Kerberos теперь устарели и по умолчанию отключены. Пользователи могут задать allow_weak_crypto = true в файле конфигурации krb5.conf, чтобы на свой страх и риск повторно включить их (наряду с другими слабыми типами шифрования, в том числе des-cbc-crc и des-cbc-md5). Чтобы отключить подмножество слабых типов шифрования, пользователи могут явно указать предпочтительные типы в любой из настроек default_tkt_enctypes, default_tgs_enctypes или permitted_enctypes.
    См. JDK-8139348
Регулярное обновление JDK

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

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в документе "Критические обновления, оповещения системы безопасности и бюллетени". Не рекомендуется использовать этот JDK (версия 8u311) после выхода следующего критического обновления, запланированного на 17 января 2023 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

Для систем, которые не могут подключиться к серверам Oracle, срок действия JRE (версия 8u351) определяется вспомогательным механизмом и заканчивается 17 февраля 2023 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u351.

» Примечания к выпуску 8u351


Java 8 (обновление 341) (8u341)

Ключевые моменты выпуска
  • Данные IANA TZ версии 2022a.
    Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Поддержка привязки канала HTTPS для Java GSS/Kerberos

    Добавлена поддержка токенов привязки канала TLS для аутентификации Negotiate/Kerberos по протоколу HTTPS через javax.net.HttpsURLConnection.

    Токены привязки канала все чаще требуются в качестве улучшенной формы защиты. Они работают за счет обмена данными между клиентом и сервером, а также получения клиентом информации о привязке между системой безопасности подключения (как это представлено сертификатом сервера TLS) и учетными данными аутентификации более высокого уровня (например, именем пользователя и паролем). Затем сервер может определить, был ли клиент скомпрометирован MITM, и завершить сеанс/подключение.

    См. JDK-8279842
  • Новая функция. Включение TLSv1.3 по умолчанию в JDK 8u для ролей клиента

    Реализация TLSv1.3 доступна в JDK 8u от 8u261 и включена по умолчанию для ролей серверов, но отключена по умолчанию для ролей клиентов. Начиная с этого выпуска, TLSv1.3 теперь также включается по умолчанию и для ролей клиентов. Дополнительные сведения см. в разделе Дополнительная информация документа Oracle JRE and JDK Cryptographic Roadmap.

    См. JDK-8245263
  • Другие примечания. Обновите java.net.InetAddress для обнаружения неоднозначных адресных литералов IPv4

    Класс java.net.InetAddress был обновлен для строгого принятия адресных литералов IPv4 в десятичном четырехчисловом формате. Методы класса InetAddress обновлены с целью получения java.net.UnknownHostException для недопустимых адресных литералов IPv4. Чтобы отключить эту проверку, для нового системного свойства "jdk.net.allowAmbiguousIPAddressLiterals" можно установить значение "true".

    См. JDK-8277608 (не общедоступно)
  • Другие примечания. Расширения пакетов JDK усечены при выгрузке с помощью Firefox 102

    На веб-сайтах oracle.com и java.com некоторые расширения пакетов JDK усекаются при выгрузке в Firefox версии 102. Выгруженные пакеты не имеют таких расширений файлов, как ".exe", ".rpm", ".deb". Если после выпуска невозможно обновить Firefox до ESR 102.0.1 или Firefox 103, в качестве временного решения можно выполнить следующие действия:
        ‐вручную добавьте расширение файла к имени файла после выгрузки;
        ‐используйте другой браузер.
    См. JDK-8277093

Регулярное обновление JDK

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

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в документе "Критические обновления, оповещения системы безопасности и бюллетени". Не рекомендуется использовать этот JDK (версия 8u341) после выхода следующего критического обновления, запланированного на 18 октября 2022 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

Для систем, которые не могут подключиться к серверам Oracle, срок действия JRE (версия 8u341) определяется вспомогательным механизмом и заканчивается 18 ноября 2022 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u341.

» Примечания к выпуску 8u341


Java 8 (обновление 333) (8u333)

Ключевые моменты выпуска
  • Данные IANA TZ версии 2021a.
    Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Изменение. Включение альтернативных потоков данных Windows по умолчанию

    Реализация java.io.File в Windows была изменена, чтобы по умолчанию не выполнялась строгая проверка допустимости путей к файлам. Сюда относится разрешение двоеточий (":") в имени пути, а не только сразу после одной буквы названия диска. Кроме того, можно использовать пути, которые представляют собой альтернативные потоки данных NTFS (ADS), например "filename:streamname". При этом восстанавливается поведение java.io.File по умолчанию до критического обновления в апреле 2022 г., в котором по умолчанию не проводились строгие проверки допустимости путей к файлам в Windows. Чтобы повторно включить проверку строгого пути в java.io.File, для системного свойства jdk.io.File.enableADS должно быть задано значение false (регистр не учитывается). Это может быть предпочтительным, например, если не используются специальные пути к устройствам Windows, например NUL:.

    См. JDK-8285445
Регулярное обновление JDK

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

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в документе "Критические обновления, оповещения системы безопасности и бюллетени". Не рекомендуется использовать этот JDK (версия 8u333) после выхода следующего критического обновления, запланированного на 19 июля 2022 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

Для систем, которые не могут подключиться к серверам Oracle, срок действия JRE (версия 8u333) определяется вспомогательным механизмом и заканчивается 19 августа 2022 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Этот выпуск основан на предыдущем критическом обновлении и не содержит дополнительных исправлений системы безопасности. Полный список ошибок, исправленных в этом выпуске, см. на странице Примечания к выпуску JDK 8u333.

» Примечания к выпуску 8u333


Java 8 (обновление 331) (8u331)

Ключевые моменты выпуска
  • Данные IANA TZ версии 2021e.
    Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Новые ограничения обработки XML
    Добавлены три ограничения обработки. К ним относятся:
    • jdk.xml.xpathExprGrpLimit
      Описание: ограничивает количество групп, которые могут содержаться в выражении XPath.
      Тип: целое число
      Значение: положительное целое число. Значение "меньше или равно 0" означает отсутствие ограничений. Если значение не является целым числом, выдается исключение NumberFormatException. По умолчанию 10.
    • jdk.xml.xpathExprOpLimit
      Описание: ограничивает количество операторов, которые могут содержаться в выражении XPath.
      Тип: целое число
      Значение: положительное целое число. Значение "меньше или равно 0" означает отсутствие ограничений. Если значение не является целым числом, выдается исключение NumberFormatException. По умолчанию 100.
    • jdk.xml.xpathTotalOpLimit
      Описание: ограничивает общее количество операторов XPath в таблице стилей XSL.
      Тип: целое число
      Значение: положительное целое число. Значение "меньше или равно 0" означает отсутствие ограничений. Если значение не является целым числом, выдается исключение NumberFormatException. По умолчанию 10000.

    Поддерживаемые обработчики
    • Обработчик XPath поддерживает jdk.xml.xpathExprGrpLimit и jdk.xml.xpathExprOpLimit.
    • Обработчик XSLT поддерживает все три ограничения.

    Настройка свойств

    Для обработчика XSLT свойства можно изменить с помощью TransformerFactory. Например,

    <code>        TransformerFactory factory = TransformerFactory.newInstance();
    
            factory.setAttribute("jdk.xml.xpathTotalOpLimit", "1000");
    

    Для обработчиков XPath и XSLT свойства можно задать с помощью системного свойства и файла конфигурации jaxp.properties, расположенного в каталоге установки Java conf. Например,

    <code>        System.setProperty("jdk.xml.xpathExprGrpLimit", "20");
    
    
    или в файле jaxp.properties,
    <code>        jdk.xml.xpathExprGrpLimit=20
    
    
    JDK-8270504 (не общедоступно)
  • Другие примечания. В macOS KeychainStore в качестве записей доверенных сертификатов отображаются только сертификаты с правильными настройками доверия
    В macOS в качестве записей доверенные сертификатов в хранилище ключей типа KeychainStore будут отображаться только сертификаты с правильными настройками доверия в пользовательской цепочке ключей. Кроме того, при вызове метода KeyStore::setCertificateEntry или команды keytool -importcert в KeychainStore происходит сбой и выдается исключение KeyStoreException. Вместо этого следует вызвать команду macOS "security add-trusted-cert", чтобы добавить доверенный сертификат в пользовательскую цепочку ключей.
    JDK-8278449 (не общедоступно)
  • Другие примечания. Разбор URL-адресов во встроенных JNDI-поставщиках LDAP, DNS, RMI и CORBA стал более строгим. Строгостью разбора можно управлять с помощью системных свойств:
    разбор URL-адресов во встроенных JNDI-поставщиках LDAP, DNS и RMI стал более строгим. Строгостью разбора можно управлять с помощью системных свойств.
    <code>  -Dcom.sun.jndi.ldapURLParsing="legacy" | "compat" | "strict" (to control "ldap:" URLs)
    
    
      -Dcom.sun.jndi.dnsURLParsing="legacy" | "compat" | "strict" (to control "dns:" URLs)
    
      -Dcom.sun.jndi.rmiURLParsing="legacy" | "compat" | "strict" (to control "rmi:" URLs)
    
      -Dcom.sun.jndi.corbaURLParsing="legacy" | "compat" | "strict" (to control "iiop:" and "iiopname:" URLs)
    
    
    Для всех из них значение по умолчанию — "compat".
    • В режиме "legacy" новая проверка отключается.
    • В режиме "compat" ограничивается несовместимость.
    • Режим "strict" является более строгим и может привести к регрессии, отклоняя URL-адреса, которые приложение может считать допустимыми.

    При обнаружении недопустимой строки URL-адреса возникает исключение javax.naming.NamingException (или его подкласс).
    JDK-8278972 (не общедоступно)

Регулярное обновление JDK

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

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в документе "Критические обновления, оповещения системы безопасности и бюллетени". Не рекомендуется использовать этот JDK (версия 8u331) после выхода следующего критического обновления, запланированного на 19 июля 2022 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u331) до 19 августа 2022 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u331.

» Примечания к выпуску 8u331

 


Java 8 (обновление 321) (8u321)

Ключевые моменты выпуска
  • Данные IANA TZ версий 2021b, 2021c, 2021d, 2021e.
    JDK 8u321 содержит версии 2021b, 2021c, 2021d и 2021e данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Новые свойства конфигурации SunPKCS11
    Поставщик SunPKCS11 добавляет новые атрибуты конфигурации поставщика, что позволит лучше управлять использованием собственных ресурсов. Поставщик SunPKCS11 использует собственные ресурсы для работы с собственными библиотеками PKCS11. Для управления собственными ресурсами и улучшения контроля над ними добавляются дополнительные атрибуты конфигурации, которые позволяют управлять частотой очистки исходных ссылок, а также определять, нужно ли удалять базовый токен PKCS11 после выхода из системы.
    См. JDK-8240256
  • Удаленные функции и параметры. Удален корневой сертификат Google GlobalSign
    Из хранилища ключей cacerts удален следующий корневой сертификат от Google:
    + alias name "globalsignr2ca [jdk]"
    Distinguished Name: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R2

    См. JDK-8225083
  • Другие примечания. Обновление данных часового пояса в версии 2021c
    С версии 2021c база данных часовых поясов IANA, на которой основаны библиотеки даты и времени JDK, внесла коррективы в некоторые правила часовых поясов. Обратите внимание, что с момента этого обновления некоторые правила часовых поясов до 1970 года изменились в соответствии с изменениями, внесенными в версию 2021b. Подробнее см. в объявлении о версии 2021b
    См. JDK-8274407
Регулярное обновление JDK

Oracle рекомендует обновлять JDK, применяя каждое критическое обновление (CPU). Чтобы определить, является ли выпуск самым последним, можно использовать страницу Базовый уровень безопасности, которая позволяет определить, какая версия является самой последней для каждого семейства выпусков.

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в бюллетене Critical Patch Updates, Security Alerts and Bulletins. Не рекомендуется использовать этот JDK (версия 8u291) после выхода следующего критического обновления, запланированного на 20 июля 2021 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u291) до 20 августа 2021 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u321.

» Примечания к выпуску 8u321


Java 8 (обновление 311) (8u311)

Ключевые моменты выпуска
  • Данные IANA TZ версии 2021a.
    Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Marlin Renderer в JDK 8u
    Начиная с версии 8u311, графический растеризатор Marlin и его артефакты будут создаваться и распространяться в составе пакетов JDK/JRE. Это не механизм рендеринга по умолчанию, однако его можно включить, задав следующее системное свойство:
    sun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine
    См. JDK-8143849
  • Новая функция. Подмножество контекстно-зависимых фильтров десериализации
    Позволяет приложениям настраивать контекстно-зависимые и динамически выбираемые фильтры десериализации с помощью фабрики применимых ко всей виртуальной машине (JVM) фильтров, которая вызывается с целью выбора фильтра для каждого потока десериализации. Поведение определяется строгим подмножеством набора предложений в документе JEP 415: контекстно-зависимых фильтров десериализации и имеет целью конфигурирование фабрики фильтров с помощью свойства, настроенного в командной строке или файле свойств безопасности.
    Подробнее см. в документах Контекстно-зависимый фильтр десериализации и Руководство по фильтрации сериализации.
    JDK-8268680 (не общедоступно)
  • Удаленные функции и параметры. Удален корневой сертификат IdenTrust
    Из хранилища ключей cacerts удален следующий корневой сертификат из IdenTrust:
    + alias name "identrustdstx3 [jdk]"
    Distinguished Name: CN=DST Root CA X3, O=Digital Signature Trust Co.
    См. JDK-8225082
  • Другие примечания. Выпуск не распознает Windows 11
    Этот выпуск некорректно идентифицирует Windows 11. В Windows 11 для свойства os.name установлено значение Windows 10. В журналах ошибок HotSpot ОС определяется как Windows 10; однако номер сборки в них отображается. В Windows 11 установлена сборка 22000.194 или более поздняя.
    См. JDK-8274840
  • Другие примечания. Обновлено предпочтение пакетов шифрования по умолчанию"
    Изменен порядок распределения приоритета пакетов шифрования по умолчанию для TLS 1.0–TLS 1.3.
    В настоящий момент для TLS 1.3 пакет TLS_AES_256_GCM_SHA384 имеет приоритет над TLS_AES_128_GCM_SHA256.
    Для TLS 1.0–TLS 1.2 приоритет некоторых промежуточных пакетов был понижен следующим образом.
    • Пакеты шифрования, не обеспечивающие безопасность пересылки, были перемещены в позицию с более низким приоритетом по отношению к пакетам шифрования, поддерживающим функцию пересылки.
    • Пакеты шифрования, использующие SHA-1, были перемещены в позицию с более низким приоритетом.
    См. JDK-8163326
  • Другие примечания. Изменено поведение HttpURLConnection, когда подходящий прокси не найден
    В этом выпуске JDK поведение HttpURLConnection при использовании ProxySelector было изменено. HttpURLConnection используется для возврата к попытке прямого подключения, если настроенным прокси не удалось установить соединение. Начиная с этого выпуска, поведение по умолчанию было изменено на "больше не использовать прямое подключение при сбое первой попытки подключения к прокси".
    См. JDK-8161016
Регулярное обновление JDK

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

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в документе "Критические обновления, оповещения системы безопасности и бюллетени". Не рекомендуется использовать этот JDK (версия 8u311) после выхода следующего критического обновления, запланированного на 18 января 2022 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

В системах без возможности подключенияк серверам Oracle срок действия JRE (версия 8u311) до 18 февраля 2022 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u311.

» Примечания к выпуску 8u311


Java 8 (обновление 301) (8u301)

Ключевые моменты выпуска
  • Данные IANA TZ версии 2021a.
    JDK 8u301 содержит версию 2021a данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Настройка создания хранилища ключей PKCS12
    Добавлены новые свойства системы и безопасности, позволяющие пользователям настраивать создание хранилищ ключей PKCS #12. Сюда входят алгоритмы и параметры для защиты ключей, защиты сертификатов и MacData. Подробное описание и возможные значения этих свойств можно найти в разделе "Свойства хранилища ключей PKCS12" файла java.security.
    См. JDK-8076190
  • Удаленные функции и параметры. Удалены корневые сертификаты с 1024-разрядными ключами
    Корневые сертификаты с менее надежными 1024-разрядными общими ключами RSA были удалены из хранилища ключей cacerts.
    См. JDK-8243559
  • Удаленные функции и параметры. Удален сертификат Sonera Class2 CA Telia Company
    Из доверенного хранилища cacerts удален следующий корневой сертификат:
    + Telia Company
    + soneraclass2ca
    DN: CN=Sonera Class2 CA, O=Sonera, C=FI

    См. JDK-8225081
  • Другие примечания. Обновлены алгоритмы шифрования PKCS12 по умолчанию
    Обновлены алгоритмы шифрования по умолчанию, используемые в хранилище ключей PKCS #12. Новые алгоритмы основаны на AES-256 и SHA-256 и являются более защищенными, чем старые алгоритмы, основанные на RC2, DESede и SHA-1. Подробные сведения см. в свойствах безопасности, начиная с keystore.pkcs12 в файле "java.security".
    Для обеспечения совместимости определено новое системное свойство keystore.pkcs12.legacy, которое возвращает алгоритмы на использование более старых и слабых алгоритмов. Для этого свойства значение не определено.
    См. JDK-8153005
Регулярное обновление JDK

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

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в бюллетене Critical Patch Updates, Security Alerts and Bulletins. Не рекомендуется использовать этот JDK (версия 8u301) после выхода следующего критического обновления, запланированного на 19 октября 2021 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для больших количеств настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u301) до 19 ноября 2021 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u301.

» Примечания к выпуску 8u301


Java 8 (обновление 291) (8u291)

Ключевые моменты выпуска
  • Данные IANA TZ версии 2020e, 2020f, 2021a.
    JDK 8u291 содержит версии 2020e, 2020f, 2021a данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Другие примечания. Новые свойства системы и безопасности для управления реконструкцией удаленных объектов с помощью встроенных реализаций JDK: JNDI RMI и LDAP
    jdk.jndi.object.factoriesFilter: Это свойство системы и безопасности позволяет указывать последовательный фильтр, который управляет набором классов фабрики объектов для создания экземпляров объектов из ссылок объектов, возвращаемых системами именования/каталогов. Класс фабрики, указанный экземпляром ссылки, сопоставляется с этим фильтром при реконструкции удаленных ссылок. Свойство фильтра поддерживает синтаксис фильтра на основе шаблонов в формате, который задается с помощью JEP 290. Свойство применяется к встроенным реализациям провайдера JNDI/RMI и JNDI/LDAP. Значение по умолчанию позволяет любому классу фабрики объектов, указанному в ссылке, повторно создавать объект, на который указывает ссылка.
    JDK-8244473 (не общедоступно)
  • Другие примечания. Версия java по умолчанию не обновляется при двойном щелчке по исполняемому jar-файлу
    Если переменная среды PATH содержит запись, настроенную с помощью программ установки Oracle JDK новых версий, то программа установки Oracle JRE вставляет путь к каталогу, содержащий команды Java (java.exe, javaw.exe и javaws.exe), в переменную среды PATH после этой записи. Раньше программа установки Oracle JRE игнорировала изменения, вносимые в переменную среды PATH программами установки Oracle JDK новых версий, и неверно обновляла значение переменной среды PATH. Дополнительную техническую информацию см. в следующем запросе в клиентскую службу: https://bugs.openjdk.java.net/browse/JDK-8259858
    См. JDK-8259215
  • Другие примечания. Отключение TLS 1.0 и 1.1
    TLS 1.0 и 1.1 являются версиями протокола TLS, которые больше не считаются безопасными и заменены более безопасными и современными версиями (TLS 1.2 и 1.3).
    Теперь эти версии по умолчанию отключены. При возникновении проблем вы можете на свой собственный риск повторно включить эти версии, удалив "TLSv1" и/или "TLSv1.1" в свойстве безопасности jdk.tls.disabledAlgorithms в файле конфигурации java.security.
    См. JDK-8202343
  • Другие примечания. Отключение TLS 1.0 и 1.1 для апплетов Java Plugin и приложений Java Web Start
    TLS 1.0 и 1.1 были отключены. Эти протоколы по умолчанию НЕ используются апплетами Java Plugin и приложениями Java Web Start. При возникновении проблем можно повторно включить эти протоколы на панели управления Java.
    JDK-8255892 (не общедоступно)
Регулярное обновление JDK

Oracle рекомендует обновлять JDK, применяя каждое критическое обновление (CPU). Чтобы определить, является ли выпуск самым последним, можно использовать страницу Базовый уровень безопасности, которая позволяет определить, какая версия является самой последней для каждого семейства выпусков.

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в бюллетене Critical Patch Updates, Security Alerts and Bulletins. Не рекомендуется использовать этот JDK (версия 8u291) после выхода следующего критического обновления, запланированного на 20 июля 2021 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u291) до 20 августа 2021 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u291.

» Примечания к выпуску 8u291


Java 8 (обновление 281) (8u281)

Ключевые моменты выпуска
  • Данные IANA версии 2020d
    JDK 8u281 содержит версию 2020d данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. В keytool "Генерирование пары ключей" добавлен параметр groupname
    В keytool -genkeypair был добавлен новый параметр -groupname, чтобы пользователь при создании пары ключей мог указать именованную группу. Например, keytool -genkeypair -keyalg EC -groupname secp384r1 создаст пару ключей EC с использованием кривой secp384r1. Поскольку может быть несколько кривых одного размера, использовать параметр -groupname предпочтительнее, чем параметр -keysize.
    См. JDK-8213400
  • Новая функция. Библиотека Apache Santuario обновлена до версии 2.1.4
    Библиотека Apache Santuario обновлена до версии 2.1.4. В результате было введено новое системное свойство com.sun.org.apache.xml.internal.security.parser.pool-size.
    Это новое свойство системы задает размер пула внутреннего кэша DocumentBuilder, используемого при обработке подписей XML. Эта функция эквивалентна системному свойству org.apache.xml.security.parser.pool-size , используемому в Apache Santuario, и имеет то же значение по умолчанию — 20.
    См. JDK-8231507
  • Новая функция. Поддержка расширения certificate_authorities
    Расширение "certificate_authorities" является необязательным расширением, представленным в TLS 1.3. Оно используется для указания центров сертификации (CA), которые поддерживает конечная точка, и должно использоваться принимающей конечной точкой для руководства выбором сертификата.
    См. JDK-8206925
  • Другие примечания. Изменено Properties.loadFromXML для достижения соответствия спецификации
    Реализация метода java.util.Properties loadFromXML была изменено для достижения соответствия с его спецификацией. В частности, базовая реализация синтаксического анализатора XML теперь отклоняет несовместимые документы XML, отбрасывая InvalidPropertiesFormatException в соответствии с методом loadFromXML.
    См. JDK-8213325
  • Другие примечания. Имя часового пояса US/Pacific-New удалено как часть tzdata2020b
    После обновления JDK до tzdata2020b удалены устаревшие файлы с именем pacificnew и systemv. В результате имя часового пояса "US/Pacific-New", объявленное в файле данных pacificnew, больше недоступно для использования.
    См. JDK-8254177
Регулярное обновление JDK

Oracle рекомендует обновлять JDK, применяя каждое критическое обновление (CPU). Чтобы определить, является ли выпуск самым последним, можно использовать страницу Базовый уровень безопасности, которая позволяет определить, какая версия является самой последней для каждого семейства выпусков.

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в бюллетене Critical Patch Updates, Security Alerts and Bulletins. Не рекомендуется использовать этот JDK (версия 8u281) после выхода следующего критического обновления, запланированного на 20 апреля 2021 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u281) до 15 мая 2021 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u281.

» Примечания к выпуску 8u281


Java 8 (обновление 271) (8u271)

Ключевые моменты выпуска
  • Данные IANA версии 2020a
    JDK 8u271 содержит версию 2020a данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Слабые именованные кривые в TLS, CertPath и подписанные JAR-файлы отключены по умолчанию
    Слабые именованные кривые отключаются по умолчанию при добавлении их к следующим свойствам безопасности disabledAlgorithms: jdk.tls.disabledAlgorithms, jdk.certpath.disabledAlgorithms и jdk.jar.disabledAlgorithms. Если отключить 47 слабых именованных кривых, добавление отдельных именованных кривых в каждое свойство disabledAlgorithms будет подавляющим. Для устранения этой ситуации реализовано новое свойство безопасности, jdk.disabled.namedCurves, которое позволяет перечислять именованные кривые, общие для всех свойств disabledAlgorithms. Чтобы использовать это новое свойство в свойствах disabledAlgorithms, перед полным именем свойства добавьте ключевое слово include. Пользователи по-прежнему могут добавлять индивидуальные именованные кривые в свойства disabledAlgorithms отдельно от этого нового свойства. Другие свойства не могут быть включены в свойства disabledAlgorithms.
    См. JDK-8233228
  • Новая функция. Поддержка рефералов между областями Kerberos (RFC 6806)
    Клиент Kerberos был усовершенствован — реализована поддержка рефералов между областями и канонизации имен принципалов, как определено расширением протокола RFC 6806.
    В результате использования этой новой функции клиент Kerberos может воспользоваться преимуществами более динамических конфигураций среды и не должен обязательно знать (заранее), как достичь области целевого принципала (пользователя или сервиса).
    См. JDK-8223172
  • Удаленная функция. Подключаемый модуль Java удален из JDK 8u для платформ Linux, Solaris и MacOS
    NPAPI считается уязвимым подключаемым модулем и был отключен во многих браузерах. В настоящее время ни один браузер не поддерживает работающий на базе NPAPI подключаемый модуль Java на платформах Linux, Solaris и MacOS.
    Начиная с 8u271, часть подключаемого модуля Java, отвечающая за интеграцию и взаимодействие с браузером (в частности, библиотека libnpjp2), и связанный с ней артефакт не будут создаваться и не являются частью дистрибутива JRE на платформах Linux, Solaris и MacOS.
    JDK-8240210 (не общедоступно)
  • Другие примечания. Добавлено свойство для управления механизмами аутентификации LDAP, позволяющими выполнять аутентификацию по обычным подключениям
    Добавлено новое свойство среды, jdk.jndi.ldap.mechsAllowedToSendCredentials, позволяющее задавать, какие механизмы аутентификации LDAP разрешены для отправки учетных данных по обычным (clear) подключениям LDAP — подключениям, не защищенным с использованием TLS. Зашифрованное подключение LDAP — это подключение, открытое с использованием схемы ldaps, или подключение, открытое с использованием схемы ldap, а затем обновленное до TLS с помощью расширенной операции STARTTLS.
    JDK-8237990 (не общедоступно)
Регулярное обновление JDK

Oracle рекомендует обновлять JDK, применяя каждое критическое обновление (CPU). Чтобы определить, является ли выпуск самым последним, можно использовать представленную ниже страницу "Базовый уровень безопасности", которая позволяет определить, какая версия является самой последней для каждого семейства выпусков.

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в бюллетене Critical Patch Updates, Security Alerts and Bulletins. Не рекомендуется использовать этот JDK (версия 8u271) после выхода следующего критического обновления, запланированного на 19 января 2021 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u271) до 20 февраля 2021 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u271.

» Примечания к выпуску 8u271


Java 8 (обновление 261) (8u261)

Ключевые моменты выпуска
  • Данные IANA версии 2020a
    JDK 8u261 содержит версию 2020a данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функциональность. Изменения зависимостей библиотеки (DLL) Windows Visual Studio и JDK/JRE во время выполнения
    В рамках текущего обслуживания для создания JDK 7 и JDK 8 для Windows будет использоваться цепочка инструментов Microsoft Visual Studio 2017. JDK 8u261, в соответствии с критическими обновлениями в июле 2020 года, был создан с помощью Visual Studio 2017. В соответствии с выпуском критических обновлений в октябре 2020 года JDK 7u281 перейдет на Visual Studio 2017.
    JDK-8246783 (не общедоступно)
  • Новая функция. JEP 332 Transport Layer Security (TLS) 1.3
    JDK 8u261 включает в себя реализацию спецификации Transport Layer Security (TLS) 1.3 (RFC 8446). Дополнительные сведения, включая список поддерживаемых функций, см. в документации "Справочного руководства по Java Secure Socket Extension (JSSE)" и JEP 332.
    См. JDK-814252
  • Новая функция. Новые свойства системы для настройки схем подписей
    Для настройки схем подписей TLS в JDK добавлены два новых свойства системы.
    Для стороны сервера TLS добавлено jdk.tls.client.SignatureSchemes, а для стороны сервера добавлено jdk.tls.server.SignatureSchemes.
    См. JDK-8242141
  • Новая функция. Реализованы параметры эфемерных (временных) ключей Диффи-Хеллмана для конечных полей для TLS
    Реализация JDK SunJSSE теперь поддерживает механизмы TLS FFDHE, определенные в RFC 7919. Если сервер не может обработать расширение TLS supported_groups или именованные группы в расширении, приложения могут настроить имена поддерживаемых групп с помощью jdk.tls.namedGroups или отключить механизмы FFDHE, установив для системного свойства jsse.enableFFDHE значение false.
    См. JDK-8140436
Регулярное обновление JDK

Oracle рекомендует обновлять JDK, применяя каждое критическое обновление (CPU). Чтобы определить, является ли выпуск самым последним, можно использовать представленную ниже страницу "Базовый уровень безопасности", которая позволяет определить, какая версия является самой последней для каждого семейства выпусков.

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в бюллетене Critical Patch Updates, Security Alerts and Bulletins. Не рекомендуется использовать этот JDK (версия 8u261) после выхода следующего критического обновления, запланированного на 13 октября 2020 г.

Клиентам с Java SE Subscription, которые управляют обновлениями/установками JRE для большого количества настольных компьютеров, следует рассмотреть возможность использования Java Advanced Management Console (AMC).

В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u261) определяется вспомогательным механизмом и заканчивается 13 ноября 2020 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u261.

» Примечания к выпуску 8u261


Java 8 (обновление 251) (8u251)

Ключевые моменты выпуска
  • Данные IANA версии 2019c
    JDK 8u251 содержит версию 2019c данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Добавлена поддержка алгоритмов PKCS#1 v2.2, включая подпись RSASSA-PSS
    Поставщики SunRsaSign и SunJCE были усовершенствованы - добавлена поддержка дополнительных алгоритмов, определенных в PKCS#1 v2.2, таких как подпись RSASSA-PSS и OAEP, с использованием алгоритмов дайджеста FIPS 180-4. Новые конструкторы и методы добавлены в соответствующие классы JCA/JCE в пакетах java.security.spec и javax.crypto.spec для поддержки дополнительных параметров RSASSA-PSS.
    См. JDK-8146293
  • Другие примечания. WebEngine ограничивает вызовы методов JavaScript для определенных классов
    Программы JavaScript, которые выполняются в контексте веб-страницы, загруженной системой WebEngine, могут взаимодействовать с объектами Java, переданными из приложения в программу JavaScript. Программы JavaScript, ссылающиеся на объекты java.lang.Class, теперь ограничены следующими методами:
    getCanonicalName
    getEnumConstants
    getFields
    getMethods
    getName
    getPackageName
    getSimpleName
    getSuperclass
    getTypeName
    getTypeParameters
    isAssignableFrom
    isArray
    isEnum
    isInstance
    isInterface
    isLocalClass
    isMemberClass
    isPrimitive
    isSynthetic
    toGenericString
    toString


    Невозможно вызвать методы для следующих классов:
    java.lang.ClassLoader
    java.lang.Module
    java.lang.Runtime
    java.lang.System

    java.lang.invoke.*
    java.lang.module.*
    java.lang.reflect.*
    java.security.*
    sun.misc.*


    JDK-8236798 (не общедоступно)
  • Другие примечания. Новый специфичный для Oracle JDK 8 обновляет системное свойство - обеспечивается возможность перехода к устаревшему формату кодирования Base64
    Oracle JDK 8u231 обновил библиотеки Apache Santuario до версии v2.1.3. В результате этого обновления возникла проблема, при которой подпись XML, использующая кодировку Base64, стала добавлять &#xd или &#13 к закодированным выходным данным. Это изменение поведения было внесено в кодовую базу Apache Santuario для обеспечения соответствия требованиям RFC 2045. Команда Santuario обеспечивает соответствие своих библиотек требованиям RFC 2045.
    См. JDK-8236645
Регулярное обновление JDK

Oracle рекомендует обновлять JDK, применяя каждое критическое обновление (CPU). Чтобы определить, является ли выпуск самым последним, можно использовать представленную ниже страницу "Базовый уровень безопасности", которая позволяет определить, какая версия является самой последней для каждого семейства выпусков.

О разработке критических обновлений, содержащих исправления уязвимостей системы безопасности, сообщается за один год до их выпуска в бюллетене Critical Patch Updates, Security Alerts and Bulletins. Не рекомендуется использовать этот JDK (версия 8u251) после выхода следующего критического обновления, запланированного на 14 июля 2020 г.

В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u251) определяется вспомогательным механизмом и заканчивается 14 августа 2020 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии. Дополнительную информацию см. в разделе 23.1.2 Дата истечения срока действия JRE в Руководстве по развертыванию Java Platform, Standard Edition.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u251.

» Примечания к выпуску 8u251


Java 8 (обновление 241) (8u241)

Ключевые моменты выпуска
  • Данные IANA версии 2019c
    JDK 8u241 содержит версию 2019c данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Разрешается ограничение механизмов SASL
    Добавлено свойство безопасности с именем jdk.sasl.disabledMechanisms, которое можно использовать для отключения механизмов SASL. Любой отключенный механизм будет игнорироваться, если он указан в аргументе механизмов Sasl.createSaslClient или в аргументе механизма Sasl.createSaslServer. Значение по умолчанию для этого свойства безопасности не указано, что означает, что ни один из механизмов по умолчанию не отключен.
    См. JDK-8200400
  • Новая функция. Поставщик SunPKCS11 обновлен - добавлена поддержка для PKCS#11 v2.40
    Поставщик SunPKCS11 обновлен - добавлена поддержка для PKCS#11 v2.40. В этой версии добавлена поддержка дополнительных алгоритмов, таких как шифр AES/GCM/NoPadding, подписи DSA с использованием семейства дайджестов сообщений SHA-2 и подписи RSASSA-PSS, когда соответствующие механизмы PKCS11 поддерживаются базовой библиотекой PKCS11.
    См. JDK-8080462
  • Другие примечания. Добавлены новые проверки сертификатов якорей доверия
    Добавлены проверки, позволяющие убедиться, что якоря доверия являются сертификатами ЦС и содержат соответствующие расширения. Якоря доверия используются для проверки цепочки сертификатов, используемые в TLS и подписанном коде. Сертификаты якорей доверия должны включать расширение Basic Constraints, в поле cA должно быть задано значение true. Кроме того, если они включают расширение Key Usage, необходимо установить бит keyCertSign.
    JDK-8230318 (не общедоступно)
  • Другие примечания. Точное соответствие, необходимое для доверенного сертификата сервера TLS
    Сертификат сервера TLS должен полностью совпадать с доверенным сертификатом на клиенте, чтобы обеспечить его надежность при установлении соединения TLS.
    JDK-8227758 (не общедоступно)
  • Другие примечания. Добавлен глобальный корневой сертификат LuxTrust 2
    В доверительное хранилище cacerts добавлен корневой сертификат LuxTrust
    См. JDK-8232019
  • Другие примечания. Добавлено 4 сертификата корневого ЦС Amazon
    В доверительное хранилище cacerts добавлен корневой сертификат Amazon
    См. JDK-8233223
  • Исправления ошибок. Поддержка шрифтов OpenType CFF
    Ранее Oracle JDK 8 не включал шрифты OpenType CFF (.otf) в стандартные логические шрифты (например, "Dialog" и "SansSerif"). Это приводило к отсутствию глифов при рендеринге текста. В самых крайних случаях, когда в системе были установлены только шрифты CFF, может быть сгенерировано исключение Java.
    Эта проблема затрагивает несколько дистрибутивов Linux, поскольку для поддержки некоторых языков они используют шрифты CFF, которые являются общими для языков CJK (китайский, японский и корейский).
    Теперь в Oracle JDK 8 используются эти шрифты CFF, и эта проблема устранена.
    См. JDK-8209672
  • Исправления ошибок. Улучшенная обработка последовательного фильтра
    Системное свойство jdk.serialFilter можно задать только в командной строке. Если в командной строке этот фильтр не задан, его можно задать с использованием java.io.ObjectInputFilter.Config.setSerialFilter. Настройка jdk.serialFilter с указанием java.lang.System.setProperty не действует.
    JDK-8231422 (не общедоступно)
Дата окончания срока действия Java

Дата истечения срока действия 8u241: 14 апреля 2020 года. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u241) до 14 мая 2020 года обеспечивает вспомогательный механизм. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u241.

» Примечания к выпуску 8u241


Java 8 (обновление 231) (8u231)

Ключевые моменты выпуска
  • Данные IANA версии 2019b
    JDK 8u231 содержит версию 2019b данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Новое системное свойство jdk.jceks.iterationCount
    Добавлено новое системное свойство для управления значением счетчика итераций, используемым для хранилища ключей jceks. Значение по умолчанию остается равным 200 000, но можно указать значения от 10 000 до 5 000 000. Новое имя системного свойства: jdk.jceks.iterationCount. Указанное значение должно быть целым числом в допустимом диапазоне. При возникновении ошибки при синтаксическом разборе будет использоваться значение по умолчанию.
    JDK-8223269 (не общедоступно)
  • Новая функция. Новые события безопасности Java Flight Recorder (JFR)
    В область библиотеки безопасности добавлены четыре новых события JFR. Эти события по умолчанию отключены и могут быть включены с использованием файлов конфигурации JFR или стандартных параметров JFR.
    См. JDK-8148188
  • Удаленные функции и параметры. Удаление растеризатора T2K и механизма разметки ICU из JavaFX
    Из JavaFX были удалены растеризатор T2K и механизм разметки ICU.
    См. JDK-8187147
  • Другие примечания. [client-libs и javaFX] GTK3 теперь используется по умолчанию в Linux/Unix
    В более новых версиях Linux, Solaris и других настольных сред Unix используется GTK3, но по-прежнему поддерживается GTK2.
    Ранее JDK по умолчанию загружал более старые библиотеки GTK2. Однако в этом выпуске по умолчанию загружаются библиотеки GTK3. Загрузка обычно запускается с использованием интерфейса Swing GTK.
    Прежнее поведение можно восстановить с использованием свойства системы -Djdk.gtk.version=2.2
    См. JDK-8222496
  • Другие примечания. Удаление устаревших кривых NIST EC из алгоритмов TLS по умолчанию
    В результате этого изменения устаревшие кривые NIST EC удаляются из именованных групп по умолчанию, используемых при согласовании TLS. Удаляются следующие кривые: sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1 и secp256k1.
    Для повторного включения этих кривых используйте системное свойство jdk.tls.namedGroups. Это свойство содержит разделенный запятыми и заключенный в кавычки список включенных именованных групп в порядке предпочтения. Например:
    java -Djdk.tls.namedGroups="secp256r1, secp384r1, secp521r1, sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1, secp256k1" ...
    JDK-8228825 (не общедоступно)
Дата окончания срока действия Java

Дата истечения срока использования версии 8u231: 14 января 2020 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u231) до 14 февраля 2020 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u231.

» Примечания к выпуску 8u231


Java 8 (обновление 221) (8u221)

Ключевые моменты выпуска
  • Данные IANA версии 2018i
    JDK 8u221 содержит версию 2018i данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функциональность. Функция обнаружения в приложении HotSpot для ОС Windows правильно идентифицирует Windows Server 2019
    До этого исправления Windows Server 2019 распознавалась как "Windows Server 2016", что приводило к появлению неверных значений в системном свойстве os.name и файле hs_err_pid.
    См. JDK-8211106
  • Удаленные функции и параметры. Удаление двух сертификатов корневого ЦС DocuSign
    Срок действия двух сертификатов корневого ЦС DocuSign истек, и они были удалены из хранилища ключей cacerts:
    • alias name "certplusclass2primaryca [jdk]"
      Distinguished Name: CN=Class 2 Primary CA, O=Certplus, C=FR
    • alias name "certplusclass3pprimaryca [jdk]"
      Distinguished Name: CN=Class 3P Primary CA, O=Certplus, C=FR
    См. JDK-8223499
  • Удаленные функции и параметры. Удаление двух сертификатов корневого ЦС Comodo
    Срок действия сертификатов корневого ЦС Comodo истек, и они были удалены из хранилища ключей cacerts:
    • alias name "utnuserfirstclientauthemailca [jdk]"
      Distinguished Name: CN=UTN-USERFirst-Client Authentication and Email, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US
    • alias name "utnuserfirsthardwareca [jdk]"
      Distinguished Name: CN=UTN-USERFirst-Hardware, OU=http://www.usertrust.com, O=The USERTRUST Network, L=Salt Lake City, ST=UT, C=US
    См. JDK-8222136
  • Удаленные функции и параметры. Удаление сертификата корневого ЦС 2 T-Systems Deutsche Telekom
    Срок действия сертификата корневого ЦС 2 T-Systems Deutsche Telekom истек, и он был удален из хранилища ключей cacerts:
    • alias name "deutschetelekomrootca2 [jdk]"
      Distinguished Name: CN=Deutsche Telekom Root CA 2, OU=T-TeleSec Trust Center, O=Deutsche Telekom AG, C=DE
    См. JDK-8222137
  • Другие примечания. Временное решение для установки Java Access Bridge
    При установке Java в системе Windows, в которой ранее была установлена версия Java и выполняется экземпляр JAWS, существует риск нарушения функциональности Java Access Bridge. После перезагрузки система может остаться без файла WindowsAccessBridge-64.dll либо в системном каталоге (C:\Windows\System32) для 64-разрядных продуктов Java, либо в системном каталоге, используемом подсистемой WOW64 (C:\Windows\SysWoW64) для 32-разрядных продуктов Java.
    Чтобы предотвратить нарушение функций Java Access Bridge, используйте одно из следующих временных решений:
    • Перед запуском программы установки Java остановите JAWS.
    • Перед установкой новой версии Java удалите существующие JRE.
    • После установки новой версии Java и перезагрузки компьютера удалите существующие JRE.
    Целью этих временных решений является предотвращение сценария удаления существующих JRE из программы установки Java во время выполнения JAWS.
    JDK-8223293 (не общедоступно)
Дата окончания срока действия Java

Срок действия версии 8u221: 15 октября 2019 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u221) определяется вспомогательным механизмом и заканчивается 15 ноября 2019 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии.

Исправления ошибок

Данный выпуск содержит также исправления для устранения уязвимостей системы безопасности, описанных в документе о критическом обновлении Oracle. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u221.

» Примечания к выпуску 8u221


Java 8 (обновление 211) (8u211)

Ключевые моменты выпуска
  • Данные IANA версии 2018g
    JDK 8u211 содержит версию 2018g данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Поддержка квадратного символа для новой эры в Японии
    Консорциум Unicode зарезервировал кодовую точку U+32FF для представления квадратного символа новой эры в Японии, которая начинается с мая 2019 г. Соответствующие методы в классе Символ возвращают те же свойства, что и существующие символы эр в Японии (например, U+337E для "Мэйдзи"). Подробнее об этой кодовой точке см. на веб-странице по ссылке http://blog.unicode.org/2018/09/new-japanese-era.html.
    См. JDK-8211398
  • Изменение. Добавлен корневой сертификат GlobalSign R6
    В доверенное хранилище OpenJDK cacerts добавлен следующий корневой сертификат:
    • GlobalSign
      • globalsignrootcar6
        DN: CN=GlobalSign, O=GlobalSign, OU=GlobalSign Root CA - R6

    JDK-8216577 (не общедоступно)
  • Изменение. Сертификаты сервера TLS, имеющие в качестве якоря доверия корневой сертификат Symantec, исключаются из числа доверенных
    JDK исключит из числа доверенных сертификаты сервера TLS, выпущенные Symantec, следуя аналогичным планам, недавно объявленным компаниями Google, Mozilla, Apple и Microsoft. Список затронутых сертификатов включает в себя сертификаты GeoTrust, Thawte и VeriSign, которыми управляет Symantec.
    Сертификаты сервера TLS, выпущенные 16 апреля 2019 г. или ранее, будут оставаться доверенными до истечения срока их действия. Сертификаты, выпущенные после этой даты, будут отклоняться. Сведения о замене сертификатов Symantec сертификатом DigiCert см. на странице поддержки DigiCert (с 1 декабря 2017 г. компания DigiCert взяла на себя проверку и выпуск всех SSL/TLS-сертификатов безопасности веб-сайтов от Symantec).
    Исключение состоит в том, что сертификаты сервера TLS, выпущенные через два подчиненных центра сертификации, управляемых Apple и указанных ниже, будут считаться доверенными до 31 декабря 2019 г.
    См. JDK-8207258
  • Изменение. Название новой эры в Японии
    Название-заполнитель для эры в Японии "NewEra", которая началась 1 мая 2019 года, было заменено объявленным японским правительством названием "Рэйва". Приложения, использующие это название-заполнитель для получения нового одноэлементного объекта для эры (JapaneseEra.valueOf("NewEra")) больше не будут работать.
    См. JDK-8205432
  • Изменение. Поддержка символа новой эры в Японии в java.time.chrono.JapaneseEra
    Приводятся разъяснения в отношении класса JapaneseEra и его методов of(int), valueOf(String) и values() для предоставления будущих дополнений, связанных с эрой в Японии, например, как определяются экземпляры одноэлементного объекта, каковы связанные целочисленные значения для эры и т. д.
    См. JDK-8212941
Дата окончания срока действия Java

Дата истечения срока действия для 8u211: 16 июля 2019 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u211) определяется вспомогательным механизмом и заканчивается 16 августа 2019 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности, описанных в информационном бюллетене о критическом обновлении Oracle Java SE. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u211.

» Примечания к выпуску 8u211


Java 8 (обновление 201) (8u201)

Ключевые моменты выпуска
  • Данные IANA версии 2018e
    JDK 8u201 содержит версию 2018e данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Изменение. Пакеты шифрования TLS anon и NULL отключены
    Пакеты шифрования TLS anon (анонимный) и NULL добавлены в свойство безопасности jdk.tls.disabledAlgorithms и теперь отключены по умолчанию.
    См. JDK-8211883
  • Изменение. Средство jarsigner выведет сообщение, когда истечет время, указанное меткой времени
    Средство jarsigner теперь отображает больше информации о времени существования JAR с меткой времени. Новые предупреждения и сообщения об ошибках отображаются, когда время, указанное меткой времени, уже истекло или истечет в течение года.
    См. JDK-8191438
Дата окончания срока действия Java

Дата истечения срока действия 8u201: 16 апреля 2019 года. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u201) до 16 мая 2019 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности, описанных в информационном бюллетене о критическом обновлении Oracle Java SE. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u201.

» Примечания к выпуску 8u201


Java 8 (обновление 191) (8u191)

Ключевые моменты выпуска
  • Данные IANA версии 2018e
    JDK 8u191 содержит версию 2018e данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Изменение. Изменено расположение файла usagetracker.properties в центральной файловой системе
    Файл usagetracker.properties в файловой системе в Windows был перемещен из папки %ProgramData%\Oracle\Java\ в папку %ProgramFiles%\Java\conf
    Путь к этому файлу для Linux, Solaris или macOS не изменился. JDK-8204901 (не общедоступно)
  • Изменение. Отключены все пакеты шифрования DES TLS
    Пакеты шифрования TLS на базе DES признаны устаревшими и больше не должны использоваться. Пакеты шифрования на базе DES в реализации SunJSSE по умолчанию деактивированы путем добавления идентификатора "DES" в свойство безопасности jdk.tls.disabledAlgorithms. Эти пакеты шифрования можно снова активировать, удалив "DES" из свойства безопасности jdk.tls.disabledAlgorithms в файле java.security или с помощью динамического вызова метода Security.setProperty(). В обоих случаях после повторного включения DES необходимо добавить пакеты шифрования на базе DES в список включенных пакетов шифрования с помощью методов SSLSocket.setEnabledCipherSuites() или SSLEngine.setEnabledCipherSuites().
    Обратите внимание, что перед изменением пакеты DES40_CBC (но не все DES) были отключены с помощью свойства безопасности jdk.tls.disabledAlgorithms.
    См. JDK-8208350
  • Изменение. Удаление нескольких корневых центров сертификации Symantec
    Следующие корневые сертификаты Symantec больше не используются и были удалены:
    • Symantec
      • equifaxsecureca
        DN: OU=Equifax Secure Certificate Authority, O=Equifax, C=US
      • equifaxsecureglobalebusinessca1
        DN: CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C=US
      • equifaxsecureebusinessca1
        DN: CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US
      • verisignclass1g3ca
        DN: CN=VeriSign Class 1 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US
      • verisignclass2g3ca
        DN: CN=VeriSign Class 2 Public Primary Certification Authority - G3, OU="(c) 1999 VeriSign, Inc. - For authorized use only", OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US
      • verisignclass1g2ca
        DN: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 1 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
      • verisignclass1ca
        DN: OU=Class 1 Public Primary Certification Authority, O="VeriSign, Inc.", C=US

    См. JDK-8191031
  • Изменение. Удаление центра сертификации подписывания кода Baltimore Cybertrust
    Следующий корневой сертификат подписывания кода Baltimore CyberTrust больше не используется и был удален:
    • baltimorecodesigningca
      DN: CN=Baltimore CyberTrust Code Signing Root, OU=CyberTrust, O=Baltimore, C=IE

    См. JDK-8189949
  • Исправление ошибки. Сбой связи LDAPS
    Код приложения с использованием LDAPS с тайм-аутом подключения сокета "<= 0" (значение по умолчанию), запущенный при критическом обновлении в июле 2018 (8u181, 7u191 и 6u201), может вызвать исключение при установке подключения.
    При появлении подобных с проблем самые верхние фреймы из трассировок стека исключений приложений могут выглядеть следующим образом:
    javax.naming.ServiceUnavailableException: ; socket closed
    at com.sun.jndi.ldap.Connection.readReply(Unknown Source)
    at com.sun.jndi.ldap.LdapClient.ldapBind(Unknown Source) ...
    Проблема устранена, исправление доступно в следующих выпусках:
    • 8u181
    • 7u191

    См. JDK-8211107
Дата окончания срока действия Java

Дата истечения срока использования версии 8u191: 15 января 2019 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u191) до 15 февраля 2019 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности, описанных в информационном бюллетене о критическом обновлении Oracle Java SE. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u191.

» Примечания к выпуску 8u191


Java 8 (обновление 181) (8u181)

Ключевые моменты выпуска
  • Данные IANA версии 2018e
    JDK 8u181 содержит версию 2018e данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Удаленная функция. В этом выпуске удалена база данных Java DB
    Java DB, также известная как Apache Derby.
    Рекомендуем получить последнюю версию Apache Derby непосредственно из проекта Apache по адресу::
    https://db.apache.org/derby
    JDK-8197871 (не общедоступно)
  • Изменение. Улучшение поддержки LDAP
    Идентификация конечных точек включена для подключений LDAPS.
    Для повышения надежности подключений LDAPS (безопасное подключение LDAP по TLS) алгоритмы идентификации конечных точек включены по умолчанию.
    Обратите внимание на ситуации, когда некоторые приложения, которые ранее могли подключаться к серверу LDAPS, больше не могут это делать. При необходимости такие приложения могут отключить идентификацию конечных точек с помощью нового системного свойства com.sun.jndi.ldap.object.disableEndpointIdentification.
    Определите это системное свойство (или установите для него значение true), чтобы отключить алгоритмы идентификации конечных точек.
    JDK-8200666 (не общедоступно)
  • Изменение. Улучшенный проход по стеку
    Добавлены новые проверки доступа во время фазы создания объекта десериализации. Это не повлияет на обычное использование десериализации. Тем не менее, могут быть затронуты отражающие платформы, использующие внутренние API JDK. При необходимости новые проверки могут быть отключены путем установки значения "true" для системного свойства jdk.disableSerialConstructorChecks. Для этого необходимо добавить аргумент -Djdk.disableSerialConstructorChecks=true в командную строку Java.
    JDK-8197925 (не общедоступно)
  • Исправление ошибок. Сбой JVM во время работы сборщика мусора G1
    Параметр klass, который считался недоступным для параллельной маркировки G1, можно найти в ClassLoaderData/SystemDictionary и его поля _java_mirror или _class_loader могут храниться в корне или любом другом доступном объекте, который может снова сделать его живым. При восстановлении параметра klass таким способом необходимо уведомить об этом алгоритм SATB сборщика мусора G1, в противном случае на фазе повторной маркировки при параллельной маркировке будет ошибочно загружен этот параметр klass.
    См. JDK-8187577
  • Исправление ошибок. Повышена стабильность работы библиотек NUMA (-XX+UseNuma)
    Исправление в JDK 8 (обновление152) стало причиной задержки запуска, которая могла приводить к сбою работы HotSpot JVM при использовании флага UseNUMA в системах Linux с версиями libnuma ниже 2.0.9. Эта проблема была решена.
    См. JDK-8198794
Дата окончания срока действия Java

Срок действия версии 8u181истекает 16 октября 2018 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u181) определяется вспомогательным механизмом и заканчивается 16 ноября 2018 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности, описанных в информационном бюллетене о критическом обновлении Oracle Java SE. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u181.

» Примечания к выпуску 8u181


Java 8 (обновление 171) (8u171)

Ключевые моменты выпуска
  • Данные IANA версии 2018c
    JDK 8u171 содержит версию 2018c данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Усовершенствованы механизмы хранилища ключей
    Добавлено новое свойство безопасности jceks.key.serialFilter. Если этот фильтр настроен, хранилище ключей JCEKS использует его при десериализации зашифрованного объекта ключа, сохраненного внутри записи секретного ключа. Если фильтр не настроен или показывает результат UNDECIDED (например, не подходит ни один из шаблонов), то выполняется обращение к фильтру, настроенному с помощью jdk.serialFilter.
    Если также указано системное свойство jceks.key.serialFilter, то оно заменяет определенное здесь значение свойства безопасности.
    Для шаблона фильтра используется такой же формат, как для jdk.serialFilter. Шаблон по умолчанию разрешает свойства java.lang.Enum, java.security.KeyRep, java.security.KeyRep$Type и javax.crypto.spec.SecretKeySpec, но отклоняет все остальные.
    Клиенты с хранилищем ключей, которое не сериализуется в приведенные выше типы, должны изменить фильтр, чтобы сделать ключ извлекаемым.
    JDK-8189997 (не общедоступно)
  • Новая функция. Системное свойство для отключения отслеживания последнего использования JRE
    Добавлено новое системное свойство jdk.disableLastUsageTracking, которое позволяет отключить отслеживание последнего использования JRE для запущенной ВМ. Это свойство можно задать в командной строке, используя -Djdk.disableLastUsageTracking=true или -Djdk.disableLastUsageTracking. Если это системное свойство задано, то отслеживание последнего использования JRE будет отключено независимо от значения свойства com.oracle.usagetracker.track.last.usage, заданного в usagetracker.properties.
    JDK-8192039 (не общедоступно)
  • Примечание. Синтаксис CipherOutputStream
    Спецификация javax.crypto.CipherOutputStream уточнена для указания того, что этот класс выявляет исключение BadPaddingException и другие исключения, вызываемые сбоями проверок целостности во время дешифрования. Эти исключения не вызываются повторно, поэтому клиент может не знать, что произошел сбой проверки целостности. Из-за подобного поведения данный класс может быть непригоден для использования при дешифровании в режиме с аутентификацией (например, GCM), если для приложения требуется явное уведомление о сбое аутентификации. Эти приложения могут напрямую использовать API-интерфейс Cipher в качестве альтернативы данному классу.
    JDK-8182362 (не общедоступно)
  • Изменение. Дополнительный корневой сертификат TeliaSonera
    В хранилище ключей cacerts добавлен сертификат "TeliaSonera Root CA v1".
    JDK-8190851 (не общедоступно)
  • Изменение. Отключены подписи XML, для которых использовались ключи EC длиной менее 224 бит
    Чтобы повысить надежность подключений SSL/TLS, наборы шифров 3DES были отключены в подключениях SSL/TLS в JDK с помощью свойства безопасности jdk.tls.disabledAlgorithms.
    JDK-8175075 (не общедоступно)
  • Исправление ошибок. Отключены подключения RMI с HTTP-туннелированием на стороне сервера
    По умолчанию в данном выпуске отключены подключения RMI с HTTP-туннелированием на стороне сервера. Это поведение можно изменить, задав для свойства среды выполнения sun.rmi.server.disableIncomingHttp значение false. Обратите внимание, что не следует путать это свойство со свойством sun.rmi.server.disableHttp, которое отключает HTTP-туннелирование на стороне клиента и по умолчанию имеет значение false.
    JDK-8193833 (не общедоступно)
Дата окончания срока действия Java

Дата истечения срока действия для 8u171: 17 июля 2018 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u171) до 17 августа 2018 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности, описанных в информационном бюллетене о критическом обновлении Oracle Java SE. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u171.

» Примечания к выпуску 8u171


Java 8 (обновление 161) (8u161)

Ключевые моменты выпуска
  • Данные IANA версии 2017c
    JDK 8u161 содержит версию 2017c данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Новая функция. Добавлена поддержка увеличения размера DHE до 8192 бит, а DSA - до 3072 бит
    Расширен список поставщиков безопасности JDK с поддержкой создания 3072-битовых параметров алгоритма Диффи-Хеллмана и DSA; размер предварительно вычисленных параметров алгоритма Диффи-Хеллмана увеличен до 8192 бит и параметров DSA - до 3072 бит.
    См. JDK-8072452
  • Новая функция. Реализованы параметры эфемерных (временных) ключей Диффи-Хеллмана для конечных полей для TLS
    Реализация JDK SunJSSE теперь поддерживает механизмы TLS FFDHE, определенные в RFC 7919. Если сервер не может обработать расширение TLS supported_groups или именованные группы в расширении, приложения могут настроить имена поддерживаемых групп с помощью jdk.tls.namedGroups или отключить механизмы FFDHE, установив для системного свойства jsse.enableFFDHEExtension значение false.
    См. JDK-8140436
  • Новая функция. В метод org.omg.CORBA.ORBstring_to_object добавлены дополнительные проверки типов заглушек IDL
    Приложения, которые явно или неявно вызывают метод org.omg.CORBA.ORB.string_to_object и хотят обеспечить целостность типа заглушек IDL в потоке вызовов ORB::string_to_object должны указать дополнительные проверки типов заглушек IDL. Это функция с возможностью включения, которая не включена по умолчанию.
    Чтобы воспользоваться преимуществом дополнительных проверок типов, необходимо настроить список допустимых имен классов интерфейса IDL для классов заглушек IDL, выполнив одно из следующих действий:
    • Указать свойство безопасности com.sun.CORBA.ORBIorTypeCheckRegistryFilter, расположенное в файле conf/security/java.security в Java SE 9 или jre/lib/security/java.security в Java SE 8 и более ранних версиях.
    • Указать системное свойство com.sun.CORBA.ORBIorTypeCheckRegistryFilter со списком классов. Если задается системное свойство, то его значение переопределяет соответствующее свойство, определенное в конфигурации java.security.

    Если свойство com.sun.CORBA.ORBIorTypeCheckRegistryFilter не задано, то проверка типов выполняется только для набора имен классов для типов интерфейса IDL, соответствующих встроенным классам заглушек IDL.
    JDK-8160104 (не общедоступно)
  • Изменение. Валидация открытых ключей RSA
    В выпуске 8u161 реализация RSA у поставщика SunRsaSign будет отклонять открытые ключи RSA с экспонентой, которая не находится в допустимом диапазоне, определяемом с помощью PKCS#1 версии 2.2. Это изменение повлияет на подключения JSSE и приложения, основанные на JCE.
    JDK-8174756 (не общедоступно)
  • Изменение. Ограничены ключи Диффи-Хеллмана размером менее 1024 бит
    Ключи Диффи-Хеллмана размером менее 1024 бит считаются слишком слабыми для использования на практике, и их применение должно быть ограничено по умолчанию в подключениях SSL/TLS/DTLS. Поэтому ключи Диффи-Хеллмана размером менее 1024 бит были по умолчанию отключены с помощью добавления значения "DH keySize < 1024" в свойство безопасности "jdk.tls.disabledAlgorithms" в файле java.security. Администраторы могут обновить свойство безопасности ("jdk.tls.disabledAlgorithms") и разрешить использование ключей малого размера (например, указав значение "DH keySize < 768"), хотя не рекомендуется это делать.
    JDK-8148108 (не общедоступно)
  • Изменение. Обновлен размер ключа по умолчанию для поставщика
    Это изменение обновляет поставщиков JDK и предписывает использовать 2048 бит в качестве размера ключа по умолчанию (вместо 1024 бит), если в приложениях явно не инициализированы объекты java.security.KeyPairGenerator и java.security.AlgorithmParameterGenerator с размером ключа.
    При возникновении проблем совместимости существующие приложения могут задать для системного свойства jdk.security.defaultKeySize, добавленного в JDK-8181048, алгоритм и предпочтительный размер ключа по умолчанию.
    JDK-8178466 (не общедоступно)
Дата окончания срока действия Java

Дата истечения срока действия 8u161: 17 апреля 2018 года. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u161) до 17 мая 2018 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности, описанных в информационном бюллетене о критическом обновлении Oracle Java SE. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u161.

» Примечания к выпуску 8u161


Java 8 (обновление 151) (8u151)

Ключевые моменты выпуска
  • Данные IANA версии 2017b
    JDK 8u151 содержит версию 2017b данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Изменения сертификатов. Удален отозванный корневой сертификат Swisscom "swisscomrootevca2"
    Один из корневых сертификатов Swisscom был отозван Swisscom и удален: Swisscom Root EV CA 2
    alias: "swisscomrootevca2 [jdk]"
    DN: CN=Swisscom Root EV CA 2, OU=Digital Certificate Services, O=Swisscom, C=ch

    JDK-8186330 (не общедоступно)
  • Новые функции Новое свойство безопасности для управления политикой шифрования
    В этом выпуске появилась новая функция, благодаря которой файлами политик юрисдикции JCE, используемыми в JDK, можно управлять с помощью нового свойства безопасности. В предыдущих выпусках файлы юрисдикции JCE требовалось выгружать и устанавливать отдельно, чтобы в JDK можно было использовать неограниченные возможности шифрования. Теперь этапы выгрузки и установки не нужны. Новое свойство безопасности crypto.policy открывает доступ к неограниченным возможностям шифрования. Если новое свойство безопасности (crypto.policy) задается в файле java.security или динамически с помощью вызова Security.setProperty() перед инициализацией структуры JCE, то эта настройка выполняется. По умолчанию свойство является неопределенным. Если свойство не определено и устаревшие файлы юрисдикции JCE отсутствуют в устаревшем каталоге lib/security, то уровень шифрования по умолчанию остается "ограниченным". Чтобы настроить JDK для неограниченного шифрования, установите для свойства crypto.policy значение "без ограничений". Чтобы узнать больше, см. примечания в файле java.security, который поставляется с этим выпуском.

    Примечание. В Solaris рекомендуется удалить старые пакеты SVR4 перед установкой новых обновлений JDK. Если выполняется обновление на базе SVR4 (без удаления старых пакетов) для выпуска JDK ранее 6u131, 7u121, 8u111, то следует задать новое свойство безопасности crypto.policy в файле java.security.

    Так как старые файлы юрисдикции JCE остаются в папке <java-home>/lib/security, они могут не соответствовать последним стандартам подписей безопасности JAR, которые были обновлены в версиях 6u131, 7u121, 8u111 и более поздних. Если используются старые файлы, то может появиться исключение, подобное следующему:

    Caused by: java.lang.SecurityException: Jurisdiction policy files are not signed by trusted signers! at javax.crypto.JceSecurity.loadPolicies(JceSecurity.java:593) at javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:524)

    См. JDK-8157561
  • Изменения Реорганизованы существующие поставщики, которые ссылаются на одинаковые постоянные для значений длины ключа по умолчанию
    Для решения проблемы внесены два важных изменения:
    1. Добавлено новое системное свойство, которое позволяет настраивать размер ключа по умолчанию, используемый реализациями KeyPairGenerator и AlgorithmParameterGenerator от поставщика JDK. Это свойство называется "jdk.security.defaultKeySize", а его значение представляет собой список записей, разделенных запятыми. Каждая запись состоит из нечувствительных к регистру имени алгоритма и соответствующего размера ключа по умолчанию (в десятичном формате), разделенных символом ":". Кроме того, игнорируются пробелы.

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

    1. Реализация DSA KeyPairGenerator от поставщика SUN больше не внедряет свойство java.security.interfaces.DSAKeyPairGenerator. Приложения, которые приводят объект DSA KeyPairGenerator от поставщика SUN к значению java.security.interfaces.DSAKeyPairGenerator, могут задавать системное свойство "jdk.security.legacyDSAKeyPairGenerator". Если в качестве значения этого свойства указано 'true', то поставщик SUN возвращает объект DSA KeyPairGenerator, который реализует интерфейс java.security.interfaces.DSAKeyPairGenerator. Эта устаревшая реализация использует такое же значение по умолчанию, какое указано в интерфейсе с помощью javadoc.
    По умолчанию у этого свойства нет значения, и поставщик SUN возвращает объект DSA KeyPairGenerator, который не реализует упомянутый выше интерфейс и поэтому может задать собственное значение по умолчанию, как указано в классе java.security.KeyPairGenerator или системным свойством "jdk.security.defaultKeySize".
    JDK-8181048 (не общедоступно)
Дата окончания срока действия Java

Срок действия выпуска 8u151: 16 января 2018 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u151) до 16 февраля 2018 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности, описанных в информационном бюллетене о критическом обновлении Oracle Java SE. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u151.

» Примечания к выпуску 8u151


Java 8 (обновление 144) (8u144)

Ключевые моменты выпуска
  • Данные IANA версии 2017b
    JDK 8u144 содержит версию 2017b данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Исправление ошибки. Теперь java.util.zip.ZipFile.getEntry() всегда возвращает экземпляр ZipEntry, где имя записи каталога оканчивается символом /
    В документации к API java.util.zip.ZipEntry указано следующее: "Запись каталога определяется как запись, имя которой оканчивается символом /". Однако в предыдущих выпусках JDK java.util.zip.ZipFile.getEntry(строка entryName) может возвращать экземпляр ZipEntry с именем записи, которое не оканчивается символом / для существующего каталога ZIP, если переданный аргумент entryName не оканчивается символом / и если имеется соответствующая запись каталога ZIP с именем entryName + / в файле ZIP. В этом выпуске имя экземпляра ZipEntry, возвращаемое из java.util.zip.ZipFile.getEntry(), всегда оканчивается символом / для любой записи каталога ZIP.
    Чтобы вернуться к прежнему поведению, задайте для системного свойства jdk.util.zip.ensureTrailingSlash значение "false".

    Это изменение внесено для исправления регрессии, появившейся в JDK 8u141, когда проверка подписанных JAR приводила к сбою загрузки некоторых приложений WebStart.
    См. JDK-8184993
Дата окончания срока действия Java

Срок действия 88u144: 17 октября 2017 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u144) определяется вспомогательным механизмом и заканчивается 17 ноября 2017 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности, описанных в информационном бюллетене о критическом обновлении Oracle Java SE. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u144.

» Примечания к выпуску 8u144


Java 8 (обновление 141) (8u141)

Ключевые моменты выпуска
  • Данные IANA версии 2017b
    JDK 8u141 содержит версию 2017b данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Изменения сертификатов. В корневые центры сертификации добавлены новые сертификаты Let's Encrypt
    Добавлен один корневой сертификат:
    ISRG Root X1
    alias: letsencryptisrgx1
    DN: CN=ISRG Root X1, O=Internet Security Research Group, C=US

    JDK-8177539 (не общедоступно)
  • Улучшения диагностики JMX
    API-интерфейс com.sun.management.HotSpotDiagnostic::dumpHeap изменен и создает исключение IllegalArgumentException, если указанное имя файла не оканчивается суффиксом ".hprof". Работа приложений, предоставляющих имя файла, которое не оканчивается расширением ".hprof", будет завершена с исключением IllegalArgumentException. В этом случае для приложений можно выбрать вариант обработки исключения или восстановить прежнее поведение, задав для системного свойства "jdk.management.heapdump.allowAnyFileSuffix" значение "true".
    JDK-8176055 (не общедоступно)
  • Улучшены проверки безопасности при обработке файлов WSDL с помощью средства wsimport
    Средство wsimport изменено, чтобы запретить определения типов документов (DTD) в описаниях веб-сервисов, в частности:
    • Объявление DOCTYPE запрещено в документах
    • Внешние общие объекты не добавляются по умолчанию
    • Внешние объекты параметров не добавляются по умолчанию
    • Внешние определения типов документов полностью игнорируются
    Чтобы восстановить прежнее поведение, выполните следующие действия.
    • Задайте для системного свойства com.sun.xml.internal.ws.disableXmlSecurity значение 'true'
    • Используйте в средстве wsimport параметр командной строки –disableXmlSecurity
      ПРИМЕЧАНИЕ. Поддержка JDK 7 и JDK 6 для данного параметра в средстве wsimport будет добавлена с помощью исправления, которое будет выпущено после критического обновления в июле
    JDK-8182054 (не общедоступно)
  • Пользовательское средство HostnameVerifier активирует расширение SNI
    Предыдущие выпуски обновлений JDK 8 не всегда отправляли расширение указания имени сервера (SNI) в фазе TLS ClientHello, если применялось пользовательское средство проверки имен хостов. Средство проверки настраивается с помощью метода setHostnameVerifier(HostnameVerifier v) в команде HttpsURLConnection. Это исправление обеспечивает отправку имени сервера в тело ClientHello.
    См. JDK-8144566
  • Улучшена проверка ограничений алгоритмов
    Чтобы ограничить использование слабых алгоритмов в ситуациях, когда они становятся наиболее уязвимыми, добавлены дополнительные возможности настройки свойств безопасности jdk.certpath.disabledAlgorithms и jdk.jar.disabledAlgorithms в файле java.security.

    jdk.certpath.disabledAlgorithms: свойство certpath претерпело наибольшие изменения. Раньше оно включало два типа ограничения при проверке сертификатов, цепочек сертификатов и подписей сертификатов: либо полное отключение алгоритма по имени, либо полное отключение алгоритма по размеру ключа. Это приводило к созданию абсолютных конфигураций, которые не отличались гибкостью при использовании. Чтобы повысить гибкость применения конфигураций, добавлено три новых ограничения, разрешающих или отклоняющих использование сертификатов.

    "jdkCA" анализирует завершение цепочки сертификатов по отношению к файлу cacerts. Для сценариев "SHA1 jdkCA". Использование алгоритма SHA1 проверяется по всей цепочке сертификатов, но отклоняемая цепочка должна оканчиваться в отмеченном якоре доверия в хранилище ключей cacerts. Это полезно для организаций, у которых есть собственный частный центр сертификации, доверяющий использованию SHA1 с якорем доверия, и которые хотят заблокировать использование SHA1 в цепочках сертификатов с привязкой к общему центру сертификации.

    Параметр "denyAfter" проверяет, не наступает ли указанная дата раньше текущей даты или даты PKIXParameter. Если указано "SHA1 denyAfter 2018-01-01", то сертификат с алгоритмом SHA1 можно использовать до 2018 года. После этого сертификат будет отклонен. Данный параметр организации могут использовать при создании политики, которая прекращает действие алгоритма после определенной даты. Для подписанных JAR-файлов дата сравнивается с меткой времени TSA. Дата и время указываются по Гринвичу (GMT).

    Параметр "usage" анализирует использование указанного алгоритма. Он полезен, если не нужно отключать алгоритм для всех сценариев использования. Можно указать три сценария использования:

    • 'TLSServer' ограничивает алгоритм в цепочках сертификатов сервера TLS, когда аутентификация сервера выполняется от имени клиента.
    • 'TLSClient' ограничивает алгоритм в цепочках сертификатов клиента TLS, когда аутентификация клиента выполняется от имени сервера.
    • 'SignedJAR' ограничивает алгоритмы в сертификатах в подписанных JAR-файлах. Тип использования следует за ключевым словом, а с помощью разделителя-пробела можно указать несколько типов использования.
      Например, "SHA1 usage TLSServer TLSClient" запрещает сертификаты SHA1 для операций TLSServer и TLSClient, но операции SignedJar будут разрешены

    Эти ограничения алгоритмов можно комбинировать, разделяя их символом "&". Например, если нужно отключить цепочки сертификатов SHA1, которые оканчиваются в отмеченных якорях доверия только для операций TLSServer, то ограничение будет выглядеть так: "SHA1 jdkCA & usage TLSServer".

    jdk.jar.disabledAlgorithms: в это свойство .jar добавлено дополнительное ограничение для алгоритмов манифеста JAR.

    Параметр "denyAfter" проверяет ограничения в алгоритмах дайджеста манифестов внутри подписанного JAR-файла. Указанная в ограничении дата сравнивается с меткой времени TSA в подписанном JAR-файле. Если метка времени отсутствует либо наступает в указанную дату или позже, то подписанный JAR-файл обрабатывается как не подписанный. Если метка времени наступает раньше указанной даты, то .jar используется как подписанный JAR-файл. Для ограничения SHA1 в JAR-файлах, подписанных после 1 января 2018 года, применяется следующий синтаксис: "SHA1 denyAfter 2018-01-01". Это тот же синтаксис, что и для свойства certpath, но проверка сертификата этим свойством не выполняется.
    См. JDK-8176536

Дата окончания срока действия Java

Срок действия версии 8u141: 17 октября 2017 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u141) определяется вспомогательным механизмом и заканчивается 17 ноября 2017 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) JRE выдает пользователям дополнительные предупреждения и напоминания о необходимости обновления до более новой версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности, описанных в информационном бюллетене о критическом обновлении Oracle Java SE. Полный список ошибок, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u141.

» Примечания к выпуску 8u141


Java 8 (обновление 131) (8u131)

Ключевые моменты выпуска
  • Данные IANA версии 2016j
    JDK 8u131 содержит версию 2016j данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Исправление ошибки. Добавлена новая модель организации окон
    Раньше на платформе OS X структура AWT использовала встроенные сервисы для установления отношения прямого подчинения окон. В результате в мультимониторных средах возникали отрицательные визуальные эффекты. Для устранения недостатков подобного подхода разработана новая модель организации окон, которая полностью реализуется на уровне JDK. Ее основные принципы работы представлены ниже:
    • Окно размещается над ближайшим родительским окном.
    • Если окно содержит несколько дочерних окон, все окна размещаются на одном уровне, а окно из активной цепочки окон помещается над одноуровневыми окнами.
    • Упорядочение окон в свернутом состоянии или во время свертывания невозможно.
    Эти правила применяются ко всем рамкам или диалоговым окнам, входящим в состав иерархии окон, которая содержит текущее окно. См. JDK-8169589
  • Исправление ошибки. Устранение исключения IllegalArgumentException при подтверждении связи TLS
    Ошибка в недавнем исправлении JDK-8173783 может привести к неполадкам на некоторых серверах TLS. Проблема возникает из-за исключения IllegalArgumentException, которое генерирует код подтверждения связи TLS:

    java.lang.IllegalArgumentException: System property
    jdk.tls.namedGroups(null) contains no supported elliptic curves


    Ошибка может возникать, если сервер не поддерживает шифрование на основе эллиптических кривых для обработки поля расширения имени эллиптической кривой (если имеется). Пользователям рекомендуется выполнить обновление до данного выпуска. По умолчанию в обновления JDK 7 и более поздние версии JDK включен поставщик безопасности SunEC, в котором реализована поддержка шифрования на основе эллиптических кривых. Описанная проблема должна отсутствовать в этих выпусках, если поставщик безопасности не был изменен. См. JDK-8173783
  • В свойство безопасности jdk.jar.disabledAlgorithms добавлен алгоритм MD5
    В этом выпуске JDK добавлено новое ограничение для проверки файлов JAR, подписанных с помощью MD5. Если в подписанном файле JAR используется MD5, то операции проверки подписи проигнорируют имеющуюся подпись и будут обрабатывать файл JAR, как не подписанный. Это может происходить в следующих типах приложений, которые используют подписанные файлы JAR:
    • Апплеты и приложения Web Start
    • Автономные и серверные приложения, запущенные с включенным диспетчером SecurityManager и сконфигурированные с помощью файла политик, который предоставляет разрешения на базе модуля подписей кода JAR.

    Списком отключенных алгоритмов можно управлять с помощью свойства безопасности jdk.jar.disabledAlgorithms в файле java.security. Это свойство содержит список отключенных алгоритмов и размеров ключей для криптографически подписанных файлов JAR.

    Чтобы проверить, не использовался ли для подписывания файла JAR слабый алгоритм или ключ, можно использовать двоичный файл jarsigner, который поставляется с JDK. Запуск команды "jarsigner -verify" для файла JAR, подписанного с помощью слабого алгоритма или ключа, позволит получить больше информации об отключенном алгоритме или ключе.

    Например, чтобы проверить файл JAR test.jar, используйте следующую команду:

    jarsigner -verify test.jar

    Если в данном примере файл подписан с помощью слабого алгоритма подписи, например MD5withRSA, то отобразится следующий результат:

    The jar will be treated as unsigned, because it is signed with a weak algorithm that is now disabled. Re-run jarsigner with the -verbose option for more details.

    Чтобы отобразить еще более подробные сведения, можно использовать параметр verbose:

    jarsigner -verify -verbose test.jar

    Отобразится следующая информация:
    
     - Signed by "CN=weak_signer" Digest algorithm: MD5 (weak) Signature algorithm: MD5withRSA (weak), 512-bit key (weak) Timestamped by "CN=strong_tsa" on Mon Sep 26 08:59:39 CST 2016 Timestamp digest algorithm: SHA-256 Timestamp signature algorithm: SHA256withRSA, 2048-bit key 
    Чтобы решить проблему, необходимо повторно подписать файл JAR с помощью более стойкого алгоритма или размера ключа. Либо можно отменить ограничения, удалив соответствующие слабые алгоритмы или размеры ключей из свойства безопасности jdk.jar.disabledAlgorithms. Однако этого делать не рекомендуется. Перед повторным подписыванием файлов JAR необходимо удалить из них существующие подписи. Это можно сделать с помощью утилиты "zip", выполнив следующую команду:

    zip -d test.jar 'META-INF/.SF' 'META-INF/.RSA' 'META-INF/*.DSA'

    Рекомендуется периодически проверять документ Oracle JRE and JDK Cryptographic Roadmap на странице http://java.com/cryptoroadmap, чтобы быть в курсе запланированных ограничений для подписанных файлов JAR и прочих компонентов безопасности. JDK-8171121 (не общедоступно)
  • Новое системное свойство для управления кэшированием соединения HTTP SPNEGO.
    Представлено новое системное свойство для реализации пакета JDK, которое позволяет управлять кэшированием для соединений HTTP SPNEGO (Negotiate/Kerberos). Кэширование для соединений HTTP SPNEGO остается активным по умолчанию, поэтому если свойство не задано явно, алгоритм действий не меняется. Если соединение с сервером HTTP, который использует SPNEGO для взаимной аутентификации, установлено, то сведения об аутентификации кэшируются и используются повторно для установления соединения с тем же сервером. Кроме того, при соединении с сервером HTTP с помощью SPNEGO текущее соединение обычно остается активным и повторно используется для отправки запросов на тот же сервер. В некоторых приложениях желательно отключить кэширование для протокола HTTP SPNEGO (Negotiate/Kerberos), чтобы принудительно запрашивать новую аутентификацию для каждого нового запроса на сервер.

    В связи с этим изменением мы предлагаем новое системное свойство, которое позволяет управлять политикой кэширования для соединений HTTP SPNEGO. Если свойство jdk.spnego.cache определяется и признается неверным, все операции кэширования для соединений HTTP SPNEGO отключаются. Однако установка этого системного свойства как неверного может привести к нежелательным побочным эффектам:
    • Это может отрицательно сказаться на эффективности соединений HTTP SPNEGO, так как соединению потребуется выполнять процедуру аутентификации при отправке каждого запроса на сервер, что подразумевает обмен данными в течение определенного времени.
    • Для каждого запроса на сервер потребуется получать учетные данные. В зависимости от того, доступна ли прозрачная аутентификация и применен ли глобальный аутентификатор, для каждого запроса может отображаться всплывающее окно, в котором пользователю потребуется вводить учетные данные.
    JDK-8170814 (не общедоступно)
  • Новое системное свойство для управления кэшированием соединения HTTP NTLM.
    Представлено новое системное свойство для реализации пакета JDK, которое позволяет управлять кэшированием для соединения HTTP NTLM. Кэширование для соединения HTTP NTLM остается активным по умолчанию, поэтому если свойство не задано явно, алгоритм действий не меняется. На некоторых платформах реализация HTTP NTLM в JDK может поддерживать прозрачную аутентификацию, в которой учетные данные пользователя используются на системном уровне. Если прозрачная аутентификация недоступна или не выполнена, JDK получает учетные данные только через глобальный аутентификатор. Если соединение с сервером установлено, то сведения об аутентификации кэшируются и используются повторно для установления соединения с тем же сервером. Кроме того, при соединение с сервером HTTP NTLM текущее соединение обычно остается активным и повторно используется для отправки запросов на тот же сервер. В некоторых приложениях желательно отключить кэширование для протокола HTTP NTLM, чтобы принудительно запрашивать новую аутентификацию для каждого нового запроса на сервер.

    В связи с этим изменением мы предлагаем новое системное свойство, которое позволяет управлять политикой кэширования для соединений HTTP NTLM. Если свойство jdk.ntlm.cache определяется и признается неверным, все операции кэширования для соединений HTTP NTLM отключаются. Однако установка этого системного свойства как неверного может привести к нежелательным побочным эффектам:
    • Это может отрицательно сказаться на эффективности соединений HTTP NTLM, так как соединению потребуется выполнять процедуру аутентификации при отправке каждого запроса на сервер, что подразумевает обмен данными в течение определенного времени.
    • Для каждого запроса на сервер потребуется получать учетные данные. В зависимости от того, доступна ли прозрачная аутентификация и применен ли глобальный аутентификатор, для каждого запроса может отображаться всплывающее окно, в котором пользователю потребуется вводить учетные данные.
    JDK-8163520 (не общедоступно)
  • Новая версия VisualVM
    4 октября 2016 года выпущена новая версия VisualVM 1.3.9 http://visualvm.github.io/relnotes.html и интегрирована в 8u131. См. JDK-8167485
Дата окончания срока действия Java

Дата истечения срока действия для8u131: 18 июля 2017 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u131) до 18 августа 2017 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle Java SE. Список ошибок предыдущих версий, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u131.

» Примечания к выпуску 8u131


Java 8 (обновление 121) (8u121)

Ключевые моменты выпуска
  • Данные IANA версии 2016i
    JDK 8u121 содержит версию 2016i данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Исправление ошибки. Слишком быстрая прокрутка текста с помощью сенсорной панели в OS X 10.12 Sierra
    Метод MouseWheelEvent.getWheelRotation() возвращает округленные значения для собственных событий NSEvent deltaX/ в Mac OS X. В последней версии macOS Sierra 10.12 создаются очень маленькие значения NSEvent deltaX/Y, поэтому округление и суммирование этих значений ведет к возврату большого значения в методе MouseWheelEvent.getWheelRotation(). Исправление JDK-8166591 накапливает значения NSEvent deltaX/Y, и метод MouseWheelEvent.getWheelRotation() возвращает ненулевые значения только, если накопленное значение превышает пороговое и нулевое значение. Это соответствует спецификации MouseWheelEvent.getWheelRotation(): "Возвращает число кликов, соответствующих повороту колесика мыши, в виде целого числа. Если мышь поддерживает колесико с высоким разрешением, то может произойти частичный поворот. В этом случае метод возвращает нулевое значение до тех пор, пока не будет накоплено значение полного клика." Для использования точных значений поворота колесика мыши используйте метод MouseWheelEvent.getPreciseWheelRotation(). См. JDK-8166591
  • Повышена надежность криптографии EC в JDK
    Для повышения надежности криптографии EC ключи EC с длиной меньше 224 бит деактивированы при обработке путей сертификации (с помощью свойства безопасности jdk.certpath.disabledAlgorithms) и в подключениях SSL/TLS (с помощью свойства безопасности jdk.tls.disabledAlgorithms) в JDK. При необходимости в свойствах безопасности можно обновить это ограничение для приложений и разрешить использование ключей меньшего размера (например, "EC keySize < 192"). Кривые EC с размером меньше 256 бит удалены из реализации SSL/TLS в JDK. Новое системное свойство jdk.tls.namedGroups определяет список разрешенных именованных кривых, расположенных в порядке предпочтения, для наборов шифров EC. Если требуется настроить для приложения используемые по умолчанию кривые EC или их приоритет, обновите системное свойство соответствующим образом. Например:
    
     jdk.tls.namedGroups="secp256r1, secp384r1, secp521r1" 

    Обратите внимание, что для используемых по умолчанию или пользовательских кривых EC применяются ограничения алгоритма. Например, пользовательские кривые EC не могут повторно активировать отключенные ключи EC, определенные свойствами безопасности Java. См. JDK-8148516
  • Новый параметр "--allow-script-in-comments" для javadoc
    Средство Javadoc теперь отклоняет все вхождения кода JavaScript в комментариях документации Javadoc и параметрах командной строки, если не задан параметр --allow-script-in-comments. Параметр --allow-script-in-comments позволяет средству Javadoc сохранить код JavaScript в комментариях документации и параметрах командной строки. Если параметр командной строки не задан и обнаружен код JavaScript, то средство Javadoc выдает ошибку.
    JDK-8138725 (не общедоступно)
  • Минимальная длина ключа для подписей XML увеличена до 1024
    Режим безопасной проверки подписей XML был усовершенствован, чтобы ограничить применение используемых по умолчанию ключей RSA и DSA с размером меньше 1024 бит, поскольку такие ключи больше не являются достаточно безопасными для цифровых подписей. Кроме того, в файл java.security добавлено новое свойство безопасности jdk.xml.dsig.SecureValidationPolicy, которое можно использовать для управления ограничениями режима безопасной проверки. Режим безопасной проверки включается либо установкой значения "true" для свойства org.jcp.xml.dsig.secureValidation в подписи XML с помощью метода javax.xml.crypto.XMLCryptoContext.setProperty, либо выполнением кода с помощью компонента SecurityManager. Если подпись XML создана или проверена с использованием слабого ключа RSA или DSA, то генерируется исключение XMLSignatureException и сообщение "Ключи RSA менее 1024 бит запрещены, если включена безопасная проверка" либо "Ключи DSA менее 1024 бит запрещены, если включена безопасная проверка".
    JDK-8140353 (не общедоступно)
  • Добавлены ограничения на использование сертификатов с ключами DSA, размер которых меньше 1024 бит
    Ключи DSA с размером менее 1024 бит недостаточно надежны, и не следует их использовать при построении и проверке путей сертификации. Поэтому ключи DSA с размером менее 1024 бит по умолчанию деактивируются с помощью добавления значения "DSA keySize < 1024" в свойство безопасности "jdk.certpath.disabledAlgorithms". При необходимости можно обновить это ограничение для приложений в свойстве безопасности ("jdk.certpath.disabledAlgorithms") и разрешить использование ключей меньшего размера (например, "DSA keySize < 768"). JDK-8139565 (не общедоступно)
  • В код разбора для кодирования DER добавлены дополнительные проверки
    В код разбора для кодирования DER добавлены дополнительные проверки, чтобы улучшить возможности выявления ошибок кодирования. Кроме того, при разборе подписей, в которых используется кодирование с неопределенной длиной, будут генерироваться исключения IOException. Обратите внимание, что изменение не затрагивает подписи, созданные с помощью поставщиков JDK по умолчанию. JDK-8168714 (не общедоступно)
  • Добавлены ограничения доступа для URLClassLoader.newInstance
    Загрузчики классов, созданные с помощью метода java.net.URLClassLoader.newInstance, можно использовать для загрузки классов из списка заданных URL-адресов. Если у вызывающего кода нет доступа к одному или нескольким URL-адресам, а доступные артефакты URL-адресов не содержат требуемого класса, то генерируется исключение ClassNotFoundException или похожее. Раньше при отказе в доступе к URL-адресу генерировалось исключение SecurityException. Если необходимо восстановить прежнее поведение, то изменение можно отключить с помощью системного свойства jdk.net.URLClassPath.disableRestrictedPermissions. JDK-8151934 (не общедоступно)
  • Добавлено новое настраиваемое свойство logging.properties java.util.logging.FileHandler.maxLocks
    Новое настраиваемое свойство java.util.logging.FileHandler.maxLocks добавлено в компонент java.util.logging.FileHandler. В файле конфигурации протоколирования можно определить новое свойство протоколирования, которое позволяет настроить максимальное число блокировок файлов журналов для обработки компонентом FileHandler. По умолчанию используется значение 100. В среде с высокой степень параллелизма, где множество (более 101) автономных клиентских приложений используют API протоколирования JDK, может быть достигнут предельное значение по умолчанию (100), что приведет к сбою при получении блокировки файлов компонентом FileHandler и появлению исключения IO Exception. В этом случае перед развертыванием приложения можно повысить значение максимального числа блокировок с помощью нового свойства протоколирования. Необходимо переопределить значение по умолчанию maxLocks (100). Чтобы узнать больше, см. документацию по API-интерфейсу компонентов java.util.logging.LogManager и java.util.logging.FileHandler. См. JDK-8153955
Примечания
Улучшена защита загрузки удаленных классов с помощью JNDI

По умолчанию загрузка удаленных классов через фабрики объектов JNDI, сохраненных в службах имен и каталогов, отключена. Чтобы включить загрузку удаленных классов с помощью реестра RMI или службы имен COS, установите для следующего системного свойства значение "true":


 com.sun.jndi.rmi.object.trustURLCodebase com.sun.jndi.cosnaming.object.trustURLCodebase 

JDK-8158997 (не общедоступно)

Команда "jarsigner -verbose -verify" приводит к печати алгоритмов, используемых для подписывания файлов JAR

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

В частности, при вызове "jarsigner -verify -verbose filename.jar" выполняется печать отдельного раздела с информацией о подписи и меткой времени (если существует) внутри подписанного файла JAR, даже если по каким-либо причинам файл считается неподписанным. Если какой-либо используемый алгоритм или ключ считается слабым, как указано в свойстве безопасности jdk.jar.disabledAlgorithms, то к нему добавляется метка "(weak)".

Например:


 - Signed by "CN=weak_signer" Digest algorithm: MD2 (weak) Signature algorithm: MD2withRSA (weak), 512-bit key (weak) Timestamped by "CN=strong_tsa" on Mon Sep 26 08:59:39 CST 2016 Timestamp digest algorithm: SHA-256 Timestamp signature algorithm: SHA256withRSA, 2048-bit key 

См. JDK-8163304

Известные проблемы
javapackager и fx:deploy объединяют в пакет весь JDK вместо JRE

Известна ошибка Java Packager для Mac, при которой весь комплект JDK объединяется с пакетом приложения, что приводит к созданию пакета очень большого размера. Временное решение: использовать параметр -Bruntime в средстве создания пакетов. Например: -Bruntime=JavaAppletPlugin.plugin, где JavaAppletPlugin.plugin для объединения в пакет JRE расположен в текущем каталоге. См. JDK-8166835

Если контроль учетных записей (UAC) отключен, то происходит сбой установки Java для пользователей, не являющихся администраторами

Если контроль учетных записей (UAC) отключен, то при установке Java пользователями, не являющимися администраторами, происходит сбой без отображения предупреждений или запросов. Программа установки закрывает каталог jds<номер>.tmp в каталоге %TEMP%.
JDK-8161460 (не общедоступно)

Новые функции
Добавлено свойство безопасности для настройки режима безопасной проверки подписи XML

Добавлено новое свойство безопасности jdk.xml.dsig.secureValidationPolicy, которое позволяет настроить собственные ограничения для режима безопасной проверки подписи XML. Значение по умолчанию для данного свойства в файле конфигурации java.security:


 jdk.xml.dsig.secureValidationPolicy=\ disallowAlg http://www.w3.org/TR/1999/REC-xslt-19991116,\ disallowAlg http://www.w3.org/2001/04/xmldsig-more#rsa-md5,\ disallowAlg http://www.w3.org/2001/04/xmldsig-more#hmac-md5,\ disallowAlg http://www.w3.org/2001/04/xmldsig-more#md5,\ maxTransforms 5,\ maxReferences 30,\ disallowReferenceUriSchemes file http https,\ noDuplicateIds,\ noRetrievalMethodLoops 

Для получения дополнительных сведений см. определение свойства в файле java.security. См. JDK-8151893

Конфигурация фильтра сериализации

В функцию фильтрования сериализации добавлен новый механизм, который позволяет фильтровать входящие потоки данных сериализации объектов для повышения надежности и безопасности. Каждый объект ObjectInputStream применяет настроенный фильтр к содержимому потока во время десериализации. Настройка фильтров выполняется с помощью системного свойства или настроенного свойства безопасности. Значения шаблонов "jdk.serialFilter" описаны в JEP 290 Serialization Filtering и <JRE>/lib/security/java.security. Действия с фильтрами записываются в журнал "java.io.serialization", если он включен. См. JDK-8155760

Улучшена проверка ограничений RMI

Для реестра RMI и распределенного сбора мусора используются механизмы, описанные в JEP 290 Serialization Filtering, которые повышают надежность сервиса. Для реестра RMI и распределенного сбора мусора реализованы встроенные фильтры белых списков для типичных классов, которые планируется использовать с каждым сервисом. Можно также настроить дополнительные шаблоны фильтров с помощью системного свойства или свойства безопасности. Синтаксис шаблонов для свойств "sun.rmi.registry.registryFilter" и "sun.rmi.transport.dgcFilter" описан в JEP 290 и <JRE>/lib/security/java.security. JDK-8156802 (не общедоступно)

Добавлен механизм, который разрешает не применять ограничения алгоритма к нестандартным корневым центрам сертификации

В файле java.security добавлено дополнительное ограничение "jdkCA" в свойство jdk.certpath.disabledAlgorithms. Это ограничение запрещает применение указанного алгоритма, только в том случае, если алгоритм используется в цепочке сертификатов, которая завершается в отмеченном якоре доверия в хранилище ключей lib/security/cacerts. Если ограничение jdkCA не задано, то запрещается применять все цепочки, использующие указанный алгоритм. Ограничение jdkCA можно использовать в выражении DisabledAlgorithm только один раз. Пример. Чтобы применить это ограничение к сертификатам SHA-1, добавьте SHA1 jdkCA
См. JDK-8140422

Дата окончания срока действия Java

Дата истечения срока действия для 8u121: 18 апреля 2017 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u121) до 18 мая 2017 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle Java SE. Список ошибок предыдущих версий, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u121.

» Примечания к выпуску 8u121


Java 8 (обновление 111) (8u111)

Ключевые моменты выпуска
  • Данные IANA версии 2016f
    JDK 8u111 содержит версию 2016f данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE. См. JDK-8159684.
  • Изменения сертификатов: новый корневой центр сертификации для подписывания кода JCE
    Для поддержки более длинных ключей и более стойких алгоритмов подписей создан новый корневой центр сертификации для подписывания кода JCE, и соответствующий сертификат добавлен в Oracle JDK. Теперь для подписания сертификатов, выпускаемых этим центром сертификации, будет использоваться новый код поставщика JCE. По умолчанию этот центр сертификации будет выпускать новые запросы на подписание сертификатов кода поставщика JCE.

    Существующие сертификаты текущего корневого центра сертификации, используемые для подписывания кода поставщика JCE, по-прежнему будут действовать. Однако в будущем этот корневой центр сертификации может быть отключен. Рекомендуется запросить новые сертификаты и переподписать существующие файлы JAR. Чтобы узнать больше о подписании поставщика JCE, см. документ How to Implement a Provider in the Java Cryptography Architecture. JDK-8141340 (не общедоступно)
  • Меню служб
    Управление жизненным циклом компонентов меню AWT вызывало проблемы на некоторых платформах. Данное исправление улучшает синхронизацию состояния меню и контейнеров. JDK-8158993 (не общедоступно)
  • Отключение базовой аутентификации для туннеллирования HTTPS
    В некоторых средах определенные схемы аутентификации могут быть нежелательны при проксировании HTTPS. Поэтому схема базовой аутентификации была по умолчанию деактивирована в среде выполнения Oracle Java с помощью добавления значения "Basic" в сетевое свойство jdk.http.auth.tunneling.disabledSchemes. Теперь прокси-серверы, запрашивающие Базовую аутентификацию при настройке туннеля для HTTPS, по умолчанию будут игнорироваться. При необходимости эту схему аутентификации можно активировать повторно, удалив значение Basic из сетевого свойства jdk.http.auth.tunneling.disabledSchemes или указав для системного свойства с таким же именем значение "" (пусто) в командной строке. Кроме того, сетевые свойства jdk.http.auth.tunneling.disabledSchemes и jdk.http.auth.proxying.disabledSchemes, а также системные свойства с такими же именами можно использовать для отключения других схем аутентификации, которые могут быть активны при настройки туннеля для HTTPS или проксировании HTTP. JDK-8160838 (не общедоступно)
  • Ограничения для JAR, подписанных с помощью слабых алгоритмов и ключей
    В этом выпуске JDK добавлены новые ограничения по проверке подписанных файлов JAR. Если подписанный файл JAR использует отключенный алгоритм или размер ключа меньше минимально допустимого, то операции проверки подписи проигнорируют имеющуюся подпись и будут обрабатывать файл JAR, как не подписанный. Это может происходить в следующих типах приложений, которые используют подписанные файлы JAR:
    1. Апплеты и приложения Web Start
    2. Автономные и серверные приложения, запущенные с включенным диспетчером SecurityManager и сконфигурированные с помощью файла политик, который предоставляет разрешения на базе модуля подписей кода JAR.

    Списком отключенных алгоритмов можно управлять с помощью нового свойства безопасности jdk.jar.disabledAlgorithms в файле java.security. Это свойство содержит список отключенных алгоритмов и размеров ключей для криптографически подписанных файлов JAR.

    В данном выпуске применяются ограничения к следующим алгоритмам и размерам ключа:
    1. MD2 (в алгоритме дайджеста или подписи)
    2. Ключи RSA менее 1024 бит
    ПРИМЕЧАНИЕ. Мы планируем ограничить подписи на базе MD5 в подписанных файлах JAR в критическом обновлении (CPU) в апреле 2017 г.

    Чтобы проверить, не использовался ли для подписывания файла JAR слабый алгоритм или ключ, можно использовать двоичный файл jarsigner, который поставляется с JDK. Запуск команды jarsigner -verify -J-Djava.security.debug=jar для файла JAR, подписанного с помощью слабого алгоритма или ключа, позволит получить больше информации об отключенном алгоритме или ключе.

    Например, чтобы проверить файл JAR test.jar, используйте следующую команду:
    jarsigner -verify -J-Djava.security.debug=jar test.jar

    Если в данном примере файл подписан с помощью слабого алгоритма подписи, например MD2withRSA, то отобразится следующий результат:
    jar: beginEntry META-INF/my_sig.RSA
    jar: processEntry: processing block
    jar: processEntry caught: java.security.SignatureException: Signature check failed. Disabled algorithm used: MD2withRSA
    jar: done with meta!

    Обновленная команда jarsigner будет завершена со следующим предупреждением:
    "Невозможно выполнить синтаксический анализ или проверку подписи. Файл JAR будет обработан как неподписанный. Возможно, файл JAR был подписан с помощью слабого алгоритма, который отключен. Чтобы узнать больше, повторно запустите команду jarsigner с включенной функцией отладки (-J-Djava.security.debug=jar)"

    Чтобы решить проблему, необходимо повторно подписать файл JAR с помощью более стойкого алгоритма или размера ключа. Либо можно отменить ограничения, удалив соответствующие слабые алгоритмы или размеры ключей из свойства безопасности jdk.jar.disabledAlgorithms. Однако этого делать не рекомендуется. Перед повторным подписыванием файлов JAR необходимо удалить из них существующие подписи. Это можно сделать с помощью утилиты zip, выполнив следующую команду:

    zip -d test.jar 'META-INF/*.SF' 'META-INF/*.RSA' 'META-INF/*.DSA'

    Рекомендуется периодически проверять документ Oracle JRE and JDK Cryptographic Roadmap на странице http://java.com/cryptoroadmap, чтобы быть в курсе запланированных ограничений для подписанных файлов JAR и прочих компонентов безопасности. В частности, планируется ограничить подписи на базе MD5 в подписанных файлах JAR в критическом обновлении (CPU) в апреле 2017 г.

    Чтобы проверить, не подписаны ли файлы JAR с помощью MD5, добавьте MD5 в свойство безопасности jdk.jar.disabledAlgorithms, например

    jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize< 1024

    и запустите команду jarsigner -verify -J-Djava.security.debug=jar для файлов JAR, как описано выше.
    JDK-8155973 (не общедоступно)
  • В диалоговое окно аутентификатора развертывания добавлено предупреждение
    В диалоговое окно подключаемого модуля аутентификации добавлено предупреждение для случаев, когда применяется базовая аутентификация HTTP (учетные данные передаются незашифрованными) при использовании прокси или игнорировании протоколов SSL/TLS:
    "ПРЕДУПРЕЖДЕНИЕ. Схема базовой аутентификации передаст учетные данные открытым текстом. Подтвердите эту операцию".
    JDK-8161647 (не общедоступно)
Известные проблемы
Некоторые события недоступны в записях JFR в Windows

В записях JFR в ОС Windows недоступны следующие события для выпуска 8u111:

  1. hotspot/jvm/os/processor/cpu_load
  2. os/processor/context_switch_rate

Это происходит из-за регрессии JDK-8063089, которая добавлена в 8u111 с изменениями для JDK-8162419. Исправление для JDK-8063089 не удалось добавить в выпуск 8u111. Оно будет доступно в следующей сборке 8u111 BPR и в следующем общедоступном выпуске.
JDK-8063089 (не общедоступно)

JVM вызывает исключения NullPointerException в MacOS Sierra 10.12

В MacOS Sierra 10.12 если пользователь нажимает клавишу-модификатор (например, Command, Shift или Alt) при работе с апплетом в браузере, то может отобразиться окно ошибки с заголовком "Внутренняя ошибка". На панели Dock также отобразится значок "exec". Пользователь может закрыть апплет или попытаться перезапустить его без нажатия клавиши-модификатора. См. JDK-8165867.

Дата окончания срока действия Java

Срок действия выпуска 8u111: 17 января 2017 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u111) до 17 февраля 2017 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle Java SE. Список ошибок предыдущих версий, исправленных в этом выпуске, см. на странице Исправление ошибок версии JDK 8u111.

» Примечания к выпуску 8u111



Java 8 (обновление 101) (8u101)

Ключевые моменты выпуска
  • Данные IANA версии 2016d
    JDK 8u101 содержит версию 2016d данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE. См. JDK-8151876.
  • Изменения сертификатов
    Добавлены новые сертификаты DTrust в корневые центры сертификации
    Добавлено два корневых сертификата:
    • D-TRUST Root Class 3 CA 2 2009
      alias: dtrustclass3ca2
      DN: CN=D-TRUST Root Class 3 CA 2 2009, O=D-Trust GmbH, C=DE
    • D-TRUST Root Class 3 CA 2 EV 2009
      alias: dtrustclass3ca2ev
      DN: CN=D-TRUST Root Class 3 CA 2 EV 2009, O=D-Trust GmbH, C=DE
    См. JDK-8153080

    Добавлены новые сертификаты Iden в корневые центры сертификации
    Добавлено три корневых сертификата:
    • IdenTrust Public Sector Root CA 1
      alias: identrustpublicca
      DN: CN=IdenTrust Public Sector Root CA 1, O=IdenTrust, C=US
    • IdenTrust Commercial Root CA 1
      alias: identrustcommercial
      DN: CN=IdenTrust Commercial Root CA 1, O=IdenTrust, C=US
    • IdenTrust DST Root CA X3
      alias: identrustdstx3
      DN: CN=DST Root CA X3, O=Digital Signature Trust Co.
    См. JDK-8154757

    Удален корневой сертификат Comodo
    Корневой сертификат Comodo "UTN - DATACorp SGC" удален из файла cacerts. См. JDK-8141540

    Удален корневой сертификат Sonera Class1
    Корневой сертификат "Sonera Class1 CA" удален из файла cacerts. См. JDK-8141276.
  • Улучшен контроль доступа к javax.rmi.CORBA.ValueHandler
    Класс javax.rmi.CORBA.Util предоставляет методы, которые можно использовать в заглушках и привязках для выполнения основных операций. Также выполняет функции фабрики для объектов ValueHandler. Интерфейс javax.rmi.CORBA.ValueHandler предоставляет службы для поддержки чтения и записи типов значений в потоках GIOP. Повышен уровень безопасности этих служебных программ. Добавлено разрешение java.io.SerializablePermission("enableCustomValueHanlder"). Оно используется для установления доверенных отношений между пользователями API-интерфейсов javax.rmi.CORBA.Util и javax.rmi.CORBA.ValueHandler.

    Обязательное разрешение — "enableCustomValueHanlder" SerializablePermission. При использовании стороннего кода, работающего с установленным компонентом SecurityManager, но не имеющего нового разрешения при вызове Util.createValueHandler(), произойдет сбой с исключением AccessControlException.

    В JDK8u и более ранних выпусках такое поведение проверки разрешения можно переопределить, определив системное свойство "jdk.rmi.CORBA.allowCustomValueHandler".

    Для корректной работы внешних приложений, явно вызывающих javax.rmi.CORBA.Util.createValueHandler, необходимо внести изменения в конфигурацию, если установлен компонент SecurityManager и не выполнено ни одно из двух требований:
    1. Разрешение java.io.SerializablePermission("enableCustomValueHanlder") не выдается компонентом SecurityManager.
    2. Для приложений, работающих на базе JDK8u и более ранних версий, системное свойство "jdk.rmi.CORBA.allowCustomValueHandler" не определяется, либо для него задается значение "false" (без учета регистра).

    Обратите внимание, что ошибка "enableCustomValueHanlder" будет исправлена в выпусках октября 2016 г. В этих и последующих выпусках JDK "enableCustomValueHandler" будет правильным разрешением SerializationPermission для использования.
    JDK-8079718 (не общедоступно)
  • В jarsigner добавлена поддержка указания алгоритма, генерирующего хеш временной метки
    В jarsigner добавлен новый параметр -tsadigestalg для указания алгоритма дайджеста сообщений, генерирующего отпечаток сообщения, передаваемый на сервер TSA. В более ранних выпусках JDK использовался алгоритм дайджеста сообщений SHA-1. Если новый параметр не задан, в обновлениях JDK 7 и более поздних версиях семейства JDK будет использоваться алгоритм SHA-256. В обновлениях JDK 6 алгоритм SHA-1 будет по-прежнему использоваться в качестве алгоритма по умолчанию, но в стандартном потоке вывода будет создано предупреждение. См. JDK-8038837
  • Хранилище ключей MSCAPI может обрабатывать сертификаты с одинаковыми именами
    Хранилище ключей Java SE не допускает использование сертификатов с одинаковыми псевдонимами. Однако в ОС Windows можно хранить в одном хранилище ключей несколько сертификатов с неуникальными понятными именами. Исправление JDK-6483657 преобразует видимые псевдонимы таких сертификатов в уникальные имена и позволяет работать с ними в Java API. Обратите внимание, что это исправление не позволяет создавать сертификаты с одинаковыми именами в Java API. Оно позволяет только работать с сертификатами с одинаковыми именами, которые добавлены в хранилище ключей с помощью сторонних инструментов. По-прежнему не рекомендуется использовать в проектах несколько сертификатов с одинаковыми именами. В частности, следующее предложение не будет удалено из документации Java:
    "Во избежание проблем не рекомендуется использовать в хранилище ключей псевдонимы, которые различаются только регистром".
    См. JDK-6483657.
  • Методы API-интерфейса Deployment Toolkit больше не устанавливают JRE
    Методы API-интерфейса Deployment Toolkit installLatestJRE() и installJRE(requestedVersion) из deployJava.js, а также метод install() из dtjava.js больше не устанавливают JRE. Если установленная версия Java не отвечает минимальным требованиям безопасности, пользователь будет перенаправлен на сайт java.com для обновления JRE. JDK-8148310 (не общедоступно)
  • DomainCombiner больше не учитывает политику среды выполнения для статических объектов ProtectionDomain при объединении объектов ProtectionDomain
    В приложениях, использующих статические объекты ProtectionDomain с недостаточным набором разрешений (созданные с помощью двухаргументного конструктора), теперь может возникать исключение AccessControlException. Необходимо либо заменить статические объекты ProtectionDomain динамическими (созданными с помощью четырехаргументного конструктора) и расширить их набор разрешений посредством текущей политики, либо создать статический объект ProtectionDomain со всеми необходимыми разрешениями. JDK-8147771 (не общедоступно)
Известные проблемы
При использовании идентификатора статического класса Internet Explorer (IE) не распознает JRE 8u101

Если идентификатор статического класса используется для запуска апплета или веб-приложения при работе с JRE 8u101, то откроется ненужное диалоговое окно, в котором указано, что необходимо использовать последнюю версию JRE или отменить запуск, даже если пользователи работают с последней версией JRE (JRE 8u101). Данная ситуация применима только к ОС Windows и браузеру IE.

Не рекомендуется использовать идентификатор статического класса для выбора версии JRE (начиная с JDK 5u6, дек. 2005 г.) в соответствии с информацией на сайте http://www.oracle.com/technetwork/java/javase/family-clsid-140615.html.

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

  • Согласиться на запуск последней версии (8u101) и проигнорировать предупреждение.
  • Установить JRE 8u102 вместо JRE 8u101 для предотвращения появления диалогового окна.

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

  • Использовать идентификатор динамического класса вместо идентификатора статического класса.
  • Использовать java_version при работе с апплетом HTML или дескриптор JNLP при работе с JNLP.

JDK-8147457 (не общедоступно)
 

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle Java SE. Список ошибок предыдущих версий, исправленных в этом выпуске, см. на странице Исправления ошибок JDK 8u101.

Дата окончания срока действия Java

Срок действия 8u101: до 19 октября 2016 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u101) определяется вспомогательным механизмом и заканчивается 19 ноября 2016 года. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

» Примечания к выпуску 8u101


Java 8 (обновление 91) (8u91)

Ключевые моменты выпуска
  • Данные IANA версии 2016a
    JDK 8u91 содержит версию 2016a данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Исправление ошибки. Устранена задержка времени запуска апплета
    В JDK-8080977 появилась задержка при запуске апплета. Задержка наблюдается только в IE и составляет около 20 секунд. В JDK-8136759 эта задержка устранена. См. JDK-8136759
  • Исправление ошибки. Теперь создание подписей DSA выполняется после проверки стойкости ключа
    Если при создании подписей стойкость алгоритма дайджеста ниже, чем стойкость ключа для подписи (например, при использовании 2048, 256-разрядных ключей DSA с подписью SHA1withDSA), то операция завершится с ошибкой: "Стойкость алгоритма дайджеста SHA1 недостаточна для ключа такого размера". JDK-8138593 (не общедоступно)
  • Исправление ошибки. Проблема с активным подключением Firefox 42
    При запуске подключаемого модуля Java из файла plugin-container.exe (поведение по умолчанию в Firefox 42) и статусе апплета, отличного от "Готов(2)", вызовы JavaScript-to-Java не обрабатываются, так как это может привести к зависанию браузера. Если апплет не готов (статус отличается от 2), фактический метод Java не выполняется, и возвращается значение null.

    Если подключаемый модуль запускается из файла plugin-container.exe, не используйте вызовы JavaScript-To-Java, которые могут обрабатываться более 11 секунд (значение по умолчанию для параметра dom.ipc.plugins.hangUITimeoutSecs) или могут отобразить модальное диалоговое окно во время вызова JavaScript-To-Java. В этом случае основной поток браузера будет заблокирован, что может привести к зависанию браузера и прекращению работы подключаемого модуля.

    Решение для Firefox 42: пользователи могут установить значение dom.ipc.plugins.enabled=false. Побочный эффект решения: изменения будут применены ко всем подключаемым модулям. JDK-8144079 (не общедоступно)
  • Исправление ошибки. Новый атрибут для серверов JMX RMI JRMP обозначает список имен классов для использования при десериализации учетных данных сервера
    Для среды Java определен новый атрибут, который позволяет серверу JMX RMI JRMP указывать список имен классов. Эти имена соответствуют закрытию имен классов, которые ожидаются сервером при десериализации учетных данных. Например, если ожидаемые учетные данные -
    
     List<string>
    то закрытие включает конкретные классы, которые ожидаются в виде последовательного списка строк.

    По умолчанию этот атрибут используется только агентом по умолчанию со следующими значениями:
    
     { "[Ljava.lang.String;", "java.lang.String" } 
    При десериализации учетных данных допускаются только массивы строк и строки. Имя атрибута:
    
    "jmx.remote.rmi.server.credential.types" 
    Далее приведен пример, в котором пользователь запускает сервер с указанными именами классов учетных данных:
    
     Map<string, object=""> env = new HashMap<>(1); env.put ( "jmx.remote.rmi.server.credential.types", new String[]{ String[].class.getName(), String.class.getName() } ); JMXConnectorServer server = JMXConnectorServerFactory.newJMXConnectorServer(url, env, mbeanServer); 
    Новая функция должна использоваться при помощи прямого указания значения:
    "jmx.remote.rmi.server.credential.types"

    JDK-8144430 (не общедоступно)
  • Исправление ошибки. Отключение алгоритма подписей MD5withRSA в поставщике JSSE
    Алгоритм подписей MD5 с RSA теперь считается небезопасным и больше не используется. Поэтому алгоритм MD5withRSA по умолчанию отключен в среде Oracle JSSE с помощью добавления "MD5withRSA" в свойство безопасности "jdk.tls.disabledAlgorithms". Теперь сообщения подтверждения соединения TLS и сертификаты X.509, подписанные с помощью алгоритма MD5withRSA, по умолчанию являются недопустимыми. Это изменение расширяет прежнее ограничение сертификата на базе MD5 ("jdk.certpath.disabledAlgorithms") и добавляет к нему сообщения подтверждения соединения в TLS версии 1.2. При необходимости алгоритм можно активировать, удалив "MD5withRSA" из свойства безопасности "jdk.tls.disabledAlgorithms". JDK-8144773 (не общедоступно)
  • Исправление ошибки. Добавлены новые сертификаты в корневые центры сертификации
    Добавлено восемь корневых сертификатов:
    • QuoVadis Root CA 1 G3
      alias: quovadisrootca1g3
      DN: CN=QuoVadis Root CA 1 G3, O=QuoVadis Limited, C=BM
    • QuoVadis Root CA 2 G3
      alias: quovadisrootca2g3
      DN: CN=QuoVadis Root CA 2 G3
    • QuoVadis Root CA 3 G3
      alias: quovadisrootca3g3
      DN: CN=QuoVadis Root CA 3 G3, O=QuoVadis Limited, C=BM
    • DigiCert Assured ID Root G2
      alias: digicertassuredidg2
      DN: CN=DigiCert Assured ID Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US
    • DigiCert Assured ID Root G3
      alias: digicertassuredidg3
      DN: CN=DigiCert Assured ID Root G3, OU=www.digicert.com, O=DigiCert Inc, C=US
    • DigiCert Global Root G2
      alias: digicertglobalrootg2
      DN: CN=DigiCert Global Root G2, OU=www.digicert.com, O=DigiCert Inc, C=US
    • DigiCert Global Root G3
      alias: digicertglobalrootg3
      DN: CN=DigiCert Global Root G3, OU=www.digicert.com, O=DigiCert Inc, C=US
    • DigiCert Trusted Root G4
      alias: digicerttrustedrootg4
      DN: CN=DigiCert Trusted Root G4, OU=www.digicert.com, O=DigiCert Inc, C=US
    См. JDK-8145954 и JDK-8145955.
Примечания

Удаление статических JRE
Программы установки Java для Windows до версии 8u91 по умолчанию не удаляли статически установленные JRE. Для удаления статически установленных JRE пользователям приходилось выбирать эти JRE вручную в пользовательском интерфейсе программы установки Java. Начиная с версии Java 8u91, статически установленные JRE удаляются автоматически, если они не соответствуют минимальным требованиям безопасности. Дополнительную информацию о статической установке см. в разделе Конфигурация среды выполнения Java.

Дата окончания срока действия Java

Дата истечения срока действия для 8u91: 19 июля 2016 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u91) до 19 августа 2016 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle Java SE. Список ошибок предыдущих версий, исправленных в этом выпуске, см. на странице Исправление ошибок версии JDK 8u91.

» Примечания к выпуску 8u91


Java 8 (обновление 77) (8u77)

Ключевые моменты выпуска
Дата окончания срока действия Java

Дата истечения срока действия 8u77: 19 апреля 2016 года. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u77) до 19 мая 2016 года обеспечивает вспомогательный механизм. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Примечания

Это предупреждение безопасности (8u77) основано на предыдущем выпуске 8u74 PSU. Все пользователи предыдущих выпусков JDK 8 должны выполнить обновление до этого выпуска. Для получения дополнительной информации о разнице между критическими исправлениями и наборами исправлений посетите страницу Описание выпусков Java CPU и PSU.

Предупреждение безопасности для CVE-2016-0636 не влияет на демонстрационные материалы, файлы примеров и документы для 8u77, поэтому демонстрационные материалы, файлы примеров и документы для версии 8u73 остаются актуальными до выпуска критического исправления в апреле.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle Java SE.

» Примечания к выпуску 8u77


Java 8 (обновление 73) (8u73)

Ключевые моменты выпуска
Дата окончания срока действия Java

Дата истечения срока действия 8u73: 19 апреля 2016 года. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u73) до 19 мая 2016 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Примечания

Корпорация Oracle настоятельно рекомендует пользователям Java, загрузившим версии с ошибками и планирующим установить эти загруженные версии, отменить загрузки. Пользователям Java, установившим критические обновления версии января 2016 года для Java SE 6, 7 или 8, не требуется предпринимать никаких действий. Пользователи, которые не установили критические обновления версии января 2016 года для Java SE 6, 7 или 8, должны обновиться до выпусков Java SE 6, 7 или 8 с помощью предупреждений системы безопасности для CVE-2016-0603.

Предупреждение безопасности для CVE-2016-0603 не влияет на демонстрационные материалы, файлы примеров и документы для 8u73, поэтому демонстрационные материалы, файлы примеров и документы для версии 8u71 остаются актуальными до выпуска критического исправления в апреле.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle Java SE. Обратите внимание, что версия 8u73 не содержит сборок PSU, включенных в версию 8u72. Пользователям, которым требуется исправления ошибок, включенные в 8u72, должны обновиться до версии 8u74 вместо 8u73.

» Примечания к выпуску 8u73


Java 8 (обновление 71) (8u71)

Ключевые моменты выпуска
  • Данные IANA версии 2015g
    JDK 8u71 содержит версию 2015g данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Исправление ошибки. При выполнении jps в качестве root информация отображается не полностью
    После установки исправления JDK-8050807 (исправлено в 8u31, 7u75 и 6u91) при выполнении jps в качестве root отображалась неполная информация из процессов Java, запущенных другими пользователями на некоторых системах. Теперь эта проблема устранена. См. JDK-8075773.
  • Исправление ошибки. Программы установки останавливаются в конфигурациях ESC
    Пользователи, выполняющие Internet Explorer Enhance Security Configuration (ESC) на Windows Server 2008 R2, могли испытывать проблемы при установке Java в интерактивном режиме. Эта ошибка была устранена в версии 8u71. Программы установки, выполняющиеся в интерактивном режиме, больше не будут останавливаться в конфигурациях ESC. См. JDK-8140197.
  • Исправление ошибки. Исправлена проблема, связанная с алгоритмами PBE, которые используют шифрование AES
    Ошибка была исправлена для PBE, использующих 256-разрядное шифрование AES таким образом, что полученный ключ мог отличаться и не совпадать с ключами, ранее полученными из того же пароля. JDK-8138589 (не общедоступно).
  • Исправление ошибки. Для максимального размера элемента XML добавлено значение по умолчанию
    Добавлено значение по умолчанию для максимального размера элемента. Дополнительные сведения об ограничениях, связанных с обработкой XML, см. в документе Руководства по Java, ограничения обработки. JDK-8133962 (не общедоступно)
  • Исправление ошибки. Исправлена проблема с документацией для Enterprise MSI switch 'REMOVEOLDERJRES'
    В документации для Enterprise MSI приводятся параметры конфигурации. Параметр REMOVEOLDERJRES, используемый для удаления устаревших JRE, отсутствовал. Этот параметр добавлен вместе со следующим описанием:
    Если для параметра задано значение 1, удаляются более старые выпуски JRE, установленные в системе.
    Если задано значение по умолчанию: 0, старые версии JRE не удаляются
    JDK-8081237 (не общедоступно)
Дата окончания срока действия Java

Дата истечения срока действия 8u71: 19 апреля 2016 года. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u71) до 19 мая 2016 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle Java SE.

Список ошибок, исправленных в этом выпуске, см. на странице Исправление ошибок JDK 8u71.

» Примечания к выпуску 8u71


Java 8 (обновление 66) (8u66)

Ключевые моменты выпуска

В выпуске 8u66 сборка 18 исправлена ошибка для Firefox.

  • Исправление ошибки. Вызов _releaseObject совершался из неверного потока
    Недавнее изменение в Firefox приводило к тому, что вызов _releaseObject совершался не из главного потока. Это могло приводить к состоянию гонки, что в свою очередь могло вызывать самопроизвольный сбой работы браузера. Эта ошибка была исправлена в сборке 18 выпуска 8u66. Дополнительные сведения см. в Bugs@Mozilla 1221448. См. JDK-8133523.
Подключаемый модуль Java не работает в Firefox после установки Java

При попытке выполнить подключаемый модуль Java может произойти неожиданный выход из Firefox 42. Варианты временных решений приведены в разделе "Часто задаваемые вопросы". См. JDK-8142908 (не общедоступно).

Дата окончания срока действия Java

Срок действия выпуска 8u66: 19 января 2016 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u66) до 19 февраля 2016 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle Java SE.

Список ошибок, исправленных в этом выпуске, см. на странице Исправление ошибок JDK 8u66.

» Примечания к выпуску 8u66


Java 8 (обновление 65) (8u65)

Ключевые моменты выпуска
  • Данные IANA версии 2015f
    JDK 8u65 содержит версию 2015f данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Поддержка таблицы "Коды существующих фондов" (A.2) стандарта ISO 4217
    В этом усовершенствовании реализована поддержка кодов фондов таблицы A.2 стандарта ISO 4217. Ранее пакет JDK поддерживал только валюты из таблицы A.1. См. JDK-8074350.
  • Исправление ошибки. Установленный клиент JRE AU [mac osx] не может обновить NEXTVER в Mac 10.11
    В выпуске 8u65 представлена новая программа установки для обновления OS X до последней версии. Программа установки используется для запланированных и ручных обновлений, а также пакетов, доступных на java.com и в OTN. Пользователи, столкнувшиеся с проблемой совместимости новой программы установки, могут вручную выгрузить и установить программу установки ".pkg" в My Oracle Support.
  • Исправление ошибки. Виртуальная машина Hotspot должна использовать интерфейс PICL для получения размера строки кэша на SPARC
    Теперь для определения размера строк кэша на Solaris/SPARC требуется библиотека libpicl. Если эта библиотека отсутствует или служба PICL недоступна, на виртуальной машин Java появится предупреждение и оптимизации компилятора, использующие инструкцию BIS (Block Initializing Store), будут отключены. См. JDK-8056124.
  • Исправление ошибки. Параметр dns_lookup_realm по умолчанию должен иметь значение false
    Параметр dns_lookup_realm в файле Kerberos krb5.conf по умолчанию имеет значение false. См. JDK-8080637.
  • Исправление ошибки. Предварительная загрузка libjsig.dylib приводит к взаимной блокировке при вызове signal()
    Приложения должны предварительно загрузить библиотеку libjsig, чтобы включить формирование цепочки сигнала. Ранее в OS X после предварительной загрузки libjsig.dylib любой вызов из собственного кода в signal() вызывал взаимную блокировку. Эта ошибка была исправлена. См. JDK-8072147.
  • Исправление ошибки. Улучшена групповая динамика
    В реализации OpenJDK SSL/TLS/DTLS (поставщик SunJSSE) по умолчанию используются безопасные главные группы Diffie-Hellman. Пользователи могут настроить группы Diffie-Hellman через свойство безопасности, jdk.tls.server.defaultDHEParameters.
  • Исправление ошибки. Сбой виртуальной машины при переопределении класса с помощью Instrumentation.redefineClasses
    Виртуальная машина Java могла дать сбой при переопределении класса с помощью Instrumentation.redefineClasses(). Сбой мог быть вызван ошибкой сегментации в SystemDictionary::resolve_or_null или внутренней ошибкой с сообщением "несовпадение тега с таблицей разрешения ошибок". Теперь эта проблема устранена. См. JDK-8076110.
Примечания

Когда в OSX 10.11 El Capitan включен SIP, определенные переменные среды, предназначенные для отладки приложений (например, DYLD_LIBRARY_PATH), могли удаляться из среды при запуске Java из командной строки или при двойном щелчке по файлу JAR. Приложения не должны использовать эти переменные, они предназначены только для отладки во время разработки.

MD5 необходимо использовать для цифровых подписей, когда требуется устойчивость к конфликтам. Чтобы предотвратить использование MD5 в качестве алгоритма цифровой подписи во время операций с сертификатом X.509, MD5 добавляется в свойство безопасности jdk.certpath.disabledAlgorithms. Для приложений, продолжающих использование подписанного сертификата MD5, рекомендуется обновить ненадежный сертификат как можно скорее.

Известные проблемы

[macosx] Проблемы с доступностью экрана спонсорских предложений (a11y)
Пользователи, получающие доступ к пользовательскому интерфейсу в программе установки Java с клавиатуры, не могли использовать гиперссылки и флажки на экранах предложений программных дополнений. В качестве обходного решения для настройки параметров дополнений в пользовательском интерфейсе можно отключить такие предложения с помощью панели управления Java или путем передачи SPONSORS=0 в командной строке. Подробнее см. на странице Часто задаваемые вопросы по установке Java без спонсорских предложений. См. JDK-8061886 (не общедоступно).

Дата окончания срока действия Java

Срок действия версии 8u65: 19 января 2016 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u65) до 19 февраля 2016 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle Java SE.

Список ошибок, исправленных в этом выпуске, см. на странице Исправление ошибок JDK 8u65.

» Примечания к выпуску 8u65


Java 8 (обновление 60) (8u60)

Ключевые моменты выпуска
  • Данные IANA версии 2015e
    JDK 8u60 содержит версию 2015e данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Исправление ошибки. Параметр dns_lookup_realm должен иметь значение false по умолчанию
    Параметр dns_lookup_realm в файле Kerberos' krb5.conf по умолчанию имеет значение false. См. 8080637.
  • Исправление ошибки. Отключение шифровальных наборов RC4
    Шифровальные наборы TLS на основе RC4 (например, TLS_RSA_WITH_RC4_128_SHA) теперь считаются скомпрометированными и не должны использоваться (см. RFC 7465). Таким образом, шифровальные наборы TLS на основе RC4 были отключены по умолчанию в реализации Oracle JSSE путем добавления "RC4" в свойство безопасности "jdk.tls.disabledAlgorithms" и удаления их из списка включенных по умолчанию шифровальных наборов. Эти наборы шифрования можно снова активировать, удалив "RC4" из свойства безопасности "jdk.tls.disabledAlgorithms" в файле java.security или с помощью динамического вызова метода Security.setProperty(), а также повторного добавления их в список включенных шифровальных наборов с помощью методов SSLSocket/SSLEngine.setEnabledCipherSuites(). Также можно воспользоваться параметром командной строки -Djava.security.properties, чтобы переопределить свойство безопасности jdk.tls.disabledAlgorithms. Например:
    java -Djava.security.properties=my.java.security ...
    , где my.java.security — это файл, содержащий свойство без RC4:
    jdk.tls.disabledAlgorithms=SSLv3
    Даже с этим параметром, заданным в командной строке, требуется повторно добавить наборы шифров на основе RC4 в список включенных наборов шифров с помощью методов SSLSocket/SSLEngine.setEnabledCipherSuites(). См. 8076221.
  • Исправление ошибки. Обнаружение типа поддерживаемого хранилища ключей для хранилищ JKS и PKCS12
    Режим совместимости хранилищ ключей. Для обеспечения взаимодействия тип хранилища ключей Java JKS теперь поддерживает режим совместимости хранилища ключей по умолчанию. Данный режим позволяет хранилищам ключей JKS получать доступ к форматам файлов JKS и PKCS12. Чтобы отключить режим совместимости хранилища ключей, установите для свойства безопасности keystore.type.compat значение false. См. 8062552.
  • Исправление ошибки. Исключены небезопасные способы мониторинга в выпуске JDK 8u
    Методы monitorEnter monitorExit и tryMonitorEnter в файле sun.misc.Unsafe JDK 8u60 помечены как устаревшие и будут удалены в следующем выпуске. Данные методы не используются в JDK и редко используются за пределами JDK. См. 8069302.
  • Исправление ошибки. Извлечение записи JFR из файла ядра с помощью SA
    DumpJFR является инструментом на основе SA-агента, который можно использовать для извлечения данных Java Flight Recorder(JFR) из файлов ядра и активных процессов Hotspot. DumpJFR можно использовать в одном из следующих методов:
    • Присоединение DumpJFR к активному процессу:

      The embedded asset does not exist:
      Asset Type: jWidget_C
      Asset Id: 1371164883097
      PAGENAME: JCOM/jWidget_C/Raw_HTML/Display

       
    • Присоединение DumpJFR к файлу ядра:

      The embedded asset does not exist:
      Asset Type: jWidget_C
      Asset Id: 1371164883117
      PAGENAME: JCOM/jWidget_C/Raw_HTML/Display

       
    Инструмент DumpJFR создает дамп данных JFR в файле с именем recording.jfr текущей рабочей папки. См. 8065301 (не общедоступно).
  • Исправление ошибки. Локальные переменные с именем "enum" приводят к ложным сбоям в работе компилятора
    Синтаксический анализатор javac некорректно выполняет синтаксический анализ локальных переменных с именем "enum", что приводит к ложным сбоям в работе, если программа, содержащая такие локальные переменные, компилируется с флагом "source", соответствующим выпуску, в котором конструкция "enum" недоступна (например, "-source 1.4"). См. 8069181.
Комплект Java Development Kit для ARM, выпуск 8u60

Этот выпуск включает Java Development Kit for ARM, выпуск 8u60 (JDK 8u60 for ARM). Сведения о поддержке устройств ARM см. на странице Загружаемые ресурсы JDK for ARM. Системные требования, инструкции по установке и советы по поиску и устранению неполадок см. на странице Инструкции по установке.

Ограничение. Поддержка функции Native Memory Tracking в JDK for ARM ограничена. Параметр командной строки java XX:NativeMemoryTracking=detail не поддерживается для целевых объектов ARM (отображается сообщение об ошибке). Вместо этого используйте следующий параметр:
XX:NativeMemoryTracking=summary

Обновления документации в связи с улучшениями Nashorn

JDK 8u60 содержит новые улучшения для Nashorn. Информацию о следующих изменениях следует читать в сочетании с текущей документацией Nashorn.

  • Дополнение. В предыдущем разделе мы упоминали, что каждый объект JavaScript, представленный API-интерфейсам Java, реализует интерфейс java.util.Map. Это правило справедливо даже для массивов JavaScript. Однако данное поведение зачастую нежелательно или неожидаемо, если код Java планирует получить объекты после синтаксического анализа JSON. Библиотеки Java, которые работают с объектами после синтаксического анализа JSON, обычно ожидают использования массивами интерфейса java.util.List. Если необходимо представить объекты JavaScript, чтобы массивы были представлены в виде списков, а не карт, воспользуйтесь функцией Java.asJSONCompatible(obj), где obj является корнем дерева объектов JSON.
  • Исправление. Упомянутое предупреждение, размещенное в конце раздела Отображение типов данных, более не применимо. Nashorn обеспечивает преобразование внутренних строк JavaScript в java.lang.String в случае внешнего представления.
  • Исправление. Заявление в разделе Отображение типов данных, в котором сообщается, что "Например, массивы должны быть преобразованы явным образом,..." не является верным. Массивы автоматически преобразуются в типы массива Java, такие как java.util.List java.util.Collection java.util.Queue и java.util.Deque и т. д.
Изменения в наборе правил развертывания, версия 1.2

В JDK 8u60 реализован набор правил развертывания (DRS) 1.2, который содержит следующие изменения:

  • Добавьте элемент "checksum" как вспомогательный элемент "id", который может позволить определить неназначенные архивы jar с помощью контрольной суммы SHA-256 несжатой формы jar-файла:
    • Элемент "checksum" будет сопоставлять только неназначенные архивы jar, а указанный хэш будет сравниваться только относительно несжатой формы jar-файла.
    • Элемент "checksum" (идентичен элементу "certificate") имеет два аргумента "hash" и "algorithm" но в отличие от элемента "certificate" единственным поддерживаемым значением для "algorithm" является "SHA-256". Любые другие представленные значения будут пропускаться.
  • Разрешает применить элемент "message" ко всем типам правил, хотя ранее он применялся только к правилу блокировки:
    • В правиле запуска вспомогательный элемент сообщения будет вызывать отображение диалогового окна сообщения, в котором при отсутствии правила запуска в качестве поведения по умолчанию будет задано отображение сертификата или неподписанного диалогового окна. Сообщение будет отображаться в диалоговом окне сообщений.
    • В правиле по умолчанию сообщение будет отображаться только в случае, если в качестве действия по умолчанию задана блокировка. В данном случае сообщение будет отображаться в диалоговом окне блокировки.
  • Эхо "customer" блокируется в консоли Java, файлах трассировки и записях Java Usage Tracker.
    • До версии DRS 1.2 элементы "customer" могли быть включены (вместе с любыми вспомогательными элементами) в файл ruleset.xml. Данный элемент и все его вспомогательные элементы игнорируются. В DRS 1.2 по-прежнему выполняется функциональный пропуск элементов. Однако:
      • При синтаксическом анализе файла ruleset.xml все блоки "customer" будут использованы в эхо для консоли Java и файле трассировки развертывания (если консоль и трассировка включены).
      • При использовании правила все записи "customer" включены в то правило, которое будет добавлено в запись Java Usage Tracker (JUT) (при условии включения JUT).

В результате указанных выше изменений DTD для DRS 1.2 выглядит следующим образом:
The embedded asset does not exist:
Asset Type: jWidget_C
Asset Id: 1385352043373
PAGENAME: JCOM/jWidget_C/Raw_HTML/Display

Дата окончания срока действия Java

Срок действия версии 8u60: 20 октября 2015 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u60) до 20 ноября 2015 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Исправления ошибок

Список ошибок, исправленных в этом выпуске, см. на странице Исправление ошибок JDK 8u60.

» Примечания к выпуску 8u60


Java 8 (обновление 51) (8u51)

Ключевые моменты выпуска
  • Данные IANA версии 2015d
    JDK 8u51 содержит версию 2015d данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Исправление ошибки. В корневые центры сертификации добавлены новые корневые элементы Comodo
    Добавлено четыре новых корневых сертификата для Comodo:
    1. COMODO ECC Certification Authority
      alias: comodoeccca
      DN: CN=COMODO ECC Certification Authority, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB
    2. COMODO RSA Certification Authority
      alias: comodorsaca
      DN: CN=COMODO RSA Certification Authority, O=COMODO CA Limited, L=Salford, ST=Greater Manchester, C=GB
    3. USERTrust ECC Certification Authority
      alias: usertrusteccca
      DN: CN=USERTrust ECC Certification Authority, O=The USERTRUST Network, L=Jersey City, ST=New Jersey, C=US
    4. USERTrust RSA Certification Authority
      alias: usertrustrsaca
      DN: CN=USERTrust RSA Certification Authority, O=The USERTRUST Network, L=Jersey City, ST=New Jersey, C=US
    См. JDK-8077997 (не общедоступно).
  • Исправление ошибки. В корневые центры сертификации добавлены новые корневые элементы GlobalSign
    Добавлено два новых корневых сертификата для GlobalSign:
    1. GlobalSign ECC Root CA - R4
      alias: globalsigneccrootcar4
      DN: CN=GlobalSign, O=GlobalSign, OU=GlobalSign ECC Root CA - R4
    2. GlobalSign ECC Root CA - R5
      alias: globalsigneccrootcar5
      DN: CN=GlobalSign, O=GlobalSign, OU=GlobalSign ECC Root CA - R5
    См. JDK-8077995 (не общедоступно).
  • Исправление ошибки. В корневые центры сертификации добавлен элемент Actalis
    Добавлен один новый корневой сертификат:
    Actalis Authentication Root CA
    alias: actalisauthenticationrootca
    DN: CN=Actalis Authentication Root CA, O=Actalis S.p.A./03358520967, L=Milan, C=IT

    См. JDK-8077903 (не общедоступно).
  • Исправление ошибки. Добавлен новый корневой элемент Entrust ECC
    Добавлен один новый корневой сертификат:
    Entrust Root Certification Authority - EC1
    alias: entrustrootcaec1
    DN: CN=Entrust Root Certification Authority - EC1, OU="(c) 2012 Entrust, Inc. - for authorized use only", OU=See www.entrust.net/legal-terms, O="Entrust, Inc.", C=US

    См. JDK-8073286 (не общедоступно).
  • Исправление ошибки. Удалены старые корневые элементы Valicert Class 1 и 2 Policy
    Удалено два корневых сертификата с 1024-разрядными ключами:
    1. ValiCert Class 1 Policy Validation Authority
      alias: secomvalicertclass1ca
      DN: EMAILADDRESS=info@valicert.com, CN=http://www.valicert.com/, OU=ValiCert Class 1 Policy Validation Authority, O="ValiCert, Inc.", L=ValiCert Validation Network
    2. ValiCert Class 2 Policy Validation Authority
      alias: valicertclass2ca
      DN: EMAILADDRESS=info@valicert.com, CN=http://www.valicert.com/, OU=ValiCert Class 2 Policy Validation Authority, O="ValiCert, Inc.", L=ValiCert Validation Network
    См. JDK-8077886 (не общедоступно).
  • Исправление ошибки. Удалены старые корневые элементы Thawte
    Удалено два корневых сертификата с 1024-разрядными ключами:
    1. Thawte Server CA
      alias: thawteserverca
      DN: EMAILADDRESS=server-certs@thawte.com, CN=Thawte Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA
    2. Thawte Personal Freemail CA
      alias: thawtepersonalfreemailca
      DN: EMAILADDRESS=personal-freemail@thawte.com, CN=Thawte Personal Freemail CA, OU=Certification Services Division, O=Thawte Consulting, L=Cape Town, ST=Western Cape, C=ZA
    См. JDK-8074423 (не общедоступно).
  • Исправление ошибки. Удалены более старые корневые элементы Verisign, Equifax и Thawte
    Удалено пять корневых сертификатов с 1024-разрядными ключами:
    1. Verisign Class 3 Public Primary Certification Authority - G2
      alias: verisignclass3g2ca
      DN: OU=VeriSign Trust Network, OU="(c) 1998 VeriSign, Inc. - For authorized use only", OU=Class 3 Public Primary Certification Authority - G2, O="VeriSign, Inc.", C=US
    2. Thawte Premium Server CA
      alias: thawtepremiumserverca
      DN: EMAILADDRESS=premium-server@thawte.com, CN=Thawte Premium Server CA, OU=Certification Services Division, O=Thawte Consulting cc, L=Cape Town, ST=Western Cape, C=ZA
    3. Equifax Secure Certificate Authority
      alias: equifaxsecureca
      DN: OU=Equifax Secure Certificate Authority, O=Equifax, C=US
    4. Equifax Secure eBusiness CA-1
      alias: equifaxsecureebusinessca1
      DN: CN=Equifax Secure eBusiness CA-1, O=Equifax Secure Inc., C=US
    5. Equifax Secure Global eBusiness CA-1,
      alias: equifaxsecureglobalebusinessca1
      DN: CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C=US
    См. JDK-8076202 (не общедоступно).
  • Исправление ошибки. Удалены корневые элементы ЦС TrustCenter из сертификатов CACert
    Удалено три корневых сертификата:
    1. TC TrustCenter Universal CA I
      alias: trustcenteruniversalcai
      DN: CN=TC TrustCenter Universal CA I, OU=TC TrustCenter Universal CA, O=TC TrustCenter GmbH, C=DE
    2. TC TrustCenter Class 2 CA II
      alias: trustcenterclass2caii
      DN: CN=TC TrustCenter Class 2 CA II, OU=TC TrustCenter Class 2 CA, O=TC TrustCenter GmbH, C=DE
    3. TC TrustCenter Class 4 CA II
      alias: trustcenterclass4caii
      DN: CN=TC TrustCenter Class 4 CA II, OU=TC TrustCenter Class 4 CA, O=TC TrustCenter GmbH, C=DE
    См. JDK-8072958 (не общедоступно).
  • Исправление ошибки. Шифр RC4 устарел для провайдера SunJSSE
    RC4 теперь считается слабым шифром. Серверы не должны выбирать RC4 при наличии более сильного кандидата в пакетах шифрования, запрашиваемых клиентом. Новое свойство безопасности jdk.tls.legacyAlgorithms добавлено для определения устаревших алгоритмов в реализации Oracle JSSE. Связанные с RC4 алгоритмы добавлены в список устаревших алгоритмов. См. JDK-8074006 (не общедоступно).
  • Исправление ошибки. Запрещены пакеты шифрования RC4
    RC4 теперь считается скомпрометированным шифром. Пакеты шифрования RC4 были удалены из списка включенных по умолчанию пакетов шифрования на клиенте и сервере в реализации Oracle JSSE. Эти пакеты шифрования по-прежнему можно включить с помощью методов SSLEngine.setEnabledCipherSuites() и SSLSocket.setEnabledCipherSuites(). См. JDK-8077109 (не общедоступно).
  • Исправление ошибки. Улучшена проверка сертификации
    Благодаря этому исправлению идентификация конечных точек JSSE не выполняет обратный поиск имен для IP-адресов по умолчанию в JDK. Если приложение не требует обратного поиска имен для необработанных IP-адресов в соединениях SSL/TLS и при этом возникает проблема совместимости идентификации конечных точек, то для перехода к обратному поиску имен можно использовать свойство системы "jdk.tls.trustNameService". Обратите внимание, что если служба имен не является надежной, включение обратного поиска имен может привести к возникновению MITM-атак. См. JDK-8067695 (не общедоступно).
Дата окончания срока действия Java

Срок действия версии 8u51: 20 октября 2015 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u51) до 20 ноября 2015 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle Java SE.

Список ошибок, исправленных в этом выпуске, см. на странице Исправление ошибок JDK 8u51.

» Примечания к выпуску 8u51


Java 8 (обновление 45) (8u45)

Ключевые моменты выпуска
  • Данные IANA версии 2015a
    JDK 8u45 содержит версию 2015a данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Исправление ошибки. Требуется улучшить обработку файла jar. Начиная с версии JDK 8u45, при создании новых и/или распаковке существующих файлов .zip и .jar инструмент jar не позволяет добавлять символ наклонной черты "/" и символ ".." (точка-точка) в качестве компонентов пути к входному zip-файлу. При необходимости следует явно указывать в командной строке новый параметр "-P", позволяющий сохранить компонент точка-точка и/или абсолют пути. См. 8064601 (не общедоступно).
  • Исправление ошибки. В приложении jnlp со встроенным разделом "resource" возникает ошибка NPE при загрузке в jre8u40. Приложение jnlp с тегами , встроенными в тег <java> или , может возвращать ошибку NPE. Эта ошибка исправлена. Тег следует использовать только при фактическом использовании тега <java>. См. 8072631 (не общедоступно).
Дата окончания срока действия Java

Дата истечения срока действия для 8u45: 14 июля 2015 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u45) до 14 августа 2015 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle Java SE.

Список ошибок, исправленных в этом выпуске, см. на странице Исправление ошибок JDK 8u45.

» Примечания к выпуску 8u45


Java 8 (обновление 40) (8u40)

Ключевые моменты выпуска
  • Данные IANA версии 2014j
    JDK 8u40 содержит версию 2014j данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Исправление ошибки. стандартные и статические методы интерфейсов в JDI, JDWP и JDB. Начиная с версии JDK 8, в интерфейсах можно использовать непосредственно исполняемые статические и стандартные методы. Эти методы не исполняются через JDWP или JDI, что затрудняет их отладку. Подробности см. в документе Руководство по совместимости JDK 8. См. 8042123.
  • Исправление ошибки. На панели управления теперь можно включить Java Access Bridge для 32-разрядных сред JRE. Ранее флажок Enable Java Access Bridge (Включить Java Access Bridge) удалялся из панели управления Java при удалении 64-разрядных JRE даже в тех случаях, когда 32-разрядные JRE по-прежнему оставались в системе. Начиная с выпуска JDK 8u40, флажок Enable Java Access Bridge (Включить Java Access Bridge) сохраняется в разделе Панель управления -> Специальные возможности -> Центр специальных возможностей -> Использовать компьютер без экрана при наличии 32-разрядных JRE. Таким образом, пользователь может включить Java Access Bridge с помощью панели управления. См. 8030124.
  • Исправление ошибки. Модернизация JavaFX Media Stack в Mac OS X. Мультимедийные возможности JavaFX расширены за счет добавления платформы проигрывателя на базе AVFoundation. Разрешено удаление старой платформы на базе QTKit для совместимости с Mac App Store. См. 8043697 (не общедоступно)
  • Исправление ошибки. Отсутствуют API DOM. В выпуске JDK 8u40 API DOM устаревшего подключаемого модуля были случайно удалены. Если апплет требует использования com.sun.java.browser.dom.DOMService для связи с браузером, пользователям может потребоваться обновить свой апплет для использования netscape.javascript.JSObject или продолжить использование JDK 8 (обновление 31). Эта проблема разрешена в сборке 26, новые программы установки 8u40 опубликованы. Если вы столкнулись с этой проблемой, загрузите и выполните обновленные программы установки JDK 8u40. См. 8074564.
  • Исправление ошибки. Mac 10.10: в приложении с экраном-заставкой наблюдаются проблемы установки фокуса. В приложениях, запускаемых через webstart, и автономных приложениях, в которых используется экран-заставка, не удается установить фокус с помощью клавиатуры. Временное решение: запустите javaws с использованием параметра -Xnosplash. Эта проблема разрешена в сборке 27, новая программа установки 8u40 опубликована. Если вы столкнулись с этой проблемой, загрузите и выполните обновленную программу установки JDK 8u40. См. 8074668.
  • Усовершенствования средства Java Packager
    Выпуск JDK 8u40 содержит следующие усовершенствования для Java Packager:
  • Устаревшие API-интерфейсы
    Механизм переопределения утвержденных стандартов и механизм расширения устарели и, возможно, будут удалены в следующем выпуске. Изменения среды выполнения отсутствуют. Рекомендуется отказаться от использования механизмов 'переопределение утвержденных стандартов' или 'расширение' в существующих приложениях. Чтобы выявить случаи использования этих механизмов, воспользуйтесь опцией командной строки -XX:+CheckEndorsedAndExtDirs. Если любое из следующих условий является истинным, выдается ошибка.
    • Системное свойство -Djava.endorsed.dirs или -Djava.ext.dirs настроено для изменения местоположения по умолчанию.
    • Существует каталог${java.home}/lib/endorsed.
    • ${java.home}/lib/ext содержит файлы JAR помимо тех, которые содержатся в JDK.
    • Один из каталогов системных расширений для конкретной платформы содержит файлы JAR.
    Опция командной строки -XX:+CheckEndorsedAndExtDirs поддерживается в JDK 8u40 и более поздних версиях.
  • Различия между страницами средства JJS
    Японская версия страницы справки JJS отличается от английской версии. Некоторые неподдерживаемые опции удалены из английской версии страницы инструмента JJS. Японская версия будет обновлена позже. См. 8062100 (не общедоступно). Другие изменения страниц инструмента JJS см. в разделе "Усовершенствования инструментов в JDK 8".
  • Изменены значения по умолчанию для G1HeapWastePercent и G1MixedGCLiveThresholdPercent
    Значение по умолчанию для G1HeapWastePercent изменено с 10 на 5. Это позволяет снизить необходимость использования полнофункциональных сборщиков мусора. По этой же причине значение по умолчанию для G1MixedGCLiveThresholdPercent изменено с 65 на 85.
  • Новый интерфейс фильтрации для доступа к классам Java
    Интерфейс jdk.nashorn.api.scripting.ClassFilter позволяет ограничить доступ к определенным классам Java из сценариев, выполняемых в обработчике сценариев Nashorn. Подробнее см. в разделе"Ограничение доступа к определенным классам Java через сценарии" в руководстве пользователя Nashorn и статье 8043717 (не общедоступно).
  • Проблемы со сторонними поставщиками JCE
    В исправлении JDK-8023069 (в JDK 8u20) обновлены поставщики SunJSSE и SunJCE, включая некоторые внутренние интерфейсы. Некоторые сторонние поставщики JCE (например, RSA JSAFE) используют внутренние интерфейсы sun.* и поэтому не смогут работать с обновленным поставщиком SunJSSE. Эти поставщики необходимо обновить для работы с обновленным поставщиком SunJSSE. Если вы столкнулись с этой проблемой, свяжитесь со своим поставщиком JCE для обновления. См. 8058731.
  • Повторно включено шифрование Solaris Crypto Framework
    Если вы работаете в среде Solaris 10, изменение внесено для повторного включения операций с MD5, SHA1 и SHA2 через Solaris Crypto Framework. Если вы столкнулись с исключением CloneNotSupportedException или сообщением об ошибке PKCS11 CKR_SAVED_STATE_INVALID в JDK 8u40, вам необходимо проверить и применить следующие исправления или их новые версии:
    • 150531-02 в системах Sparc
    • 150636-01 в системах x86
  • Обновлено руководство по устранению неполадок для NMT
    NMT (Отслеживание собственной памяти) — функция виртуальной машины Java HotSpot, отслеживающая использование внутренней памяти HotSpot JVM. Функция NMT может использоваться для мониторинга распределения внутренней памяти и диагностики утечек памяти виртуальной машины. На страницу усовершенствований виртуальной машины добавлено описание функций NMT. См. раздел "Усовершенствования виртуальной машины Java в Java SE 8". В руководство по устранению неисправностей добавлена информация о функциях NMT. См. раздел "Отслеживание собственной памяти".
  • Удалена функция запуска нескольких JRE
    Функция выбора версии JRE во время запуска и функция запуска нескольких JRE удалена в JDK 8u40. Приложения, развернутые с использованием этой функции, должны перейти на альтернативные решения развертывания, например Java WebStart.
  • Усовершенствования JavaFX
    Начиная с выпуска JDK 8u40, в улучшенных элементах управления JavaFX реализована поддержка вспомогательных технологий. Это означает, что элементы управления JavaFX теперь поддерживают специальные возможности. Кроме того, разработчикам предоставляется общедоступный API-интерфейс, позволяющий создавать собственные элементы управления с поддержкой специальных возможностей. Ниже перечислены специальные возможности, поддерживаемые на платформах Windows и Mac OS X:
    • Считывание элементов управления JavaFX программами для чтения с экрана
    • Функции элементов управления JavaFX дублируются клавиатурой
    • Предусмотрен специальный режим высокой контрастности, улучшающий видимость элементов управления для пользователей.
    См. 8043344 (не общедоступно).

    Выпуск JDK 8u40 включает в себя новые элементы пользовательского интерфейса JavaFX: вертикальный список с прокруткой, поддержка форматированного текста и стандартный набор диалоговых окон оповещения.
    • Вертикальный список с прокруткой: однострочное текстовое поле, позволяющее пользователю выбирать числа или значения объектов из упорядоченной последовательности. Подробное описание см. в классе javafx.scene.control.Spinner.
    • Форматированный текст: новый класс TextFormatter предоставляет возможность форматирования текста для подклассов TextInputControl (например, TextField и TextArea). Подробное описание см. в классе javafx.scene.control.TextFormatter.
    • Диалоговые окна: класс Dialog позволяет приложениям создавать собственные диалоговые окна. Дополнительно предоставляется класс Alert, расширяющий класс Dialog и обеспечивающий поддержку нескольких типов встроенных диалоговых окон, отображаемых в качестве запросов для пользователя. Подробное описание см. в классах javafx.scene.control.Dialog javafx.scene.control.Alert javafx.scene.control.TextInputDialog javafx.scene.control.ChoiceDialog.
    См. 8043350 (не общедоступно).
Коммерческие функции
  • AppCDS (Совместное использование данных о классе приложения)
    AppCDS (Совместное использование данных о классе приложения) расширяет CDS, что позволяет распределять классы из каталогов стандартных расширений и из папки класса в общем архиве. Это экспериментальная функция, она не лицензирована для коммерческого использования. См. опцию -XX:+UseAppCDS на странице средства запуска Java.
  • Управление общей памятью
    Начиная с JDK 8u40, в JDK добавлено понятие "дефицит памяти". Дефицит памяти – это свойство, отражающее общее использование памяти (ОЗУ) в системе. Чем выше значение свойства "дефицит памяти", тем быстрее система может столкнуться с нехваткой памяти. Это экспериментальная функция, она не лицензирована для коммерческого использования. При увеличении значения этого свойства JDK будет пытаться снизить использование памяти. Чаще всего это достигается за счет уменьшения размера динамической памяти Java. Действия JDK по сокращению использования памяти могут привести к снижению производительности. Этот результат является намеренным. Приложение предоставляет данные об уровне дефицита через объект JMX MXBean по шкале от 0 (нет дефицита) до 10 (критическая нехватка свободной памяти). Для включения этой функции необходимо зарегистрировать jdk.management.cmm.SystemResourcePressureMXBean. После регистрации дефицит памяти задается с помощью атрибута "MemoryPressure".
    Также доступен новый флаг командной строки -XX:MemoryRestriction, который использует один из следующих аргументов: "none", "low", "medium" или "high". Этот флаг задает начальный дефицит JDK и поддерживается также в тех случаях, когда объект MXBean не зарегистрирован. Для общего управления памятью (Cooperative Memory Management) требуется G1 GC (-XX:+UseG1GC). Эта функция не совместима с флагом -XX:+ExplicitGCInvokesConcurrent.
  • Новые коммерческие флаги
    Для владельцев коммерческих лицензий теперь доступны два новых параметра VM:
    • -XX:+ResourceManagement
    • -XX:ResourceManagementSampleInterval=value (в миллисекундах)
    Подробнее см. документацию "Средство запуска Java".
  • Новая документация к программе установки MSI Installer:
    Доступно Руководство по программе установки Microsoft Windows Installer (MSI) Enterprise JRE Installer. Для использования программы установки MSI Enterprise JRE Installer в производстве требуется коммерческая лицензия. Узнайте подробнее о коммерческих функциях и о том, как их активировать.
Дата окончания срока действия Java

Дата истечения срока действия 8u40: 14 апреля 2015 года. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u40) до 14 мая 2015 года обеспечивает вспомогательный механизм. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Исправления ошибок

Список ошибок, исправленных в этом выпуске, см. на странице Исправление ошибок JDK 8u40.

» Примечания к выпуску 8u40


Java 8 (обновление 31) (8u31)

Ключевые моменты выпуска
  • Данные IANA версии 2014j
    JDK 8u31 содержит версию 2014j данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Протокол SSLv3 по умолчанию отключен
    Начиная с выпуска JDK 8u31, протокол SSLv3 (Secure Socket Layer) деактивирован и стал недоступен. См. свойство jdk.tls.disabledAlgorithms в файле \lib\security\java.security. Если все же необходимо использовать протокол SSLv3, его можно повторно активировать, удалив текст "SSLv3" из свойства jdk.tls.disabledAlgorithms в файле java.security или динамически установив это свойство безопасности перед инициализацией JSSE.
  • Изменения Панели управления Java
    Начиная с выпуска JDK 8u31, протокол SSLv3 удален из параметров Панели управления Java — Дополнительно. Если требуется использовать SSLv3 для приложений, включите его вручную, выполнив следующие действия:
    • Включите протокол SSLv3 на уровне JRE: как описано в предыдущем разделе.
    • Включите протокол SSLv3 на уровне развертывания: отредактируйте файл deployment.properties, добавив в него следующий текст:

      deployment.security.SSLv3=true
Дата окончания срока действия Java

Дата истечения срока действия 8u31: 14 апреля 2015 года. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u31) до 14 мая 2015 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle Java SE.

Список ошибок, исправленных в этом выпуске, см. на странице Исправление ошибок JDK 8u31.

» Примечания к выпуску 8u31


Java 8 (обновление 25) (8u25)

Ключевые моменты выпуска
  • Данные IANA версии 2014c
    JDK 8u25 содержит версию 2014c данных часовых поясов IANA. Дополнительную информацию см. в разделе Версии данных часовых поясов в программном обеспечении JRE.
  • Исправление ошибки. Уменьшен режим предпочтений RC4 в списке разрешенных пакетов шифрования
    Это исправление снижает предпочтения RC4 на основе пакетов шифрования в списке разрешенных пакетов шифрования по умолчанию поставщика SunJSSE. См. 8043200 (не общедоступно).
  • Исправление ошибки. В JRE 8u20 происходит сбой при использовании японской службы обмена сообщениями на ОС Windows
    В VM происходит сбой при использовании элементов управления Swing при вводе японских или китайских символов на платформе Windows. Эта ошибка исправлена. См. 8058858 (не общедоступно).
Инструкции по отключению SSL v3.0 в Oracle JDK и JRE

Oracle рекомендует пользователям и разработчикам отключить протокол SSLv3.
» Как пользователи Java могут убедиться, что они не подвержены уязвимости "Poodle" SSL V3.0?

Дата окончания срока действия Java

Срок действия версии 8u25: 20 января 2015 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u25) до 20 февраля 2015 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Исправления ошибок

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle Java SE.

Список ошибок, исправленных в этом выпуске, см. на странице Исправление ошибок JDK 8u25.

» Примечания к выпуску 8u25


Java 8 (обновление 20) (8u20)

Ключевые моменты выпуска
  • Добавлены новые флаги в API-интерфейс управления Java
    Флагами MinHeapFreeRatio и MaxHeapFreeRatio теперь можно управлять. Это означает, что их можно менять во время выполнения с помощью API управления в Java. Поддержка этих флагов также добавлена в ParallelGC как часть политики адаптивного размера.
  • Изменения программы установки Java
    • Выпущена новая программа установки Microsoft Windows Installer (MSI) Enterprise JRE Installer, которая позволяет устанавливать JRE на предприятии. Дополнительную информацию см. в разделе Загрузка программы установки в документе Установка JRE для Microsoft Windows. Программа установки MSI Enterprise JRE Installer доступна только в виде компонента Java SE Advanced или Java SE Suite. Информацию об этих коммерческих продуктах см. в документе Java SE Advanced и Java SE Suite.
    • Программа удаления Java встроена в программу установки. С ее помощью вы сможете удалить старые версии Java из системы. Данное изменение применимо к 32- и 64-разрядным платформам Windows. См. Удаление JRE.
  • Изменения панели управления Java
    • На вкладке Update (Обновление) панели управления Java Control Panel теперь можно задать автоматическое обновление 64-разрядных JRE (в дополнение к 32-разрядным версиям), установленных в системе.
    • Уровень безопасности Medium (Умеренный) удален. Теперь доступны только уровни High (Высокий) и Very High (Очень высокий). Выполнение апплетов, не соответствующих новейшим требованиям безопасности, можно разрешить, добавив соответствующие сайты в список сайтов-исключений. Список сайтов-исключений позволяет пользователю разрешить выполнение тех же апплетов, которые доступны на уровне Medium (Умеренный). В этом случае разрешение на выполнение апплетов настраивается отдельно для каждого сайта, что снижает риск использования более низких уровней защиты.
  • Обновлен компилятор Java
    Компилятор javac обновлен, теперь в нем реализован анализ определенного назначения для доступа к последнему пустому полю с помощью "this". Подробности см. в документе Руководство по совместимости JDK 8.
  • Изменения к минимальной требуемой версии Java для Java Plugin и Java Webstart
    Теперь минимальная требуемая версия Java для Java Plugin и Java Webstart: Java 5. Апплеты, которые не выполняются в Java 5 и более поздних версиях, необходимо перевести на более позднюю версию Java. Апплеты, которые написаны для более ранних версий, но могут выполняться по крайней мере в Java 5, продолжат функционировать.
  • Изменение в форматировании выходных данных UsageTracker
    Теперь в форматировании выходных данных UsageTracker используются кавычки, что позволяет избежать путаницы в журнале. Это может потребовать изменения способа чтения данной информации. Можно задать для этой функции настройки предыдущей версии, хотя рекомендуется все же использовать новый формат. См. документацию к Java Usage Tracker.
  • Изменения средств упаковки Java
    • Инструмент javafxpackager переименован в javapackager
    • В команду развертывания javapackager добавлен параметр "-B". Он позволяет передавать аргументы в средства создания пакетов, которые используются для создания автономных приложений. Дополнительную информацию см. в документации к javapackager (Windows)/(Unix)
    • Добавлен аргумент параметра средства помощи в JavaFX Ant Task Reference. Он позволяет указать аргумент (в элементе ) для средства создания пакетов, которое используется для создания автономных приложений.
Дата окончания срока действия Java

Срок действия версии 8u20: 14 октября 2014 г. Срок действия Java истекает при появлении нового выпуска с исправлениями уязвимостей системы безопасности. В системах без возможности подключения к серверам Oracle срок действия JRE (версия 8u20) до 14 ноября 2014 года задается вспомогательным механизмом. При выполнении любого из условий (становится доступным новый выпуск или истекает срок действия) Java предоставляет пользователям дополнительные предупреждения и напоминания о необходимости обновления версии.

Исправления ошибок

Список ошибок, исправленных в этом выпуске, см. на странице Исправление ошибок JDK 8u20.

» Примечания к выпуску 8u20


Java 8 (обновление 11) (8u11)

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle.

Список ошибок, исправленных в этом выпуске, см. на странице Исправление ошибок JDK 8u11.

» Примечания к выпуску 8u11


Java 8 (обновление 5) (8u5)

Данный выпуск содержит исправления для устранения уязвимостей системы безопасности. Дополнительные сведения см. в информационном бюллетене о критическом обновлении Oracle.

Список ошибок, исправленных в этом выпуске, см. на странице Исправление ошибок JDK 8u5.

» Примечания к выпуску 8u5


Выпуск Java 8

» Примечания к выпуску JDK и JRE 8