2010-09-09 1 views
1

У меня есть подписанный апплет, который создает меню из XML-файла. Когда он загружается, я получаю предупреждение о безопасности java в отношении подписанного и неподписанного кода. Апплет использует jdom.jarподписанный апплет выдает предупреждение о безопасности, но запускается, если да, если нажата кнопка

Не имеет значения, ударил ли я в диалоговом окне предупреждения о безопасности, чтобы заблокировать неподписанный код, или если я нажму «нет», апплет запускается и запускается, как ожидалось.

Я выяснил, что строка кода в jdom, вызывающая SAXParserFactory.newInstance(), является причиной предупреждения о безопасности. Я попытался подписать jdom.jar, но это не помогло.

Как я могу избавиться от предупреждения безопасности без изменения каких-либо настроек в консоли Java?

Заранее спасибо.

+0

@tom Хотин - tackline что «смешанный код» – Bozho

+0

@Bozho.? http://download.oracle.com/javase/6/docs/technotes/guides/jweb/mixed_code.html (Если бы я был очень легкомысленным http://www.google.co.uk/search?q=mixed- код.) –

+0

aha. Я не думаю, что он заслуживает тега, но никакого вреда так или иначе :) – Bozho

ответ

0

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

http://download.oracle.com/javase/1.4.2/docs/guide/plugin/developer_guide/rsa_signing.html

0

Подписать JAXP банку (или банку, который содержит SAXParserFactory)

+0

Я считаю, что jdom использует rt.jar в jre. Я пытался использовать и подписывать другие файлы jar, содержащие SaxParserFactory, но это не помогло. Интересно, что даже если вы нажмете кнопку «да», чтобы заблокировать неподписанный код, апплет работает как ожидалось. – user443545

+0

ну, возьмите jaxp jar, подпишите его и добавьте в classpath :) – Bozho

0

Как представляется, работать без ненадежного кода апплета, вы могли бы удалить его? Неверный код представляется альтернативной реализацией парсера XML JAXP. Надеюсь, что Xerces, основанный на JRE (начиная с 1.4, IIRC), не должен быть слишком плохим.

(BTW: Я бы настоятельно рекомендую добавить Trusted-Only: true в манифест ваших подписанных файлов, и Sealed: true целом не плохая идея

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