Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Sposoby tworzenia projektu zawieraj ącego aplet w środowisku NetBeans. Metody zabezpieczenia
komputera u żytkownika przed działaniem apletu.
Dr inż. Zofia KruczkiewiczProgramowanie aplikacji
internetowych
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
2
Dwa sposoby tworzenia apletów
Dwa sposoby tworzenia apletu:1. W ramach projetu typu Java Application
o charakterze Java WebStart i deskryptora apletu (applet descriptor) wyspecyfikowanego w pliku JNLP.
2. W ramach typu projektu Java ClassLibrary , który jest biblioteką projektu typu Web Application.
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
3
Pierwszy sposób tworzenia apletów1. Wybierz File > New Project . Z okienka Categories wybierz Java . Z okienka
Projects , wybierz Java Application . Dokończ projekt (podaj nazwę projektu np..ApletPliki1 i katalog).
2. W oknie Projects kliknij prawym klawiszem na nazwę projektu i wybierz New > Other . Z okienka Categories , wybierz Swing GUI Forms . Z okienka File Types , wybierz JApplet Form . Kliknij na Next .
3. W polu Class Name należy podać nazwę apletu (np. ApletPliki1 ). W polu Package należy wybrać pakiet, do którego należy aplet, lub zdefiniować nazwęnowego pakietu (np. apletpliki1).
4. Naciśnij przycisk Finish . Projekt zawiera aplet w podanym pakiecie. Plik apletu staruje w oknie edytora.
5. Zaprojektuj aplet za pomocą GUI Builder w trybie Design i kod w trybie Source .
6. Dodaj podobnie plik typu Java Class (np. Testpliki.java) i napisz kod źródłowy programu.
7. Kliknij prawym klawiszem na nazwę pliku w widoku Projects i wybierz pozycje Properties , a następnie wybierz panel Web Start .
8. Zaznacz przycisk Enable Web typu checkbox.9. Wybierz przycisk Applet Descriptor typu radio i upewnij się, czy tworzony aplet
jest wybrany w liście Applet Class typu combo box. 10. Zamknij formularz Properties projektu. 11. Kliknij prawym klawiszem i wybierz pozycję Build z wyskakującego menu. 12. Kliknij prawym klawiszem na plik typu applet (tutaj ApletPliki1) i wybierz pozycję
Run File z wyskakującego menu.
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
4
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
5
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
6
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
7
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
8
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
9
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
10
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
11
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
12
Plik do dostarczania danych do apletu przez znacznik param –dokonano równie ż zmiany nazwy projektu na ApletPliki1
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
13
Plik html, wygenerowany automatycznie, do uruchamiani a apletu
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
14
Okno Properties projektu z wybran ą opcj ą Web Start
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
15
VM Option – argumenty linii polecenia dla appletviewer
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
16
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
17
Projekt apletu za pomoc ą GUI BUILDER
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
18
Wygenerowany kod za pomoc ą Gui Builder
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
19
Obsługa zdarzeń typu Action (np. po wybraniu przycisku typu Button w trybie Design lewym klawiszem myszy należy kliknąć prawym klawiszem i z
wyskakującego menu wybrać kolejno Event/Action/ actionPerformed[jButton1ActionPerformed]) i napisać stosowny kod
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
20
Edycja kodu pliku typu Java Class wstawionego do projektu (1)
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
21
Kod źródłowy klasy uniwersalnej do zapisu pliku (2)import java.io.*;
public class Testpliki {public void Zapiszplik2(String dane1) {
String dane[] = dane1.split(" ");try {
FileOutputStream plik = new FileOutputStream("c:\\Testplik.dat");BufferedOutputStream bufor = new BufferedOutputStream(plik);int size = dane.length;for (int i = 0; i < size; i++) {
int dane2 = Byte.parseByte(dane[i]);if (dane2 != -1) {
bufor.write(dane2);}
}bufor.close();
} catch (Exception e) {System.out.println("Blad zapisu pliku bajtowego" + e);
}}
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
22
Edycja kodu pliku typu Java Class wstawionego do projektu (3)
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
23
Kod źródłowy klasy uniwersalnej do zapisu pliku (4)public String Odczytajplik2() {
int dane = 0;String pom = "";try {
FileInputStream plik = new FileInputStream("c:\\Testplik.dat");BufferedInputStream bufor = new BufferedInputStream(plik);dane = plik.read();while (dane != -1) {
pom += " " + dane;dane = bufor.read();
}bufor.close();
} catch (Exception e) {System.out.println("Blad odczytu pliku bajtowego" + e);
}return pom;
}}
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
24
Uruchomienie apletu (Run File) za pomocąprogramu AppletViewer
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
25
Drugi sposób tworzenia apletu1. Wybierz z menu File\ New Project . Na formularzu New Project
wybierz w oknie Categories kategorię projektu Java . W oknie Projects , wybierz typ projektu Java Class Library . Po naciśnięciu klawisza Nextdokończ tworzenie pliku na kolejnym formularzu – podaj nazwę (np. ApletPliki2) i położenie projektu.
2. Kliknij prawym klawiszem na nazwę projektu w oknie Projects. Z wyskakującego menu wybierz New\Other. Na ukazanym formularzu w oknie Categories , wybierz kategorię pliku Swing GUI Forms . W oknie Files Types wybierz JApplet Form . Naciśnij klawisz Next .
3. Podaj nazwę apletu w polu Class Name (np. apletpliki2). W polu Package podaj nazwę nowego pakietu, do którego będzie należał aplet (np. apletpliki2).
4. Naciśnij przycisk Finish . Projekt zawiera aplet w podanym pakiecie. Plik apletu staruje w oknie edytora.
5. Zaprojektuj aplet za pomocą GUI Builder w trybie Design i kod w trybie Source .
6. Dodaj podobnie plik typu Java Class (np. Testpliki.java) i napisz kod źródłowy programu.
7. Kliknij prawym klawiszem i wybierz pozycję Build z wyskakującego menu.
8. Kliknij prawym klawiszem na plik typu applet (tutaj ApletPliki2) i wybierz pozycję Run File z wyskakującego menu.
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
26
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
27
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
28
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
29
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
30
VM Option – argumenty linii polecenia dla appletviewer
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
31
Uruchomienie apletu (Run File) za pomocąprogramu AppletViewer
Zabezpieczenia przed działaniem apletu
Sposób 1Zabezpieczenie przed działaniem apletu za pomoc ąpliku typu policy (przez wskazanie adresu url apletu za pomoc ą atrybutu CodeBase oraz zdefiniowanie
ogranicze ń dla działa ń apletu na komputerze użytkownika za pomoc ą atrybutu permission )
Wykład: Bezpiecze ństwo_apletów1
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
33
1) przy wykorzystaniu appletviewer w środowisku NetBeans - domyślnie aplet posiada pełne prawa wykonania wszystkich operacji
2) przy wykorzystaniu przeglądarki niezaleznie od środowiska NetBeans-domyślnie aplet posiada minimalne uprawnienia do wykonania operacji np. plikowych
Sposoby uruchamiania apletów
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
34
Ad1. – Appletviewer (maksymalne uprawnienia) Plik applet.policy w katalogu głównym projektu – jego domy ślna zawarto ść
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
35
Edycja pliku applet.policy za pomoc ą narzędzia PolicyTool
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
36
Tworzenie lub edycja pliku zawieraj ącego ograniczenia dla uruchamianego apletu w CodeBase ustawiono protokół typu file dla
apletu uruchamianego bez po średnictwa serwera www.Dla protokołu http u żywanego do pobrania apletu za po średnictwem
serwera www przykładowy CodeBase : http://sprocket.ict.pwr.wroc.pl/~zkruczkiewicz/wykl ady/java
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
37
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
38
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
39
a) Plik applet.policy w katalogu głównym projektu – jego domy ślna zawarto ść
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
40
Plik applet.policy w katalogu głównym projektu u żywany przez appletviewer
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
41
Uruchomienie apletu (Run File) za pomocą programu Applet
Viewer
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
42
b) Brak dost ępu do operacji plikowych – aplet zapisuje plik c:\Testplik.dat , natomiast plik java.policy zezwala na zapis
c:\Testplik
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
43
Ad. 2. – Przegl ądarka Internet Explorer (minimalne uprawnienia)Zawartość katalogu jre1.6.0_05\lib\security oprogramowania Javy
używanego przez przeglądarkę do uruchamiania apletów. Domyślnie aplet nie może zapisywać ani odczytywać plików - na podstawie plików definiujących
zabezpieczenia programów Javy działających w sieci
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
44
a) Uruchomienie apletu dla domy ślnych zabezpiecze ń
przewidzianych dla apletów –nie można wywołać operacji
plikowych
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
45
Zmiany w plikach katalogu jre1.6.0_05\lib\security oprogramowania używanego przez przegl ądarkę do uruchamiania apletów – dodanie pliku mojapolisa (odpowiednik pliku applet.policy ) z definicj ą zabezpiecze ń dla
wybranych apletów, których poło żenie i rodzaj protokołu okre ślono za pomoc ą CodeBase
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
46
Wpisanie do pliku java.security z definicj ą zabezpiecze ń dla programów Javy informacji o pliku mojapolisa z definicj ą
zabezpiecze ń dla wybranej grupy apletów
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
47
b) Poprawne wywołanie operacji plikowych dla wybranych apletów
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
48
c) Po wprowadzeniu do polisy mojapolisa błędu w nazwie tworzonych plików operacje plikowe zostały zablokowane
Zabezpieczenia przed działaniem apletu
Sposób 2Zabezpieczenie przed działaniem apletu za
pomoc ą podpisu cyfrowego (za pomoc ą
parametru keystore w pliku typu polisa )Wykład: Bezpiecze ństwo_apletów2
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
50
Podpisywanie kodu aplikacji przez programistę, uruchamianej
przez program java
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
51
Uwierzytelnianie kodu aplikacji przez użytkownika,
uruchamianej przez program java
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
52
b) Tworzenie nowego certyfikatu kluczFirma i pary kluczy: prywatnego i publicznego
a) Utworzony certyfikat kluczFirma jest już przeterminowany
c) Podpisanie apletu ApletPliki2 jako pcApletPliki2
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
53
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
54
d) Export certyfikatu przez programistę oraz jego import przez użytkownika
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
55
1) przy wykorzystaniu appletviewer w środowisku NetBeans - domyślnie aplet posiada pełne prawa wykonania wszystkich operacji
2) przy wykorzystaniu przeglądarki niezaleznie od środowiska NetBeans-domyślnie aplet posiada minimalne uprawnienia do wykonania operacji np. plikowych
Sposoby uruchamiania apletów
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
56
Ad1. – AppletviewerPlik applet.policy w katalogu głównym projektu – jego zawarto ść po pierwszym
kroku zabezpieczania
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
57
Uzupełnienie pliku applet.policy o informacje związane z podpisem cyfrowym – za pomocą narzędzia PolicyTool
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
58
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
59
a) Rozpoznanie podpisanego apletu spakowanego w pliku pcApletPliki2.jar - można wykonywać operacje plikowe
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
60
b) Nie można rozpoznaćpodpisanego apletu (pomyłka w wartości atrybutu archive=ApletPliki2.jar ) - nie można wykonywać operacji plikowych
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
61
Ad. 2. – Przegl ądarka Internet ExplorerModyfikacja systemowego pliku typu java.security
Uzupełnienie pliku mojapolisa(odpowiednik plikuapplet.policy )
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
62
a) Nie można rozpoznać podpisanego apletu (pomyłka w wartości atrybutu archive=ApletPliki2.jar ) - nie można wykonywać operacji plikowych
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
63
Z powodu błędu w nazwie pliku typu jar w pliku typu html nie można
wykonać operacji plikowych, ponieważ wskazany plik nie jest
podpisany – teraz można wykonaćtylko aplet podpisany w podanej
lokalizacji
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
64
b) Można rozpoznać podpisany aplet (poprawna wartości atrybutu archive=pcApletPliki2.jar ) - można wykonywać operacje plikowe
dr inż. Zofia Kruczkiewicz, Programowanie aplikacji
internetowych
65