2017-02-14 4 views
0

Я разработал настольное программное обеспечение в JAVA, которое будет запущено BAT или VBS-файлом, который, в свою очередь, будет запускать исполняемый JAR с помощью команды javaw -jar.Является ли хорошей практикой кодировать исполняемые JAR-приложения для настольных приложений?

У меня есть сертификат подписи кода, который я использую для установщика. Было бы целесообразно также подписать исполняемый JAR?

Важно подписать установщика, чтобы избежать сообщения Неизвестного издателя. Но почему было бы важно подписать исполняемый JAR?

+0

Если у вас есть сертификат подписи кода, подписанный реальным CA, вы должны рассмотреть вопрос об использовании Java Web Start, чтобы распространять свои приложения. Web Start - это программа установки/обновления, которая работает на всех платформах. Единственное дополнительное усилие, необходимое с вашей стороны, - это написать короткий XML-файл, который описывает приложение и его параметры установки. – VGR

+1

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

+0

@JochenBedersdorfer Я создавал автономные исполняемые файлы в 1997 году. Это JWS, который новее. – EJP

ответ

2

Как вы распространяете ваше приложение, вам не нужно подписывать файл .jar.

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

Так что если программа Java - это то, что пользователь загружает с веб-сайта, она должна быть подписана. Фактически, если он распространяется с использованием стандартного инструмента установки/автоматического обновления Java, Java Web Start, то должен быть подписан с сертификатом подписи кода (если вы не хотите пытаться направлять нетехнических пользователей путем добавления «исключения сайта», в панели управления Java).

Подписанный файл .jar не гарантирует, что приложение Java не повредит компьютеру пользователя, конечно. Это просто гарантирует, что владелец сертификата был проверен, поэтому, если программа наносит вред, пользователь знает, кого обвинять.

Если у вас есть сертификат подписи кода, подписанный реальным ЦС, вам следует рассмотреть возможность подписания с ним .jar и распространение его с использованием Java Web Start, а не скрипта. Web Start - это программа установки/обновления, которая работает на всех платформах. Единственное дополнительное усилие, необходимое с вашей стороны, - это написать короткий XML-файл, который описывает приложение и его параметры установки.

1

Нет вреда для подписания вашего файла JAR с сертификатом подписи кода.

  • Если вы не подписали файл JAR, и когда пользователь попытается загрузить этот файл, в процессе загрузки появится предупреждающее сообщение обозревателя, в котором говорится: «Этот тип файла может потенциально опасно для вашего компьютера».

Но если вы подписали JAR-файл с сертификатом подписи кода, не будет предупреждающего сообщения. Это также указывает, что код программного обеспечения/приложения и владелец оба проверены и доверены.

Как вы сказали, у вас есть сертификат подписи кода, я хотел бы предложить вам подписать JAR-файл.

Проверьте изображение ниже «Сообщение об ошибке, если файл не зашифрован с помощью подписи кода».

Error message if the file is not Encrypted with Code Signing

Смежные вопросы