Spec-Zone .ru
спецификации, руководства, описания, API
|
Java Богатое Руководство по Интернет-приложениям > Безопасность> Проверка RSA Подписанные Апплеты в Плагине Java
Следующие темы затрагиваются:
usePolicy
Разрешение Эта страница обеспечивает краткий обзор того, как проверка RSA подписанные апплеты реализуется в Плагине Java. Для краткого обзора того, как использовать RSA подписанные апплеты, см. Развертывающиеся RSA-подписанные Апплеты в Плагине Java.
Чтобы включить проверке подписей RSA независимым от браузера способом, Плагин Java включает Провайдер криптографических служб (CSP). CSP поддерживает "MD2withRSA", "MD5withRSA", и алгоритмы цифровой подписи "SHA1withRSA". Это автоматически регистрируется в Java Криптографическая платформа Архитектуры как часть статического инициализатора PluginClassLoader
.
У Java SE есть мелкомодульное управление доступом, основанное на "codesource" и "домене защиты". У каждого class, который загружается из файла JAR, есть codesource, который инкапсулирует два сведения:
Цепочка сертификата является списком иерархически упорядоченных сертификатов с открытым ключом, запускающихся в сертификате подписывающего лица с открытым ключом и заканчивающихся в сертификате о Корневом Центре сертификации ("Корневой CA"). Открытый ключ одного сертификата в цепочке используется, чтобы проверить подпись на предыдущем сертификате в цепочке. Корневой сертификат CA самоподписывается. Предположение - то, что Корневому CA доверяют, потому что это известно и широко опубликовано.
PluginClassLoader
проверяет сконфигурированную политику безопасности, чтобы определить который полномочия предоставить данному codesource. codesource и набор полномочий, предоставленных этому тогда, формируют домен защиты. Это поведение характерно для всех, защищают classloaders (то есть, экземпляры java.security.SecureClassLoader).
sun.plugin.security.PluginClassLoader расширяет sun.applet.AppletClassLoader, который является подклассом java.net.URLClassLoader, который поочередно расширяет java.security.SecureClassLoader. PluginClassLoader
делает дополнительную работу: Если апплет подписывается, и полномочия, предоставленные ему, не включают специальное предложение usePolicy
разрешение, PluginClassLoader
извлекает подписывающие лица (и их цепочки сертификата поддержки) от codesource апплета и пытается проверить их.
Если Плагин может проверить цепочку сертификата полностью до ее Корневого сертификата CA, это проверяет, содержится ли тот Корневой сертификат CA в базе данных доверяемых Корневых сертификатов CA. Если так, Плагин выведет на экран цепочку сертификата аутентифицируемого подписывающего лица и спросит пользователя, предоставить ли AllPermission
кодировать подписанный тем принципалом. Код Java, который присваивается AllPermission
разрешение обрабатывается то же самое как системный код, означая, что у этого есть все полномочия, которые имеет системный код. Пользователь может тогда выбрать, предоставить ли AllPermission
кодировать подписанный тем принципалом, и нужно ли такое разрешение предоставить какому-либо коду, подписанному тем принципалом для всех последующих сеансов или для текущего сеанса только.
Для случая апплетов без знака, или подписанных апплетов, полномочия которых включают usePolicy
, см. Безопасность.
usePolicy
РазрешениеРазрешение называют usePolicy
позволяет системным администраторам выключать PluginClassLoader
поведение. Если usePolicy
разрешение предоставляет codesource сконфигурированная политика безопасности, никакой пользователь, запрашивающий, не будет иметь место. Только полномочия, определенные в политике безопасности, предоставят codesource.