Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> подпись апплета, вопросы по статье "подпись апплета" 
:(
    Опции темы
1sanek1
Дата 28.10.2008, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 28.10.2008

Репутация: нет
Всего: нет



Хочу сказать сразу, спасибо автору, за следующую статью:  smile 
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";, это стандартный вариант (странный какой то путь smile ). И если я захочу в своём апплет не только читать данные из файла, но и записывать, значит мне надо как то так написать 
grant{ 
permission java.io.FilePermission "C:/AUTOEXEC.BAT", "read", "write" , signedBy "Vingrad"; };
Буду очень благодарен за помощь! smile 
PM MAIL   Вверх
LSD
Дата 31.10.2008, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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 нужно установить следующие разрешения.
Для того чтобы дать права на чтение и запись, надо писать так:
Код

keystore "file:E:/TEMP/TEST/JAR/.keystore";
grant {
    permission java.io.FilePermission "C:/AUTOEXEC.BAT", "read,write", signedBy "Vingrad";
};



--------------------
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.
PM MAIL WWW   Вверх
1sanek1
Дата 1.11.2008, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 28.10.2008

Репутация: нет
Всего: нет



Спасибо за помощь!
Правдо, у меня ни чего не получается. smile 
Я пишу апплет, который если существует файл 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 файл выглядит так:
Код

<applet code="Main.class" archive="rfa.jar" width=450 height=700>
<PARAM NAME="fileName" VALUE="C:\AUTOEXEC.BAT">
</applet>

Все операции произвожу в 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
PM MAIL   Вверх
LSD
Дата 1.11.2008, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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.
PM MAIL WWW   Вверх
1sanek1
Дата 1.11.2008, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 28.10.2008

Репутация: нет
Всего: нет



Эх, что то не помогло.(
Испрвил на keystore "file:C:\Program Files\Java\jdk1.6.0_05\bin\.keystore";
а ошибка та же самая(

PM MAIL   Вверх
LSD
Дата 1.11.2008, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 9
Всего: 538



Слеши какие у тебя стоят и в примере smile 


--------------------
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.
PM MAIL WWW   Вверх
1sanek1
Дата 1.11.2008, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 28.10.2008

Репутация: нет
Всего: нет



Не совсем понял каке слеши. smile 
Вообще вот такие: C:\Program Files\Java\jdk1.6.0_05\bin\.keystore
попробовал так C:/Program Files/Java/jdk1.6.0_05/bin/.keystore,   ошибка та же,
а что означает "C:/AUTOEXEC.BAT", это случайно не влияет на права?
PM MAIL   Вверх
Keyo
Дата 4.11.2008, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



омг, человек, Ты так долго не можешь апплет подписать? Кошмар. 
Когда у меня такая задача была, делал по вот этой статье http://www.javaportal.ru/java/articles/tru...rustapplet.html
получилось с первого раза
PM MAIL   Вверх
1sanek1
Дата 6.11.2008, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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 не загружается и соответственно файл политики то же..
PM MAIL   Вверх
Keyo
Дата 6.11.2008, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



1sanek1, мне приходилось подписывать jar архив каждый раз после ребилда, используя утилиту jarsigner
PM MAIL   Вверх
1sanek1
Дата 8.11.2008, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 28.10.2008

Репутация: нет
Всего: нет



Спасибо, ещё раз за помощь!!!
Keyo, а что такое ребилд, первый раз слышу такое слово? smile 
Я нашёл у себя ошибку, так что теперь апплет работает.
Делал по следующей технологии:
если зайти на сылку 
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
PM MAIL   Вверх
Keyo
Дата 9.11.2008, 00:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 95
Регистрация: 10.4.2008

Репутация: нет
Всего: нет



ребилд это ребилд smile компиляция исходников и формирование jar архива
PM MAIL   Вверх
1sanek1
Дата 9.11.2008, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 28.10.2008

Репутация: нет
Всего: нет



а...,  ясненько, теперь буду знать.))


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Апплеты | Следующая тема »


 




[ Время генерации скрипта: 0.0972 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.