Есть ли способ предотвратить появление предупреждающего сообщения «Невозможно проверить цифровую подпись приложения» при запуске приложения Java из командной строки?
Я ищу решение для командной строки , которое позволило бы запускать подобное приложение на сервере непрерывной интеграции, поэтому мне нужно решение, которое не требует ручного вмешательства.
Кроме того, я бы предпочел не отключать это предупреждение для любого приложения, поскольку это может представлять угрозу безопасности.
Не уверен, что помогает, но я знаю значения полей "name", "publisher" и "from" подписи.
Только будьте уверены, я не спрашиваю о том, как подписать это приложение.
обновление 1
Я полагаю, что решение состоит в том, чтобы использовать keytool
для импорта сертификата из командной строки, но по какой-то причине он не может импортировать его должным образом, поскольку он не появляется в апплете панели управления после этого, и приложение все еще требует его .
keytool -importcert -file my.cer -alias alf2 -storepass changeme -noprompt
Это как-то связано со значением по умолчанию keystore
, как я могу убедиться, что я импортирую в нужное хранилище ключей?
обновление 2
После большого количества исследований в сети я добился определенного прогресса, по крайней мере, работал на Windows 7
с Java 6
: keytool -importcert -file my.cer -keystore "%USERPROFILE%\AppData\LocalLow\Sun\Java\Deployment\security\trusted.certs" -storepass "" -noprompt -v
Я смотрю, что Sun не удалось указать в документации реальное местоположение хранилища ключей по умолчанию и тот факт, что пароль по умолчанию пуст.
Но это не конец, потому что когда этот запуск с учетной записью пользователя автоматизации не удался, он не удался, потому что у этого пользователя еще не было хранилища ключей, а инструмент командной строки keytool
не может создать хранилище ключей с пустой пароль, запрашивающий не менее 6 символов. см. Раздел форума Sun ...