2008-09-16 3 views
0

Можно ли подписать только часть апплета? То есть, есть апплет, который не вскрывает никаких предупреждений о безопасности при подписании, но если какая-то определенная функция используется (для чего требуются привилегии), то используйте подписанную банку?Java-апплет - частично подписан?

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

ответ

1

Попробуйте разделить свой код на неподписанную банку и подписанную банку.

+0

Звучит неплохо ... Я попробую. – jsight 2008-09-17 02:08:16

-1

У меня создалось впечатление, что Sun хочет отбить создание апплетов и поощрять использование Java Web Start. Я думаю, что эта проблема с подписью апплетов является частью проблемы. См. Эту документацию от Sun: Java Web start FAQ.

Я не пробовал это, но могли ли вы сегментировать функции, которые нужно подписывать в отдельные банки, которые требуют только проверки прав, когда пользователю нужны функции в этих банках?

+0

Это совсем не так, как показывают недавние попытки Sun разработать новый (значительно улучшенный) плагин. Веб-старт - совершенно другое животное, хотя они сближаются. Я попробую multijar, если ничего другого он не должен работать с JNLPAppletLauncher. – jsight 2008-09-17 02:07:45

1

В теории вы можете (подписанный + unsigned jar), но на практике это приведет к тому, что ваш код будет обработан как unsigned. Решение о доступе должно быть принято из потока, а не непосредственно вызывающего. Если поток содержит в стеке вызов, сделанный из объекта из неподписанного кода, весь вызов следует рассматривать как unsigned. Если вы обходите это, вы обнаружите ошибку.

Иными словами ... No.

Если мне не интересно, могу ли я спросить, почему вы хотите частично подписать свой код?

+0

Я сейчас пробовал это, и он действительно работает. Sun действительно делает что-то очень похожее, чтобы заставить Java3D и JOGL работать и в апплетах, и я не считаю, что это считается ошибкой. Подписание всего приложения приведет к диалогам безопасности при загрузке апплета. Это плохо, так как немногие нуждаются в функциональности. – jsight 2008-10-13 02:02:31