WebLogic et Fusion Middleware : comportement d’expiration et résolution des certificats d’identité

Un défi majeur pour les clients sur les plateformes hébergées est de garder les services web publiés sécurisés à l’aide de certificats SSL et de diverses politiques de sécurité de WSM Policy Manager, qui sont construites sur Oracle Fusion Middleware WebLogic. Lorsque WebLogic est configuré pour utiliser des certificats d’identité système comme certificats de démonstration, ils peuvent faire face à une intégration défaillante en raison des règles de validation SSL en place pour la plupart des services fournis par le Cloud.

La plupart des solutions cloud d’entreprise Oracle comme OTM, SOACS, Oracle PLM Cloud et JaaS Cloud ont sécurisé leurs API d’intégration et leurs services web et n’acceptent que les connexions de clients vérifiés. C’est très similaire aux règles de validation des certificats clients pour les appels de requête SSL entrants où, si le certificat SSL par défaut du keystore est expiré côté client, il y aura une erreur de défaut SOAP et la connexion sera défaillante à cause d’une intégration ratée (vérification SSL check).

Les erreurs observées dans les journaux d’application sont très génériques.

Impossible de déterminer le défaut de savon à partir du message

Détails de l’erreur - Code d’erreur : 500 Type d’erreur : RemoteFault Résumé d’erreur : Erreur à distance survenue Description d’erreur : oracle.fabric.common.FabricInvocationException : Impossible d’invoquer l’URI du point de terminaison

Comportement observé du côté client

Sur les serveurs Fusion Middleware (FMW) / WebLogic avec un certificat d’identité expiré :

Après avoir suivi les étapes de dépannage de base comme :

  • Ping vers destination – ça fonctionne
  • URL HTTPS du Telnet vers le nuage de destination – ça fonctionne
  • Revérifiez les identifiants et la configuration des connecteurs – ça fonctionne

Vous devez vérifier l’erreur suivante dans les journaux du serveur :

« BEA-090154 Certificat d’identité expiré »

Le message d’erreur ne sera pas nécessairement dans la même pile d’erreurs que l’échec de la requête de service web. Ça semble juste inoffensif. D’autres fonctionnalités comme le clustering WebLogic, l’accès aux applications, la configuration des serveurs WebLogic continueront de fonctionner comme prévu.

Étapes de résolution

Réinstaller le certificat d’identité

Connectez-vous à la console Oracle Enterprise Manager (EM). Sélectionnez le nom de domaine et naviguez jusqu’à la sécurité, puis sélectionnez le magasin de clés.

Si vous avez initialement utilisé le certificat de démonstration par défaut pour installer le domaine WebLogic, alors le mot de passe par défaut sera – DemoIdentityKeyStorePassPhrase. Si vous avez utilisé votre propre certificat lors de l’installation de WebLogic, référez-vous au mot de passe de votre dépôt d’installation initial.

Sous la page Gérer les certificats – Supprimez l’ancien certificat d’identité en utilisant le mot de passe du Certificat de Démonstration, Phrase d’Entrée DemoIdentity.

Créer un nouveau certificat d’identité

Sélectionnez « Générer une paire de clés », utilisez le mot de passe du certificat de démonstration, DemoIdentityPassPhrase.

Mise à jour de la boutique KSS

Suivez les étapes ci-dessous pour synchroniser le magasin KSS et vous assurer que les modifications ne sont pas écrasées et perdues après le redémarrage du serveur WebLogic.

Depuis la console EM, ouvrez le « System MBean Browser » et cherchez « syncKeyStores » sous « Operations ». Dans le magasin de clés JPS, cliquez sur « syncKeyStores » avec la valeur de « 2 » sous les paramètres (ligne 23).

Entrez « system » pour p1 et « KSS » pour p2.

Cliquez sur « invoker » pour initialiser le processus de synchronisation, attendez quelques minutes, puis vérifiez le message de confirmation « Opération exécutée avec succès ».

Conclusion

Tous les 5 ans, le certificat d’identité de la démonstration expire, donc il est très important d’installer des certificats d’identité personnalisés et de suivre le processus de renouvellement SSL tous les 2 ou 3 ans. Veuillez examiner vos certificats actuels et suivre les dates d’exploitation ainsi que d’autres certificats d’entreprise afin d’éviter une intégration inattendue et défaillante.

Les clients devraient aussi revoir leur processus actuel de certification SSL avant de décider de passer à une plateforme d’hébergement cloud d’entreprise, donc votre partenaire d’hébergement cloud, comme Syntax, peut accueillir la certification SSL lors du transfert vers la forme du nuage.

Les produits suivants seraient affectés et pourraient ne pas démarrer à cause de ce problème.

  • Oracle WebLogic Server Version 9 et ultérieure jusqu’à 12c
  • Business Intelligence Server Enterprise Edition Version 12g
  • SOA, OSB, ODI, WCS Version 12c

Dans le scénario ci-dessus, les services WebLogic fonctionnaient et l’intégration de bout en bout des services web a échoué. Dans certaines versions, le service WebLogic lui-même peut ne pas démarrer lors d’un tel événement et vous devez utiliser un script WLST pour mettre à jour le certificat et la synchronisation KSS stock. Vous pouvez aussi utiliser la solution de contournement suivante qui prend moins de temps :

Va dans la config.xml de remontée et change la ligne suivante

<use-kss-for-demo>true</use-kss-for-demo>. to “false”. It will display as

<use-kss-for-demo>false</use-kss-for-demo>. Restart the WebLogic Server in running state and follow the step.