Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.



Podobne dokumenty
Tworzenie projektu zawierającego aplet w środowisku NetBeans. lab1. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Bezpieczne uruchamianie apletów wg

Podpisywanie i bezpieczne uruchamianie apletów wg

Programowanie obiektowe zastosowanie języka Java SE

Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.

Programowanie Obiektowe GUI

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Przykłady tworzenia aplikacji komponentowych w technologii JavaServer Faces 2.1 na podstawie

Programowanie komponentowe

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Wstęp - Prosta aplikacja internetowa w technologii Java EE 5. Programowanie komponentowe 1

Zastosowanie komponentów EJB typu Session

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

1. Czynności przygotowujące aplikację działającą na platformie Java SE Biblioteka5 (należy ją pobrać z załącznika z p.1)

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Instrukcja pobrania i instalacji. certyfikatu Microsoft Code Signing. wersja 1.4

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP

Projektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz

Programowanie obiektowe

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Aplikacje WWW - laboratorium

Projektowanie aplikacji internetowych laboratorium

Aplikacje w środowisku Java

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Budowa aplikacji wielowarstwowych zastosowanie szablonów. Laboratorium 2 Programowanie komponentowe Zofia Kruczkiewicz

Ćwiczenia 9 - Swing - część 1

epuap Dodanie wyjątków do listy witryn zaufanych do instalowania dodatków i uruchamiania apletów Java

Protokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Aplikacje RMI Lab4

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

KONFIGURACJA PRZEGLĄDAREK. Poniższa konfiguracja dedykowana jest dla Bankowości Internetowej SGB

Zaawansowane aplikacje internetowe laboratorium

WPROWADZENIE DO JĘZYKA JAVA

Programowanie Multimediów. Programowanie Multimediów JAVA. wprowadzenie do programowania (3/3) [1]

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Komunikatory typu TCP/IP lab2. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Języki i metody programowania Java Lab2 podejście obiektowe

ZSBD ćwiczenie 4. Obiektowe systemy zarządzania bazą danych. Przygotowanie środowiska pracy. Wymagania: ZSBD ćwiczenie 4

Wymagania techniczne systemu AudaNet/BRE

Instrukcja instalacji oprogramowania Systemu e-kt

Budowa aplikacji wielowarstwowych. Zastosowanie szablonów

Zaawansowane aplikacje WWW - laboratorium

Budowa aplikacji wielowarstwowych. Obsługa zdarzeń

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

Laboratorium z przedmiotu: Inżynieria Oprogramowania INP002017_ Laboratorium 11 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse

Zaawansowane aplikacje internetowe - laboratorium

Język JAVA podstawy. wykład 2, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Wymagania systemu AudaNet

Przygotowanie środowiska Java do prawidłowej obsługi podpisu elektronicznego w epuap

I2: J2ME programowanie w NetBeans IDE Wydział Transportu PW semestr /11

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

INSTRUKCJA obsługi certyfikatów

Aplikacje internetowe i rozproszone - laboratorium

Protokół JDBC współpraca z relacyjnymi bazami danych lab3

Multimedia JAVA. Historia

Aplikacja do podpisu cyfrowego npodpis

Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID

Instrukcja aktywacji i instalacji Certum Code Signing

PRZEWODNIK PO SERWISIE BRe BROKERS Rozdział 6

Aplikacje WWW - laboratorium

Certyfikat Certum Basic ID. Instrukcja dla użytkowników Windows Vista. wersja 1.3 UNIZETO TECHNOLOGIES SA

Konfiguracja Javy. Jak prawidłowo skonfigurować środowisko Java. Jak zacząć? Poradnik dla systemów Windows 7,8, 8.1 i 10. Wersja 1.

Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów aplikacji SODiR w technologii JS/PKCS 12

Instrukcja obsługi notowań koszykowych w M@klerPlus

Certyfikat niekwalifikowany zaufany Certum Silver. Instalacja i użytkowanie pod Windows Vista. wersja 1.0 UNIZETO TECHNOLOGIES SA

1. Adresy do połączenia: System KSI SIMIK oraz Oracle Discoverer są dostępne pod następującymi adresami:

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Aplikacje WWW - laboratorium

Programowanie wielowarstwowe i komponentowe

Instrukcja użytkownika aplikacji ewnioski

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Laboratorium - Konfiguracja ustawień przeglądarki w Windows XP

Aplikacja npodpis do obsługi certyfikatu (instrukcja użytkownika)

Java jako język programowania

Certyfikat niekwalifikowany zaufany Certum Silver. Instrukcja dla uŝytkowników Windows Vista. wersja 1.1 UNIZETO TECHNOLOGIES SA

Przewodnik po Notowaniach Statica mdm 4

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

Aplikacje internetowe - laboratorium

Aplikacja npodpis do obsługi certyfikatu

Ćwiczenie 1. Przygotowanie środowiska JAVA

