java_06.pdf
(
216 KB
)
Pobierz
351969195 UNPDF
Java, bazy danych i SSL
1. MySQL:
●
własności połączenia,
●
transmisja z wykorzystaniem SSL.
2. Własne programy wykorzystujące SSL.
3. RMI i SSL
- implementacja własnych wersji klas
ServerSocket
i
Socket
.
- wykorzystanie własnych gniazd w ramach RMI
- implementacja własnej klasy
RMIClientSocketFactory
.
- implementacja własnej klasy
RMIServerSocketFactory
.
- szyfrowanie SSL w RMI
1
MySQL i JDBC
Driver JDBC do bazy MySQL:
http://www.mysql.com/products/connector/j/
.
Dokumentacja:
http://dev.mysql.com/doc/refman/5.0/en/java-connector.html
.
Nawiązanie połączenia:
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost/test?user=monty&password=");
Ogólnie "connectString" ma postać:
jdbc:mysql://[host][,failoverhost...][:port]/[database]
[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...
Domyślny adres host'a to '127.0.0.1'. Domyślny port to '3306'.
jdbc:mysql://[host:port],[host:port].../[database]
[?propertyName1][=propertyValue1][&propertyName2][=propertyValue2]...
Jeśli nie zostanie podana nazwa bazy danych, w przyszłości należy ją ustawić
metodą
setCatalog()
na rzecz obiektu
Connection
lub w zapytaniach przesyłać
pełne nazwy tabel: (np.
SELECT dbname.tablename.colname FROM
dbname.tablename
).
2
Wybrane własności połączenia
●
user
– nazwa użytkownika (domyślnie
''
),
●
password
- hasło (
''
),
●
useCompression
– czy używać kompresji podczas komunikacji z serwerem
(
false
),
●
autoReconnect
– czy odtwarzać nieaktywne połączenia (
false
),
●
useSSL
– czy używać SSL'a podczas komunikacji (
false
),
●
requireSSL
– wymagać SSL'a gdy
useSSL=true
? (
false
),
●
logger
– nazwa klasy logującej implementującej
com.mysql.jdbc.log.Log
,
używanej do logowania zdarzeń (
com.mysql.jdbc.log.StandardLogger
),
●
zeroDateTimeBehavior
– jak obsługiwać daty wypełnione zerami, opcje:
exception
,
round
oraz
convertToNull
(
exception
).
3
Kodowanie znaków
Wszystkie teksty wysyłane przez sterownik do bazy danych są automatycznie
konwertowane z Unikodu (natywne kodowanie w Javie) do kodowania używanego
przez komputer klienta.
Kodowanie znaków między klientem i serwerem jest wykrywane automatycznie
podczas nawiązania połączenia. Kodowanie używane przez sterownik jest ustawiane
po stronie serwera poprzez
character_set
(przed 4.1.0) lub
character_set_server
(od 4.1.0). Aby zmienić automatyczne kodowanie należy
ustawić własność
characterEncoding
w
connectString'u
.
Najczęstsze kodowania nazwa MySQL (nazwa Java):
usa7 (US-ASCII), latin1 (ISO8859_1), latin2 (ISO8859_2), win1250ch (Cp1250),
utf8 (UTF-8), ucs2 (UnicodeBig).
4
Używanie SSL'a
SSL szyfruje wszystkie przesyłane dane. Wydajność komunikacji spada o 35-50%.
Konfiguracja serwera:
http://dev.mysql.com/doc/refman/5.0/en/secure-connections.html.
W skrócie:
●
konfiguracja kompilacji:
SHOW VARIABLES LIKE 'have_openssl';
●
wygenerowanie certyfikatów SSL:
http://dev.mysql.com/doc/refman/5.0/en/secure-create-certs.html?ff=nopfpls
●
zmiany w pliku
my.cnf
,
●
uruchomienie serwera.
5
Plik z chomika:
szuro1
Inne pliki z tego folderu:
Wszechswiat2007_7-9_Tykarski.pdf
(2354 KB)
WM_2008_04m.pdf
(422 KB)
WM_2008_03m.pdf
(176 KB)
WM_2008_02m.pdf
(201 KB)
WM_2008_01m.pdf
(151 KB)
Inne foldery tego chomika:
Ajax
Algorytmy
APLETY
Dokumentacja
ECLIPSE
Zgłoś jeśli
naruszono regulamin