Oracle Service Bus et two-way SSL

Voici les différentes étapes pour mettre en place un appel web service sécurisé par du two-way SSL sur un Oracle Service Bus (11.1.1.7).

Pré-requis

  • Certificat de votre serveur/environnement : RQT.cer
  • Certificat du client à appeler : client-ssl.cer
  • Votre clé public : public-key.csr
  • Votre clé privée : private-key.key
  • Certificat de confiance des serveurs clients : client-trust.cer

Configuration serveur

Je me suis personnellement créer un alias pour l’outil keytool (outil permettant de gérer le keystore et les certificats) afin d’aléger la lisibilité des commandes :

# ---------------
alias keytool = $bea_home/jdk/bin/keytool
cd bea_home/wlserver_10.3/lib
# ---------------
# Ajout du certificat de confiance du client dans le trust-keystore de weblogic
keytool -import -file client-trust.cer -keystore DemoTrust.jks -storepass changeit
# ---------------
# Conversion du certificat client en format .PEM
openssl x509 -inform der -in client-ssl.cer -out client-ssl.pem
# ---------------
# Génération du pkcs12 pour englober la clé privée et le certificat .PEM dans notre jks et l'injecter dans un keystore de type PKCS12
# Un mot de passe sera demandé pour la génération du keystore, veillez à le noter
openssl pkcs12 -export -inkey private-key.key< -in RQT.cer -name clientcertssl -certfile client-ssl.pem-out RQT.p12
# ---------------
# Ajout du certificat PKCS12 dans notre keystore dédié pour le flux Web Service
keytool -importkeystore -srckeystore RQT.p12 -srcstoretype PKCS12 -destkeystore osb.jks -deststoretype JKS
# ---------------

Une fois terminé : redémarrez votre serveur weblogic.

Configuration Weblogic

Il s’agit maintenant de s’identifier sur le weblogic et de vérifier l’activation des options suivantes :

  • « Servers » -> *servername* -> « SSL » -> « advanced » -> cochez Use JSSE SSL
  • « Servers » -> *servername* -> « SSL » -> « advanced » -> décochez Use server certs
  • « Servers » -> *servername* -> « SSL » -> « advanced » -> hostname verification : NONE

Configuration OSB

Depuis votre console OSB (sbconsole), il suffira maintenant d’accéder à votre « key provider » utilisé par votre proxy service, de l’éditer, puis de lui fournir votre alias « clientcertssl » et le mot de passe noté plus haut.
Un dernier redémarrage peut s’avérer nécessaire.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *