Sposoby tworzenia projektu zawieraj ącego aplet w środowisku...

Post on 31-Jul-2020

2 views 0 download

Transcript of Sposoby tworzenia projektu zawieraj ącego aplet w środowisku...

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