Как стать автором
Обновить

Комментарии 9

Правильно я понимаю, что это можно применить для проектов сторонних разработчиков? (у меня нет исходников)

Поясню… у нас библиотека из 199 электронных курсов компании SkillSoft. После появления JRE 1.7 получаем множества жалобных обращений от людей, которым приходится запускать это все…
А одновременное появление IE 10 с жесткими ограничениями для зоны Интернет усугубило нашу проблему в разы…
сами придумали public ключ и сами под него сгенерили private ключ

Чёрт, они поломали RSA. И как теперь жить? Если правда сгенерировали сначала public key, а потом по нему — private key.

Надеюсь, тэг <irony> уже вышел из моды, и ставить его не обязательно.
А по самой статье — спасибо. Полезно и ёмко. Получите из плюсомёта.
Спасибо за оценку. По поводу вашего замечания: а разве при использовании утилиты keytool selfsigned происходит не суть тоже самое? Только это происходит внутри этой команды, только и всего.
Только и там, и там сначала генерируется приватный ключ, а только потом публичный (на основе приватного). У вас написано наоборот.

Если уж совсем точно, то сначала генерируется приватный ключ, потом csr. Из csr генерируется сертификат с подписью приватным ключом CA или тем же приватным ключом, по которому создавался csr (при создании self-signed сертификата).
:-) Какое замечательное замечание :-) Жаль, время вышло, не могу плюсануть :-)
Есть ещё одна тонкость. До версии 7.0.45 нужно было в MANIFEST.MF добавлять атрибут Trusted-Library: true. Если его не добавлять, то вылазит неприятное предупреждение. А начиная с версии 7.0.45 его добавлять уже нельзя, иначе опять же вылазит предупреждение (этот атрибут был заменён атрибутом Caller-Allowable-Codebase: *). Вообще говоря это баг и в следующей версии Java обещали поправить, т.е. надо добавлять оба атрибута и все джавы будут воспринимать это нормально. Кроме 7.0.45, для неё нужно отдавать на сервере эти особые JAR-ки, с атрибутом Caller-Allowable-Codebase и без атрибута Trusted-Library. Версию Java с грехом пополам можно определять JavaScript-ом (deployJava.js например), ну, или, отдельным малюсеньким апплетом.

Вот такую свинью подложил оракл.

PS это всё надо, если мы хотим вызывать из JavaScript методы апплета. Если апплет с JavaScript-ом не взаимодействует, тогда, видимо, с этой проблемой не столкнётесь.
Да, если апплет работает «сам по себе», Caller-Allowable-Codebase и Trusted-Library указывать не обязательно.
Около месяца назад делал апплет для интернет-банка, тоже столкнулся с этой проблемой. Апплет делал на предыдущей версии JAVA, но пока он прошел все тесты и дошел до выпуска, JAVA обновилась и начались пляски с бубном вокруг JS. В итоге переделал всю логику, чтобы апплет вообще не взаимодействовал с JS, и все стало нормально.
Да, спасибо за интересное дополнение.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.