Есть ли какой-либо способ предотвратить появление предупреждающего сообщения «Подпись приложения не может быть проверено» при запуске приложения Java из командной строки?Могу ли я предотвратить предупреждение цифровой подписи при запуске приложения Java из командной строки?
Я ищу решение командной строки, которое позволит запускать такое приложение на сервере непрерывной интеграции, поэтому мне нужно решение, которое не требует ручного вмешательства.
Кроме того, я бы предпочел не отключать это предупреждение для любого приложения, поскольку это может представлять угрозу безопасности.
Не уверен, что помогает, но я знаю значения полей «имя», «издатель» и «из» подписи.
Просто быть уверены, я не спрашиваю о том, как подписать это заявление.
обновление 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
Я выглядит, что ВС не удалось указать в документации реальное местоположение хранилище ключей по умолчанию и тот факт, что пароль по умолчанию пуст.
Но это еще не конец, потому что, когда этот прогон в учетной записи пользователя автоматизации не удался, он потерпел неудачу, потому что у этого пользователя еще не было хранилища ключей, и поскольку инструмент командной строки keytool
не может создать хранилище ключей с пустой пароль, запрашивающий не менее 6 символов. see Sun's forum tread...
После некоторого поиска я обнаружил, что сертификаты, отображаемые на панели управления Java, хранятся в 'C: \ Users \ username \ AppData \ LocalLow \ Sun \ Java \ Deployment \ security \ trusted.certs'. Теперь вопрос в том, как я могу использовать 'keytool' для записи в это' keystore' (расположение может отличаться на других машинах, это было в Windows 7). – sorin
С какой командой вы запускаете это «приложение»? Термин java-приложение обычно используется для приложений Java, где у вас есть класс с основным методом, и им не требуется, чтобы javas-песочница была активной (поскольку запуск материала из командной строки означает, что вы доверяете коду). –
Приложение выполнено под управлением 'javaw', потому что оно может работать в двух режимах консоли или режиме gui. – sorin