Wiki-учебник по веб-технологиям: JavaScript/МаркированныеСкриптыВведение ...

Главная | Каталог |

Маркированные скрипты. Введение.


Маркированный скрипт запрашивает расширенные привилегии, получая доступ к закрытой информации. Он запрашивает эти привилегии через использование LiveConnect и Java-классов, называемых Java Capabilities API. Эти классы добавляют возможности и уточняют управление, предоставляемое стандартным Java-классом SecurityManager. Вы можете использовать эти классы для осуществления высокоточного контроля в так называемом «sandbox/песочном ящике» – термин Java для жёстких ограничений, в пределах которых код Java обязан выполняться.

Решения по управлению доступом сводятся к тому, кто и что может делать. В этой модели principal\принципал представляет «кто», target\цель представляет «что», а privileges\привилегии, ассоциированные с принципалом, представляют авторизацию (или запрет авторизации) принципалу для доступа к специфической цели.

После написания скрипта вы маркируете его, используя утилиту Netscape Signing Tool. Эта утилита ассоциирует цифровую подпись со скриптом на HTML-странице. Владельцем это цифровой подписи является определённый принципал (реальный объект, такой как Netscape или John Smith). Одна HTML-страница может иметь скрипты, маркированные разными принципалами. Цифровая подпись помещается в Java Archive (JAR) -файл. Если Вы маркируете инлайн-скрипт, обработчик события или объект JavaScript, Netscape Signing Tool сохраняет только подпись и идентификатор для скрипта в JAR-файле. Если вы маркируете JavaScript-файл утилитой Netscape Signing Tool, она также сохраняет источник в JAR-файле.

Ассоциированный принципал позволяет пользователю подтверждать правильность сертификата, используемого для маркировки скрипта. Он также позволяет пользователю убедиться, что данный скрипт подделан после маркировки. Пользователь может затем решить, дать ли привилегии на основе проведённой идентификации сертификата пользователя и проверки целостности скрипта.

Запомните, что пользователь может запретить выдачу привилегий, запрошенных вашим скриптом – вы должны создавать ваши скрипты так, чтобы они адекватно реагировали на такую ситуацию.

В этой главе предполагается, что вы знакомы с основными принципами маркировки объектов с использованием Java Capabilities API и с созданием цифровой подписи. Следующие документы содержать соответствующую информацию по этому вопросу:


SSL-серверы и немаркированные скрипты

Альтернативой маркировке ваших скриптов утилитой Netscape Signing Tool является обслуживание их сервером безопасности/secure server. Navigator рассматривает все страницы, обслуживаемые SSL-сервером, как если бы они были маркированы ключом public такого сервера. В этом случае вам не нужно маркировать отдельные скрипты.

Если вы имеете SSL-сервер, то вам будет намного проще организовать работу ваших скриптов как маркированных. Это особенно актуально, если вы динамически генерируете скрипты на вашем сервере и хотите, чтобы они работали как маркированные.