stwa są wyświetlane wyłącznie w przypadku niepowodzeń...

Linki


» Dzieci to nie książeczki do kolorowania. Nie da się wypełnić ich naszymi ulubionymi kolorami.
»
Po wejciu Wooda do zespou, cho na razie tylko tymczasowym, zaczo si wyczuwa obecno elementu przyjani, o ktrej w przypadku Taylora trudno waciwie byo mwi...
»
bardzo ważna w przypadku tak kluczowej cechy, jak iloraz inteligencji:jednostki znajdujące się w obszarze powyżej krzywej I, lecz poniżej krzywej...
»
Inny natomiast charakter ma trzecia forma uwarunkowania, poniewa gwny udzia przypada tu sytuacji, a determinanty osobowociowe schodz na plan dalszy...
»
Nie mogąc wejrzeć do umysłu Davida ani go przywołać, miałem do dyspozycji tylko jedną telepatyczną sztuczkę: zaglądanie do umysłów przypadkowo wybranych...
»
Rzuciła się teraz do tego bigosu, ratując go przed najmniejszym cieniem przypalenia i nagle łyżka omal nie wypadła jej z ręki...
»
Rozważmy, co się stało w pewnym badaniu wykonanym na nowojorskiej plaży, w którym sprawdzano, czy przypadkowi świadkowie zaryzykują osobiste bezpieczeństwo,...
»
Jak za chwilę zobaczymy, jedynie w przypadku algorytmów o niewielkiej złożoności w rodzaju O(n)czy O(n log n) zwiększenie szybkości komputera ma znaczący...
»
W przypadku Poliq'i, z formalnego punktu widzenia moemy mwi o zasadzie podwjnego podporzdkowania komendantaftl3 Por...
»
kilka podstawowych zasad dotyczących różnego typu zdań angielskich – w tym przypadku oznajmujących i pytających...
»
Niewątpliwie, ten szczególny przypadek szczęśliwych mężów i pięknych żon niezbyt dobrze nadaje się do laboratorium eksperymentalnego...

Dzieci to nie książeczki do kolorowania. Nie da się wypełnić ich naszymi ulubionymi kolorami.


Rozdział 8. ♦ Bezpieczeństwo
399
Zastosowanie protokołu SSL
przy użyciu JSSE
Do obsługi protokołu SSL JBoss wykorzystuje rozszerzenie JSSE (ang. Java Secure Socket Extension). Stanowi ono jeden z elementów platformy JDK 1.4. Aby móc rozpocząć korzystanie z niego, należy uzyskać parę kluczy — prywatny i publiczny — zapisanych w postaci certyfikatu X509. Klucze te będą wykorzystywane przez gniazda SSL serwera. Na potrzeby przykładów zamieszczonych w niniejszej książce wygene-rowano certyfikat przy użyciu programu keytool (wchodzącego w skład JDK), a wyni-kowy plik umieszczono w katalogu chap8 pod nazwą chap8.keystore. Plik ten został
wygenerowany przy użyciu następującego polecenia:
keytool -genkey -keystore chap8.keystore -storepass rmi+ssl -keypass rmi+ssl
¦-keyalg RSA -alias chapter8 -validity 3650 -dname "cn=chapter8 example,ou=admin book,dc=jboss,dc=org"
Wykonanie powyższego polecenia powoduje utworzenie pliku magazynu kluczy (ang.
keystore) o nazwie chap8.keystore ( magazyn kluczy to baza danych zawierająca klucze używane przez systemy bezpieczeństwa). W magazynie kluczy umieszczane są dwa rodzaje wpisów:
 Klucze — każdy wpis tego typu zawiera bardzo wrażliwe, poufne informacje dotyczące kluczy kryptograficznych, które, w celu uniemożliwienia dostępu
osób nieupoważnionych, są przechowywane w zabezpieczonym formacie.
Zazwyczaj kluczem przechowywanym we wpisach tego typu jest klucz tajny
lub klucz prywatny wraz z dołączonym do niego łańcuchem certyfikatów
odpowiedniego klucza publicznego. Programy keytool oraz jarsigner są w stanie obsługiwać jedynie wpisy tego drugiego rodzaju, czyli te, w których są umieszczane klucze prywatne wraz z łańcuchem certyfikatów.
 Zaufane certyfikaty — każdy wpis tego typu zawiera jeden certyfikat klucza publicznego należącego do kogoś innego. Nosi on nazwę zaufanego certyfikatu, gdyż właściciel magazynu kluczy ufa, iż klucz publiczny zapisany w certyfikacie faktycznie należy do osoby będącej podmiotem (właścicielem) certyfikatu.
