• Nie Znaleziono Wyników

Programowanie aplikacji klient-serwer Studia dzienne 2006/2007

N/A
N/A
Protected

Academic year: 2021

Share "Programowanie aplikacji klient-serwer Studia dzienne 2006/2007"

Copied!
2
0
0

Pełen tekst

(1)

Programowanie aplikacji klient-serwer Studia dzienne 2006/2007 Laboratorium 8

Pobierz plik lab8.tar.gz i rozpakuj go. Plik zawiera przykłady serwera i klienta korzystającego z SSL w dwóch wersjach.

Zapoznaj się z krótkim wprowadzeniem do korzystania z OpenSSL.

Część 1: SSL

1. Przygotuj certyfikaty zgodnie z podaną poniżej procedurą:

Utwórz własny CA (Certificate Authority)

a) Utwórz klucz poziomu głównego i żądanie certyfikatu głównego (root level):

$ openssl req –newkey rsa:2048 –keyout root_key.pem –out root_request.pem

gdzie root_key.pem będzie zawierać klucz prywatny zaś root_request.pem żądanie certyfikatu.

b) Wygeneruj certyfikat główny:

$ openssl x509 –req –in root_request.pem –signkey root_key.pem \ –out root_certificate.pem

gdzie root_certificate.pem będzie zawierać certyfikat.

c) Umieść certyfikat główny i klucz w jednym pliku:

$ cat root_certificate.pem root_key.pem > root.pem

d) Utwórz prywatny klucz CA i żądanie certyfikatu:

$ openssl req – newkey rsa:2048 –keyout CA_key.pem –out CA_request.pem

e) Utwórz certyfikat dla CA

$ openssl x509 –req –in CA_request.pem –CA root.pem –cAkey root.pem \ –CAcreateserial –out CAcert.pem

f) Umieść certyfikat CA i klucz w jednym pliku:

$ cat CAcert.pem CA_key.pem root_certificate.pem > CA.pem

Utwórz certyfikat serwera

a) Wygeneruj klucz prywatny (nieszyfrowany)

$ openssl genrsa 2048 > server_key.pem

b) Wygeneruj żądanie certyfikatu

$ openssl req –new –key server_key.pem –out server_request.pem

c) c) Utwórz certyfikat:

$ openssl x509 –req –in server_request.pem –CA Ca.pem –CAcreateserial \ –Cakey CA.pem –out server_certificate.pem

1

(2)

Programowanie aplikacji klient-serwer Studia dzienne 2006/2007 d) Umieść certyfikat i klucz w jednym pliku:

$ cat server_ceryificate.pem server_key.pem CAcert.pem root_certificate.pem

> server.pem

2. Sprawdź działanie programów z pliku lab8.tar.gz.

3. Wzorując się na tych programach zmodyfikuj aplikację serwerPliki z laboratorium 3 tak, aby korzystała ona z SSL. Ustaw tak opcję gniazda SO_REUSEADDR, aby można było ponownie uruchamiać serwer na tym samym porcie, zaraz po jego zamknięciu.

4. Wzorując się na programach z pliku lab8.tar.gz zmodyfikuj wybrany serwer HTTP tak, aby korzystał on z SSL.

2

Cytaty

Powiązane dokumenty

Jeśli student nie uzyska zaliczenia przedmiotu i powtarza go, traci wszystkie punkty zdobyte do tej pory (ćwiczenia i wykład). Studenci, którzy nie zaliczyli przedmiotu

Poprawa przedmiotu może się odbyć w sesji poprawkowej i obejmuje sprawdzian zaliczający wykład oraz zadania domowe wskazane przez prowadzącego ćwiczenia.. Punkty naliczane są

Opracuj klienta standardowej usługi time w wersji TCP (opis usługi time jest zawarty w RFC 868 - www.rfc- editor.org).. Niech korzysta on z serwera time uruchomionego za

Zmodyfikuj program klient.c tak, aby można było posługiwać się adresem IP lub nazwą serwera, numerem portu lub nazwą usługi.. Zmodyfikuj program serwer.c tak, aby można

a) wersja 1: serwer wieloprocesowy (jeden proces obsługuje jednego klienta), b) wersja 2: serwer wielowątkowy (jeden wątek obsługuje jednego klienta). c) wersja 3:

b) wersja 2: serwer wyprzedzająco wieloprocesowy (tworzona jest pula procesów, które są następnie przydzielane do klientów, jeden proces obsługuje jednego klienta). c) wersja

ad a) Uruchom serwera i klienta. Wpisz jeden wiersz tekstu. Po otrzymaniu odpowiedzi z serwera, usuń proces serwera. Czy w procesie klienta coś się dzieje? Jaki jest stan

Argumenty -f oraz -t pozwalają nam określić ile procesów potomnych oraz wątków ma utworzyć serwer. Przy czym jeśli określimy, że ma być uruchomionych N potomków, to serwer