3

Existe-t-il un moyen de "recharger" le fichier de clés certifiées du certificat dans JBoss 4.2 sans redémarrer?JBoss reload certificate truststore sans redémarrage

J'essaie d'avoir un appel EJB un service web sur un serveur distant avec ssl et je vois un problème similaire avec SSLHandshakeException comme dans l'article ci-dessous. Ce que nous essayons de faire est le suivant et implique trois machines, A le serveur JBoss agissant comme un client de service Web aux serveurs B et C.

1) Sur A, l'utilisateur entre le nom d'hôte pour B. La machine sur A obtient le certificat auto-signé de B et l'installe dans le magasin de confiance (via un script shell externe).

2) La connexion du socket SSL est faite à B, point où il semble que le magasin de certificats est chargé lors de cette première tentative. La connexion est réussie et tout fonctionne.

3) Toujours sur A, l'utilisateur fait la même chose qu'en 2, le script shell obtient le certificat C et l'installe dans le magasin de stockage. Cependant, sur la connexion attaintée à C, il apparaît (en activant javax.net.debug = ssl) que le truststore n'est pas "rechargé" et il ne trouve pas le certificat de C et nous obtenons SSLHandshakeException. Après le redémarrage de JBoss, le fichier de clés certifiées "mis à jour" est chargé et la connexion à la fois à B et à C fonctionne.

Aimerait faire cela sans redémarrer JBoss et rassembler le schéma ci-dessus n'est pas correct. Si quelqu'un pouvait me diriger vers la documentation pour la manière correcte de mettre à jour dynamiquement le truststore, ce serait très apprécié.

Problem calling web service from within JBOSS EJB Service

Répondre

0

Avoir un EJB ajouter des certificats auto-signés (sur l'interaction de l'utilisateur) au magasin de confiance utilisé Jboss à l'échelle n'est pas une bonne idée du point de vue de la sécurité.

Une solution plus propre serait de laisser votre client Webservice utiliser une implémentation personnalisée X509TrustManager ou un SSLSocketFactory personnalisé. Dans les deux cas, vous pouvez décider vous-même du certificat à faire confiance. Cela vous permettrait de gérer votre propre magasin de confiance qui n'est valide que pour cet EJB et l'appel WS correspondant.

Voir aussi: http://www.howardism.org/Technical/Java/SelfSignedCerts.html