Do korzystania z protokołu SSL skonfigurowany musi być zarówno klient (adapter zasobów IMS TM), jak i serwer (produkt IMS Connect).
W poniższej tabeli znajduje się opis kroków, jakie należy wykonać
w ramach konfiguracji wysokiego poziomu wykonywanej dla adaptera zasobów IMS TM, produktu IMS Connector for Java i produktu IMS Connect
na potrzeby korzystania z protokołu SSL.
Klient SSL (IMS Connector for Java) |
Serwer SSL (IMS Connect) |
|
1. Ustal, czy wymagane jest uwierzytelnianie klienta. Jeśli uwierzytelnianie klienta nie jest wymagane, przejdź do kroku 5. Uwaga: Stanowczo
zaleca się stosowanie uwierzytelniania klienta w celu uniemożliwienia dostępu do produktu IMS Connect bez uprawnień.
|
2. Jeśli uwierzytelnianie klienta jest wymagane, uzyskaj podpisane certyfikaty i klucz prywatny. |
|
3. Jeśli uwierzytelnianie klienta jest wymagane, utwórz magazyn kluczy i umieść w nim klucz prywatny i certyfikat klienta. Więcej informacji można znaleźć w poniższym opisie. |
|
|
4. Jeśli wymagane jest uwierzytelnianie klienta, wstaw certyfikat klucza publicznego klienta do pliku kluczy. Więcej informacji można znaleźć w podręczniku IMS Connect User's Guide (SC27-0946-03). |
5. Utwórz magazyn zaufanych certyfikatów (inny opcjonalny magazyn kluczy) i umieść w nim certyfikat klucza publicznego serwera. Ewentualnie certyfikat klucza publicznego serwera można umieścić w magazynie kluczy
klienta, jeśli zaufane i niezaufane certyfikaty są przechowywane w tym samym
magazynie kluczy. |
|
|
6. Ustal, który port SSL produktu IMS Connect będzie używany. Skonfiguruj produkt IMS Connect i elementy konfiguracji
protokołu SSL przy użyciu odpowiednich wartości. Więcej informacji na temat konfigurowania tych elementów konfiguracji można znaleźć w podręczniku IMS Connect User's Guide (SC27-0946). |
7. Skonfiguruj fabrykę połączeń za pomocą odpowiednich parametrów SSL włącznie z numerem portu z kroku 6. Więcej szczegółów można znaleźć w poniższym opisie. |
|
8. Powiąż aplikację z fabryką połączeń SSL. |
|
Tworzenie magazynu kluczy lub magazynu zaufanych certyfikatów dla klienta
Aby umożliwić
wzajemne uwierzytelnianie klienta i serwera, należy udostępnić magazyn kluczy JKS
lub plik kluczy RACF z poprawnymi
certyfikatami X.509 zarówno po stronie klienta, jak i serwera. Jeśli uwierzytelnianie
klienta przez serwer nie jest wymagane, nie ma potrzeby tworzenia certyfikatu klienta
i dodawania go do magazynu kluczy lub pliku kluczy serwera. Do zarządzania magazynami kluczy
można wykorzystać różne narzędzia. W celu udostępnienia magazynu kluczy JKS zarówno po stronie klienta, jak i serwera, należy wykonać następujące kroki:
- Aby skonfigurować klienta (IMS Connector for Java) należy utworzyć certyfikat i uzyskać dla niego podpis w ośrodku certyfikacji (na przykład VeriSign) lub utworzyć własny ośrodek certyfikacji
(CA) za pomocą takiego oprogramowania, jak OpenSSL w celu podpisania własnego certyfikatu (samopodpisanego).
- Aby utworzyć magazyn kluczy, należy użyć narzędzia do zarządzania kluczami, takiego jak Ikeyman lub Keytool.
Po utworzeniu magazynu kluczy należy do niego zaimportować certyfikat klienta (jeśli jest dostępny).
- Aby utworzyć magazyn zaufanych certyfikatów, należy utworzyć kolejny magazyn kluczy i zaimportować certyfikat
serwera (IMS Connect). Uwaga: Jeśli należy utworzyć tylko jeden magazyn kluczy, zaimportuj certyfikat serwera do tego samego magazynu kluczy, w którym są przechowywane certyfikaty klienta. Wskazówki dotyczące tworzenia pliku kluczy RACF, który ma być używany jako
magazyn kluczy lub magazyn zaufanych certyfikatów, można znaleźć w dokumentacji RACF.
Konfigurowanie protokołu SSL
Bezpieczne połączenie SSL między aplikacją kliencką Java i produktem IMS Connect
jest tworzone poprzez zapewnienie, że fabryka połączeń używana przez aplikację kliencką Java
ma odpowiednie wartości właściwości SSL. Opis wartości właściwości SSL można znaleźć w temacie Właściwości połączenia.
Na przykład przy korzystaniu z produktów WebSphere i Rational firmy IBM właściwości SSL
można skonfigurować na wiele sposobów:
Uwaga: Komunikaty informacyjne i ostrzeżenia można znaleźć w pliku
trace.log generowanym przez serwer WebSphere Application Server. Informacje na temat rejestrowania i śledzenia w produkcie IMS Connector for Java można znaleźć w sekcji Rejestrowanie i śledzenie z użyciem adaptera zasobów IMS TM.
W środowisku wykonawczym,
gdy aplikacja kliencka Java wykonuje interakcję z systemem IMS,
interakcja przepływa przez bezpieczne połączenie (SSL) między klientem SSL, produktem IMS Connector
for Java,
a serwerem SSL, produktem IMS Connect. Aby otworzyć połączenie SSL między klientem i serwerem,
wykonywany jest proces uzgadniania protokołu SSL. Uzgadnianie protokołu SSL, które jest przezroczyste
dla aplikacji klienckiej Java, odbywa się następująco:
- Klient SSL, produkt IMS Connector for Java, inicjuje połączenie, wysyłając pozdrowienie
klienta. Serwer, produkt IMS Connect, odpowiada pozdrowieniem serwera wraz ze swoim certyfikatem
zawierającym jego klucz publiczny.
- Jeśli ten certyfikat zostanie pomyślnie uwierzytelniony przez serwer,
po obu stronach ustanawiany jest klucz sesji i negocjowana jest specyfikacja szyfru, która określa
typ szyfrowania stosowanego w połączeniu. Szyfr może być
silny (STRONG), słaby (WEAK) lub zerowy (ENULL). Uzgadnianie protokołu SSL zostaje wówczas zakończone.
- Jeśli serwer wymaga uwierzytelniania klienta, klient uwierzytelnia certyfikat serwera za pomocą klucza publicznego z certyfikatu.
Jeśli to uwierzytelnianie powiedzie się, certyfikat klienta zostanie wysłany z magazynu kluczy klienta. Jeśli ten certyfikat zostanie pomyślnie uwierzytelniony przez serwer,
po obu stronach ustanawiany jest klucz sesji i negocjowana jest specyfikacja szyfru, która określa
typ szyfrowania stosowanego w połączeniu. Uzgadnianie protokołu SSL zostaje wówczas zakończone.
- Klient i serwer będą gotowe do wysyłania i odbierania zaszyfrowanych danych.
Istotne jest, że podczas uruchamiania
aplikacji w środowisku zarządzanym (co jest stanowczo zalecane podczas korzystania z połączeń SSL ze względu na narzut
związany z procesem uzgadniania protokołu SSL) adapter zasobów IMS TM do komunikacji z produktem
IMS Connect używa tylko trwałych połączeń gniazd. W rzeczywistości adapter zasobów IMS TM
zawsze używa trwałych połączeń gniazd, ale w środowisku niezarządzanym te trwałe połączenia
są rozłączane przez aplikację po każdym użyciu, a nie udostępniane do ponownego użycia
w innych aplikacjach. W przypadku korzystania z menedżera połączeń serwera
WebSphere Application
Server połączenia mogą być szeregowo ponownie wykorzystywane przez inne
aplikacje klienckie. Menedżer połączeń w razie potrzeby tworzy połączenia i w razie potrzeby udostępnia je aplikacjom. Gdy aplikacja zakończy korzystanie z połączenia, menedżer połączeń zwraca połączenie do wolnej puli, umożliwiając jego ponowne wykorzystanie przez dowolną inną aplikację żądającą tego typu połączenia. Jednak uwierzytelnianie klienta i serwera następuje tylko raz dla każdego gniazda podczas uzgadniania wykonywanego, gdy gniazdo jest inicjowane po raz pierwszy jako gniazdo SSL. W przypadku ponownego wykorzystania
gniazda klient SSL (adapter zasobów IMS TM) i serwer (IMS Connect) nie ulegają zmianie. W efekcie nie ma potrzeby ponownego uwierzytelnienia klienta i serwera (ponownego przejścia przez proces uzgadniania), gdy gniazdo zostanie ponownie wykorzystane.
Jest to spójne z faktem, że identyfikator klienta, który identyfikuje gniazdo,
pozostaje taki sam przy każdym ponownym użyciu gniazda.
Jeśli wartość SSLEncryption
jest ustawiona na ENULL, wydajność powinna być lepsza niż w przypadku połączeń SSL stosujących
szyfrowanie silne lub słabe. Stopień tej poprawy będzie zależał od kilku czynników,
między innymi od tego, czy używane jest szyfrowanie sprzętowe czy programowe. Jeśli używane jest szyfrowanie sprzętowe,
poprawa będzie mniejsza, ponieważ szyfrowanie sprzętowe jest
szybsze niż programowe.