2

У меня есть Java-апплет, который не нуждается в каких-либо специальных привилегиях для запуска (т. Е. Он отлично работает в песочнице), но который ожидает, что пользователь введет какую-то конфиденциальную информацию. Поэтому я хотел бы, чтобы пользователь мог проверить происхождение апплета.Отличия подписанных Java-апплетов

Затем я подписал апплет, и все работает правильно. Очевидно, браузер допускает подпись; для тестирования я попытался выполнить PrivilegedActions, и все сработало. Однако браузер не информирует пользователя о том, что браузер подписан - с точки зрения пользователя, как неподписанные, так и подписанные версии апплета выглядят точно так же.

Итак, мой вопрос: есть ли способ дать указание браузеру предоставить полномочия подписи пользователю или что-то подобное?

ответ

2

Во-первых, это недопустимое использование для подписания банку.

Вы когда-нибудь забывали отклеивать флажок всегда доверия?

Назад к первому пункту, потому что это очень важно. Подписывая банку, вы ставите имя сертификата в заявку, что оно безопасно. Обратите внимание, что безопасность гораздо шире, чем не злонамеренная. Подписан диалог безопасности, который спрашивает, хочет ли пользователь предоставить полный доступ к локальному пользователю, если какой-либо код в любом месте встречается. Это не означает, что какой-то определенный набор пикселей является источником trsuted.

Правильный подход заключается в использовании https.

+0

Doh! Вы правы, «всегда доверие» включено по умолчанию, и я забыл его отключить. Проблема с использованием https заключается в том, что я хочу разрешить распространение апплета третьими сторонами, но не обязательно доверять им конфиденциальную информацию, введенную в апплет. Любое предложение о том, как достичь этого (разрешить распространение + предотвратить несанкционированное вмешательство)? – oggy

+0

Подписывание апплета самостоятельно - единственный способ убедиться, что он не злонамерен. Одним из вариантов может стать подписание JAR с помощью классов бизнес-логики и создание апплета, который также будет подписан. Дайте исходный код апплета (или неподписанного апплета) третьим сторонам, но у вас есть JAR с вашей бизнес-логикой, подписанной вами. Таким образом, третьи стороны не изменят ваш код, но смогут представить свои собственные подписи для апплета. –

+0

@Eugene: но как пользователь может проверить, что JAR с бизнес-логикой подписан мной? – oggy

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