Vlastní certifikát ve Weblogicu

Na projektu jsem se setkal se situací, kdy se prostřednictvím SSL připojujeme na middleware. V podstatě se jedná o klasické volání webových služeb. Problém byl v tom, že když jsme tuto službu zavolali, Weblogic vracel výjimky o tom, že protistrana používá neznámé certifikáty.

Problém byl v tom, že se protistrana identifikovala certifikátem, který byl self-signed, ale stejný problém nás potká, pokud protistrana bude využívat certifikát vydaný certifikační autoritou, kterou neznáme. V obou případech dostaneme výjimku:

javax.xml.ws.WebServiceException: javax.net.ssl.SSLKeyException: 
[Security:090477]Certificate chain received from mw.company.com - 10.0.0.1 
was not trusted causing SSL handshake failure.

Jak z toho wen? Musíme náš server naučit pracovat s certifikátem protistrany. Weblogic pro práci s certifikáty využívá několik cest. Já si pro dosažení kýženého cíle zvolil standardnější cestu, a to přes java key store.

Začneme s tím, že si vytvořime náš serverový certifikát:

keytool -genkey -file ./app_server.jks

Tím se nám na aplikačním serveru vytvoří keystore s naším serverovým certifikátem. Následně musíme získat veřejný certifikát protistrany. Buď nám jej pošle hodný správce serveru nebo si jej stáhneme (například pomocí webového browseru). Tento server si naimportujeme do jiného key store:

keytool  -keystore ./micros_trust.jks -import -file ./alsb.cer

(soubor alsb.cer obsahuje veřejný klíč protistrany)

Nyní už nám nezbývá nic jiného, než nakonfigurovat Weblogic. V menu zvolíme Enviroment->Servers. Vybereme si node, na kterém máme nadeployovanou aplikaci a následně zvolíme záložku Keystores.

V combo boxu zvolíme volbu Custom Identity and Custom Trust.
Volba keystore

Následně si nastavíme cesty v jednotlivým keystore, vyplníme typ (JKS) a hesla.

wl_jks2

A to je vše. Od této chvíle bude Weblogic věřit pouze certifikátům, které máme v našem keystore. Navíc budou SSL spojení na náš server zabezpečena certifikátem, který jsme si vyrobili v prvním kroku.

Jedna odpověď na “Vlastní certifikát ve Weblogicu”

  1. Delam to defacto stejne, jen mam v poznamkach tyto prikazy:

    # keytool -genkey -keystore HOSTNAME.jks -validity 3600 -storepass HESLO -alias 1
    # keytool -export -alias 1 -file appservercert.der -keystore HOSTNAME.jks

    Nekdy je jeste potreba pridat k prvnimu „-sigalg rsa“ protoze jsem uz videl i hlasku, ze neni DSA podporovano 😉

Napsat komentář

This site uses Akismet to reduce spam. Learn how your comment data is processed.