Java 7u51 не примет JNLP с самозаверяющим сертификатом?

Я читал в Интернете, что версия Java 7u51 (будет выпущена в январе 2014 года) больше не будет принимать приложения Java Webstart, которые были подписаны мной самостоятельно.

Это правда?

Если это правда, могу ли я найти обходной путь для своего приложения JNLP, чтобы я мог запустить приложение даже после января 2014 года?

Я видел, что опция подавления предупреждений безопасности из-за использования самозаверяющего сертификата была удалена в 7u40.

8 ответов

Да, это правда. Эта запись в блоге от Oracle содержит подробности.

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

  1. Подпишите ваше приложение с доверенным сертификатом
  2. Пусть ваши конечные пользователи настроят свои машины так, чтобы они доверяли вашему приложению, несмотря на то, что оно было подписано
    • с помощью наборов правил развертывания (намерение Oracle состоит в том, что DRS должны использоваться только в корпоративных средах, где вы можете распространять это обновление конфигурации с помощью технологии централизованного управления)
    • через список сайтов исключений (я полагаю, что это должно быть аналогом DRS, но для отдельных конечных пользователей без централизованного управления)
  3. Пусть ваши пользователи понизят свой ползунок безопасности с высокого (по умолчанию) до среднего.

См. Также мой вопрос о получении предварительных версий этих обновлений для тестирования.

Oracle только что объявила, что новая функция под названием " Список сайтов исключений" будет доступна в 7u51.

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

ОБНОВИТЬ:

Java 7u51 была только что выпущена, и я могу подтвердить, что решение Exception Site List работает довольно легко. Просто зайдите в Панель управления Java -> Безопасность -> Изменить список сайтов и добавьте URL-адрес самоподписанного приложения JNLP в список Locations.

Это для Windows ТОЛЬКО

Перейти к настройке Java в Windows "java configure", выбирать "Security"вкладка и выбор"Edit Site List", добавьте свой подписанный URL в список.

Иногда вам нужно добавить полный URL-адрес Java-приложения в список, чтобы заставить его работать, вы не можете просто добавить https://xxx.abc.com, должно быть https://xxx.abc.com/application_blah_blah вместо.

После добавления URL перезапустите Java-приложение, введя этот URL в браузер, и он будет работать.

Это правда?

Не знаю, но слышал то же самое. Каков твой источник?

Если это правда, могу ли я найти обходной путь для своего приложения JNLP, чтобы я мог запустить приложение даже после января 2014 года?

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

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

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

Ознакомьтесь с официальной справкой Java, чтобы разрешить доступ:

Контроль ненадежных программ

У меня есть самоподписанное приложение, которое должно быть запущено до конца семестра (декабрь), поэтому январский срок не повлияет на меня. Тем не менее, мы испытываем проблемы даже с более ранними сборками. Это только началось на прошлой неделе (возможно, из-за какого-то автоматического обновления). JRE является сборкой 40.

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

Кто-нибудь может предложить другие шаги, которые я должен предпринять? Является ли коммерческий сертификат моим единственным вариантом?

Спасибо Нина

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

Я создал переносную программу запуска JAWAWS для файлов JNLP, поступающих с серверов IPMI/IMM/ILO/IRMC/IDRAC/KVM, которая должна работать на довольно большом количестве старых серверов. Настройки безопасности в моем портативном лаунчере уже настроены на поддержку доисторических устройств.

Вы можете найти проект на https://github.com/netinvent/ipmi-starter .

Другие вопросы по тегам