Каковы последствия для безопасности при размещении подписанных jar-файлов в Интернете?
Насколько я понимаю, подписывание jar-файлов, когда пользователь выбирает автоматическое принятие сертификата, не имеет значения, был ли подписанный jar-файл из вашего домена, связан с другим доменом или размещен в другом домене. Например, Sun использует этот метод для поддержки OpenGL апплетов, предоставляя (размещенный) подписанный jar-файл, который ссылается на драйвер. Итак, есть ли какие-либо меры предосторожности, которые я должен предпринять как разработчик и подписывающий сертификат java-кода, который я делаю доступным?
Внес некоторые пояснения. Вопрос не в том, как я использую подписанную банку, а как другие могут использовать мою подписанную банку, когда я ее сделаю.




В зависимости от контекста вы полагаетесь на то, что диспетчер безопасности и соответствующая политика безопасности будут действовать правильно. Обычно, если вы не занимаетесь магией своего собственного загрузчика классов, вам не нужно делать ничего особенного. Если у вас есть контроль над политикой безопасности (например, в приложении java, а не в апплете), вы можете предоставить разрешения на вызов ваших jar-файлов только для определенного другого кода. Если вы полагаетесь на кодовую базу для различения кода, лучше использовать https-URL. Также неплохо ограничить доступ к банкам на веб-сервере, если вы знаете, откуда / кто должен поступать доступ, но, вероятно, это больше проблем, чем стоит.
Однако вы всегда должны помнить, что вызывающий ваш API может быть не вашим кодом и может быть вредоносным. Таким образом, при моделировании угроз вы должны подумать о том, что может сделать злоумышленник, если он каким-то образом получит доступ к функциям, предоставляемым API, предоставляемым вашим кодом. Предполагается, что менеджер безопасности проверяет стек вызовов, чтобы предотвратить подобные вещи. Но если, например, в вашей подписанной банке есть метод LaunchMissiles () ... вы можете спросить пользователя, уверены ли они в этом. И вы, возможно, захотите также аутентифицировать пользователя.
Вы также не должны обязательно полагаться на то, что пользователь нажмет правую кнопку при любом предупреждении безопасности, особенно если это относится к сертификатам, URL-адресам и т. д. - большинство пользователей попадают в одну из двух категорий: те, кто нажимает OK при любом предупреждении, потому что они не понимают это, и те, кто нажимает Отмена при любом предупреждении, потому что не понимает его.
вам нужно уточнить, как вы используете размещенные jar-файлы - это для апплетов или чего-то еще?