java bazy danych i ssl.pdf

(153 KB) Pobierz
297326291 UNPDF
Java, bazy danych i SSL
1. HSQLDB i SSL.
2. MySQL
własności połączenia,
transmija z wykorzystaniem SSL.
3. Własne programy wykorzystujące SSL.
1
HSQLDB – SSL
HSQLDB umożliwia szyfrowanie transmisji. Aby taka transmisja była możliwa
zarówno serwer jak i klient muszą być odpowiednio skonfigurowane. Konfiguracja
serwera:
1. Generowanie certyfikatu serwera:
>keytool -genkey -alias hsqldb -keyalg RSA -validity 30 -keystore
hsqlserver.store
Enter keystore password: hsqldb
What is your first and last name?
[Unknown]: localhost
...
Is CN=localhost, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown,
C=Unknown correct?
[no]: yes
Enter key password for <hsqldb>
(RETURN if same as keystore password):
2
HSQLDB – SSL
Inny sposób generowania klucza – gdy posiadamy certyfikat podpisany przez
zewnętrzne Centrum Autoryzacji”
openssl pkcs8 -topk8 -outform DER -in Xpvk.pem -inform PEM
-out Xpvk.pk8 -nocrypt
openssl x509 -in Xcert.pem -out Xcert.der -outform DER
java DERImport server.store NEWALIAS Xpvk.pk8 Xcert.der
UWAGA: hasło dla klucza musi być takie samo jak hasło dla server.store !
3
HSQLDB – SSL
2. Uruchomienie serwera:
>java
-Djavax.net.ssl.keyStorePassword=hsqldb
-Djavax.net.ssl.keyStore=hsqlserver.store
-cp hsqldb.jar
org.hsqldb.Server
[Server@13c5982]: [Thread[main,5,main]]: checkRunning(false)
entered
...
[Server@13c5982]: Using TLS/SSL-encrypted JDBC
...
[Server@13c5982]: Startup sequence completed in 978 ms.
[Server@13c5982]: 2006-03-19 10:16:28.100 HSQLDB server 1.8.0
is online
4
HSQLDB – SSL
Po stronie klienta należy:
1. Uzyskać certyfikat serwera np:
>keytool -export -keystore server.store -alias hsqldb
-file server.cer
Enter keystore password: hsqldb
Certificate stored in file <server.cer>
Jeśli nie mamy dostępu do server.store możemy użyć dowolnego narzędzia do
połączenia się z serwerem i odebrania certyfikatu np:
openssl s_client -connect host:port - zakodowany w Base64 certyfikat
pojawi sie na ekranie pomiędzy liniami
-----BEGIN CERTIFICATE-----
...
----END CERTIFICATE----- .
Ten fragment zapisujemy do pliku server.cer .
5
Zgłoś jeśli naruszono regulamin