Wystawca certyfikatu, podpisując go, ręczy, że tożsamość jego właściciela
jest poprawna.
Poniżej przedstawione zostały wyniki wyświetlenie zawartości pliku src/main/org/
jboss/chap8/chap8.keystore przy użyciu programu keytool:
C:\JBoss\przyklady>keytool -list -v -keystore src/main/org/jboss/chap8/chap8.keystore Enter keystore password: rmi+ssl
Keystore type: jks
Keystore provider: SUN
Your keystore contains 1 entry
Alias name: chapter8
Creation date: 2004-12-17
Entry type: keyEntry
400
JBoss 4.0. Podręcznik administratora
Certificate chain length: 1
Certificate[1]:
Owner: CN=chapter8 example, OU=admin book, DC=jboss, DC=org
Issuer: CN=chapter8 example, OU=admin book, DC=jboss, DC=org
Serial number: 41c23d6c
Valid from: Thu Dec 16 19:59:08 CST 2004 until: Sun Dec 14 19:59:08 CST 2014
Certificate fingerprints:
MD5: 36:29:FD:1C:78:44:14:5E:5A:C7:EB:E5:E8:ED:06:86
SHA1: 37:FE:BB:8A:A5:CF:D9:3D:B9:61:8C:53:CE:19:1E:4D:BC:C9:18:F2
*******************************************
*******************************************
Kiedy rozszerzenie JSSE będzie poprawnie działać, a magazyn kluczy zawierający niezbędny certyfikat został już wygenerowany, można przystąpić do konfiguracji serwera JBoss tak, by dostęp do komponentów EJB odbywał się przy użyciu protokołu SSL.
W tym celu należy odpowiednio skonfigurować fabryki gniazd RMI obiektu wywołują-
cego EJB. Podsystem JBossSX zawiera implementacje interfejsów java.rmi.server.
RMIServerSocketFactory oraz java.rmi.server.RMIClientSocketFactory, które pozwalają na stosowanie RMI wraz z gniazdami obsługującymi komunikacje szyfrowaną przy użyciu protokołu SSL. Interfejsy te są odpowiednio implementowane przez klasy: org.jboss.security.ssl.RMISSLServerSocketFactory oraz org.jboss.security.ssl.
RMISSLClientSocketFactory. Rozpoczęcie wykorzystania protokołu SSL w celu odwo-
ływania się do komponentów EJB wymaga wykonania dwóch operacji. Pierwszą z nich jest włączenie wykorzystania magazynu kluczy jako bazy danych zawierającej certyfikaty SSL serwera. Operacja ta wymaga odpowiedniego skonfigurowania komponentu MBean org.jboss.security.plugins.JaasSecurityDomain. Stosowny deskryptor umieszczony w pliku jboss-service.xml w katalogu chap8/ex4 został przedstawiony na listingu 8.16.
Listing 8.16. Przykładowa konfiguracja JaasSecurityDomain w przypadku zastosowania RMI i SSL

name="jboss.security:service=JaasSecurityDomain,domain=RMI+SSL">



chap8.keystore
rmi+ssl

Klasa JaasSecurityDomain dziedziczy po „standardowej” klasie JaasSecurityManager i dodaje do niej obsługę magazynów kluczy oraz możliwości dostępu do obiektów ty-pu KeyManagerFactory oraz TrustManagerFactory. Rozbudowuje ona możliwości standardowego menadżera bezpieczeństwa o obsługę protokołu SSL oraz innych operacji kryptograficznych wymagających użycia kluczy. Przedstawiona powyżej konfiguracja powoduje po prostu wczytanie magazynu kluczy chap8.keystore (z pliku SAR tworzonego w przykładzie 4.) przy wykorzystaniu wskazanego hasła.
Rozdział 8. ♦ Bezpieczeństwo
401
Drugim krokiem jest zdefiniowanie konfiguracji obiektu wywołującego EJB, który będzie korzystać z obiektów fabrykujących gniazda RMI obsługujące protokół SSL.
W tym celu należy zdefiniować własną konfiguracje obiektu JRMPInvoker zgodnie z informacjami zamieszczonymi w rozdziale 5., „Komponenty EJB w JBossie”, jak również przygotować konfiguracje komponentu EJB, który będzie używać tego obiektu wywołującego. Poniższy fragment pliku jboss-service.xml przedstawia deskryptor definiujący niestandardowy obiekt JRMPInvoker:
name="jboss:service=invoker,type=jrmp,socketType=SSL">

Powered by MyScript