Wybrane Działy Informatyki Stosowanej LABORATORIUM 1.

Aplikacja npodpis do obsługi certyfikatu

Aplikacja npodpis do obsługi certyfikatu

Transkrypt:

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz

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 Class Library, który jest biblioteką projektu typu Web Application. 2

Pierwszy sposób tworzenia apletów 1. 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. 3

4

5

6

7

8

9

10

11

Plik do dostarczania danych do apletu przez znacznik param dokonano również zmiany nazwy projektu na ApletPliki1 12

Plik html, wygenerowany automatycznie, do uruchamiania apletu 13

Okno Properties projektu z wybraną opcją Web Start 14

VM Option argumenty linii polecenia dla appletviewer 15

16

Projekt apletu za pomocą GUI BUILDER 17

Wygenerowany kod za pomocą Gui Builder 18

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 19

Edycja kodu pliku typu Java Class wstawionego do projektu (1) 20

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); } } 21

Edycja kodu pliku typu Java Class wstawionego do projektu (3) 22

} 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; } 23

Uruchomienie apletu (Run File) za pomocą programu AppletViewer 24

Drugi sposób tworzenia apletu 1. 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 Next dokoń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. 25

26

27

28

29

VM Option argumenty linii polecenia dla appletviewer 30

Uruchomienie apletu (Run File) za pomocą programu AppletViewer 31

Zabezpieczenia przed działaniem apletu Sposób 1 Zabezpieczenie 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

Sposoby uruchamiania apletów 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 NetBeansdomyślnie aplet posiada minimalne uprawnienia do wykonania operacji np. plikowych 33

Ad1. Appletviewer (maksymalne uprawnienia) Plik applet.policy w katalogu głównym projektu jego domyślna zawartość 34

Edycja pliku applet.policy za pomocą narzędzia PolicyTool 35

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/wyklady/java 36

37

38

a) Plik applet.policy w katalogu głównym projektu jego domyślna zawartość 39

Plik applet.policy w katalogu głównym projektu używany przez appletviewer 40

Uruchomienie apletu (Run File) za pomocą programu Applet Viewer 41

b) Brak dostępu do operacji plikowych aplet zapisuje plik c:\testplik.dat, natomiast plik java.policy zezwala na zapis c:\testplik 42

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 43

a) Uruchomienie apletu dla domyślnych zabezpieczeń przewidzianych dla apletów nie można wywołać operacji plikowych 44

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 45

Wpisanie do pliku java.security z definicją zabezpieczeń dla programów Javy informacji o pliku mojapolisa z definicją zabezpieczeń dla wybranej grupy apletów 46

b) Poprawne wywołanie operacji plikowych dla wybranych apletów 47

c) Po wprowadzeniu do polisy mojapolisa błędu w nazwie tworzonych plików operacje plikowe zostały zablokowane 48

Zabezpieczenia przed działaniem apletu Sposób 2 Zabezpieczenie przed działaniem apletu za pomocą podpisu cyfrowego (za pomocą parametru keystore w pliku typu polisa ) Wykład: Bezpieczeństwo_apletów2

Podpisywanie kodu aplikacji przez programistę, uruchamianej przez program java 50

Uwierzytelnianie kodu aplikacji przez użytkownika, uruchamianej przez program java 51

a) Utworzony certyfikat kluczfirma jest już przeterminowany b) Tworzenie nowego certyfikatu kluczfirma i pary kluczy: prywatnego i publicznego c) Podpisanie apletu ApletPliki2 jako pcapletpliki2 52

53

d) Export certyfikatu przez programistę oraz jego import przez użytkownika 54

Sposoby uruchamiania apletów 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 NetBeansdomyślnie aplet posiada minimalne uprawnienia do wykonania operacji np. plikowych 55

Ad1. Appletviewer Plik applet.policy w katalogu głównym projektu jego zawartość po pierwszym kroku zabezpieczania 56

Uzupełnienie pliku applet.policy o informacje związane z podpisem cyfrowym za pomocą narzędzia PolicyTool 57

58

a) Rozpoznanie podpisanego apletu spakowanego w pliku pcapletpliki2.jar - można wykonywać operacje plikowe 59

b) Nie można rozpoznać podpisanego apletu (pomyłka w wartości atrybutu archive=apletpliki2.jar) - nie można wykonywać operacji plikowych 60

Ad. 2. Przeglądarka Internet Explorer Modyfikacja systemowego pliku typu java.security Uzupełnienie pliku mojapolisa (odpowiednik pliku applet.policy) 61

a) Nie można rozpoznać podpisanego apletu (pomyłka w wartości atrybutu archive=apletpliki2.jar) - nie można wykonywać operacji plikowych 62

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 63

b) Można rozpoznać podpisany aplet (poprawna wartości atrybutu archive=pcapletpliki2.jar) - można wykonywać operacje plikowe 64

65