Как расширить класс java.security.SecureClassLoader? - PullRequest
0 голосов
/ 09 марта 2009

Я хочу написать свой собственный ClassLoader. Он должен быть быстрее и динамичнее, чем ClassLoader по умолчанию для апплетов.

Но я не знаю, как мне следует реализовать метод:

PermissionCollection getPermissions( CodeSource codesource )

Супер реализация также не предоставляет никаких прав, если в CodeSource есть действительный сертификат.

Должен ли я проверять сам сертификат или он уже проверен с виртуальной машины Java и принят от пользователя?

Ответы [ 2 ]

1 голос
/ 09 марта 2009

Поправьте меня, если я не прав - я думаю, что вам нужно создать загрузчик классов где-нибудь в инициализации вашего апплета, а затем загрузить последующие классы с помощью этого загрузчика. Если да, апплету уже будут предоставлены все разрешения благодаря его подписи (и если пользователь нажал на предупреждение браузера). Ваш метод getPermissions может выглядеть следующим образом

    PermissionCollection p = new Permissions();
    p.add(new AllPermission());
    return p;
1 голос
/ 09 марта 2009

Подключаемый модуль Sun и WebStart переопределяют getPermissions, чтобы проверить подпись и проверить, хотят ли они принять сертификат. Это деталь реализации и может измениться в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...