![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
1sanek1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
Хочу сказать сразу, спасибо автору, за следующую статью:
![]() http://forum.vingrad.ru/faq/topic-157929.html Но уменя, по этой теме возникло несколько вопросов и поскольку та статья закрыта, решил открыть свою тему. 1)Я правильно понимаю, что JAVA_HOME это переменная среды и её можно выстовить следующим образом: пуск - панель управления - производительность и обслуживание - система - дополнительно - параметры среды И там присвоить JAVA_HOME=С:\Program Files\Java\jdk1.6.0_05 (правильно я присваиваю значение и можно ли в место SDK, использовать jdk) 2)Я так понял что следующий задача, это прописать в комадной строке: С:\ProgramFiles\Java\jdk1.6.0_05\bin> $JAVA_HOME\jre\lib\security\java.policy (здесь уменя возникает ошбка"Системе не удаётся найти указанный путь"), после чего откроется файл, куда надо вписать следующий код: keystore "file:E:/TEMP/TEST/JAR/.keystore"; grant { permission java.io.FilePermission "C:/AUTOEXEC.BAT", "read", signedBy "Vingrad"; }; 3)Что означает keystore "file:E:/TEMP/TEST/JAR/.keystore";, это стандартный вариант (странный какой то путь ![]() grant{ permission java.io.FilePermission "C:/AUTOEXEC.BAT", "read", "write" , signedBy "Vingrad"; }; Буду очень благодарен за помощь! ![]() |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
1. Да. Под SDK в данном случае и понимается JDK.
2. Надо просто создать или отредактировать файл С:\ProgramFiles\Java\jdk1.6.0_05\jre\lib\security\java.policy и добавить туда указанные строки. 3. Это означает что для приложений подписанных сертификатами из хранилища E:\TEMP\TEST\JAR\.keystore нужно установить следующие разрешения. Для того чтобы дать права на чтение и запись, надо писать так:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
1sanek1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
Спасибо за помощь!
Правдо, у меня ни чего не получается. ![]() Я пишу апплет, который если существует файл data.txt и в нем что то записанно, то данные извлекаются(Ip,port,...), если нет, вводит пользователь. Затем пользователь нажимает кнопку ок и данные записываются в файл data.txt. После чего, используя данные(Ip,port,...), коннектимся к базе данный и извлекаем координаты, по которым строим графики. Возникает следующая ошибка: C:\Program Files\Java\jdk1.6.0_05\bin>appletviewer grsf.html Exception in thread "AWT-EventQueue-1" java.security.AccessControlExceptio ess denied (java.io.FilePermission date.txt write) at java.security.AccessControlContext.checkPermission(AccessContro xt.java:323) at java.security.AccessController.checkPermission(AccessController 546) at java.lang.SecurityManager.checkPermission(SecurityManager.java: at java.lang.SecurityManager.checkWrite(SecurityManager.java:962) at java.io.FileOutputStream.<init>(FileOutputStream.java:169) at java.io.FileOutputStream.<init>(FileOutputStream.java:102) at Zapis.Zapiss(Zapis.java:28) at Main.actionPerformed(Main.java:146) at java.awt.Button.processActionEvent(Button.java:392) at java.awt.Button.processEvent(Button.java:360) at java.awt.Component.dispatchEventImpl(Component.java:4413) at java.awt.Component.dispatchEvent(Component.java:4243) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispat ad.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchT java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispat ad.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.jav at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.jav at java.awt.EventDispatchThread.run(EventDispatchThread.java:121) Класс Zapis отвечает, соответственно за запись. Я так понимаю выскакивает ошибка, сообщающая о том, что нет прав записывать в файл. Я подписываю апплет так: 1)Создаю архив .jar: jar cvf rfa.jar Main.class Connect.class Izvlechenie.class Zapis.class SampleFrame.class 2)Создаю локльное хранилище: keytool -genkey -keystore .keystore -alias "Vingrad" ввожу пароль 123456 подтверждаю пароль 123456 затем нажимаю Entor и в конце ...[no]: yes затем опять Entor 3)Записываю в файл С:\ProgramFiles\Java\jdk1.6.0_05\jre\lib\security\java.policy следующее: keystore "file:E:/TEMP/TEST/JAR/.keystore"; grant { permission java.io.FilePermission "C:/AUTOEXEC.BAT", "read,write", signedBy "Vingrad"; }; Собственно и всё, HTML файл выглядит так:
Все операции произвожу в C:\Program Files\Java\jdk1.6.0_05\bin, тоесть по этому адресу можно найти .keystore Может ошибка возникает, из-за того, что путь указан не верно keystore "file:E:/TEMP/TEST/JAR/.keystore";? И ещё вопрос, надо ли давать права, когда я конекчусь к базе данных(использу JDBC драйвер) , если да то как? Я так понимаю надо, что то дописать в grant. Это сообщение отредактировал(а) 1sanek1 - 1.11.2008, 13:02 |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
В java.policy надо указать путь до твоего keystore, если он лежит в C:\Program Files\Java\jdk1.6.0_05\bin то и надо указывать C:\Program Files\Java\jdk1.6.0_05\bin\.keystore
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
1sanek1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
Эх, что то не помогло.(
Испрвил на keystore "file:C:\Program Files\Java\jdk1.6.0_05\bin\.keystore"; а ошибка та же самая( |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 9 Всего: 538 |
Слеши какие у тебя стоят и в примере
![]() -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
1sanek1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
Не совсем понял каке слеши.
![]() Вообще вот такие: C:\Program Files\Java\jdk1.6.0_05\bin\.keystore попробовал так C:/Program Files/Java/jdk1.6.0_05/bin/.keystore, ошибка та же, а что означает "C:/AUTOEXEC.BAT", это случайно не влияет на права? |
|||
|
||||
Keyo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
омг, человек, Ты так долго не можешь апплет подписать? Кошмар.
Когда у меня такая задача была, делал по вот этой статье http://www.javaportal.ru/java/articles/tru...rustapplet.html получилось с первого раза |
|||
|
||||
1sanek1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
Спасибо за помомощь! Правдо я уже нашёл как дать права, чуть иначе.
Создаю файл политики, используя policytool после чего прописываю в java.security: policy.url.1=file:/C:/Program Files/Java/jdk1.6.0_05/jre/lib/security/java.policy policy.url.2=file:/C:/Test/mypolicy Если запускать апплет используя appletviewer, то всё работает замечательно. Только щас мучаюсь с другой проблемой, неполучается запустить с помощью браузера(почему то опять нет прав) , видимо когда я загружаю HTML через браузер, файл java.security не загружается и соответственно файл политики то же.. |
|||
|
||||
Keyo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
1sanek1, мне приходилось подписывать jar архив каждый раз после ребилда, используя утилиту jarsigner
|
|||
|
||||
1sanek1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
Спасибо, ещё раз за помощь!!!
Keyo, а что такое ребилд, первый раз слышу такое слово? ![]() Я нашёл у себя ошибку, так что теперь апплет работает. Делал по следующей технологии: если зайти на сылку http://www.javable.com/tutorials/ , там будит "Учебник JavaTM Tutorial" зарегистрировшись, можно перейти на http://www.javable.com/tutorials/tjt/secur...our1/index.html , там будит отличнай статья, как предаставить права на запись и чтение, для апплета. Сделал как там написанно и всё заработало.) С помощью программы Process Monitor http://technet.microsoft.com/en-us/sysinte...s/bb896645.aspx, обнаружил почему не предоставлялись права, когда я запускал с помощью браузера. Дело в том, что не запускался java.security, а точнее все корективы я вносил в C:\Program Files\Java\jdk1.6.0_05\jre\lib\security\java.securit а запускался C:\Program Files\Java\jre1.6.0_07\lib\security\java.securit просто у меня было два jre, а точнее даже три, но в процессах запускался именно jre1.6.0_07 |
|||
|
||||
Keyo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
ребилд это ребилд
![]() |
|||
|
||||
1sanek1 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 28.10.2008 Репутация: нет Всего: нет |
а..., ясненько, теперь буду знать.))
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Апплеты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |