Utilisation de WebServiceTemplate avec un fichier de clés
Est-il possible de configurer un WebServiceTemplate avec un keystore java?
modifier
Je suis à la recherche d'un moyen de configurer l'emplacement du fichier de stockage des clés au printemps config
source d'informationauteur Mark Pope | 2010-03-10
Vous devez vous connecter pour publier un commentaire.
Je pense que vous pouvez en programmant charger un fichier de clés basé à l'aide d'un fichier de clés.Constructeur:
http://java.sun.com/j2se/1.5.0/docs/api/java/security/KeyStore.Builder.html#newInstance%28java.lang.String,%20java.security.Provider,%20java.io.File,%20java.security.KeyStore.ProtectionParameter%29
Donc peut-être avoir une classe qui a un webservice modèle ou s'étend-il, puis définissez le chemin d'accès au fichier de magasin de clés dans votre printemps config et en faire un inizialing bean (@PostConstruct au Printemps 3?) qui charge le fichier de clés.
Ok - pour l'utiliser avec votre webservicetemplate je pense qu'il doit être basé autour du fichier de stockage des clés de rappel, comme indiqué ici: http://static.springsource.org/spring-ws/sites/1.5/reference/html/security.html#d0e4462
Ou peut-être en utilisant le printemps org.springframework.ws.de transport.http.HttpsUrlConnectionMessageSender laquelle vous pouvez définir keystoremanager. Ensuite, qui peut être utilisé par votre webservicetemplate.
Un peu comme ceci:
HTH
Les réponses et les questions que j'ai trouvé dans ce post m'a gardé à chasser ma queue pendant un certain temps. En fin de compte j'ai eu ce travail pour une application que j'ai déployé pour WebLogic 11g par l'importation du fichier de clés dans le fichier de clés sur mon serveur Weblogic:
C:\bea\jrockit_160_14_R27.6.5-32\jre\bin>keytool -importkeystore -srckeystore \workspace\monprojet\webservice.fichier de clés
Puis j'ai changé la configuration de WebLogic fichier de stockage des clés pour pointer vers ce fichier de clés. Vous pouvez le faire par le biais de la WL de la console: Environnement->Serveur->AdminServer->fichier de stockage des clés.
Modifier le fichier de stockage des clés: sélection de "l'Identité Personnalisée et de Confiance Personnalisée", puis remplissez-les dans le chemin d'accès dans la Identité(entrant), et Confiance(sortant) les articles de votre magasin de certificats de l'emplacement. Sur Windows XP, le mien était dans \Documents Settings\mon id\.fichier de stockage des clés.
Je n'ai pas fournir le mot de passe et je crois que c'est facultatif.
Retard de réponse sur ce fil, mais de toute façon: notez qu'une fois que vous avez votre fichier de clés et tout le reste mis en place, vous pouvez peut-être surpris de trouver le WebServiceTemplate ne semble pas soutenir les connexions HTTPS!
Assurez-vous de définir le
messageSender
propriétéorg.springframework.ws.transport.http.CommonsHttpMessageSender
. La valeur par défautWebServiceMessageSender
mise en œuvre ne prend pas en charge le protocole HTTPS.Je suppose que vous voulez dire que vous souhaitez configurer le fichier de clés utilisé par JSSE, puisque c'est le Modèle à utiliser. JSSE toujours toujours regarder la javax.net.le protocole ssl.keyStore/javax.net.le protocole ssl.keyStorePassword les propriétés du système pour trouver le fichier de clés. Vous pouvez configurer ces propriétés au Printemps à l'aide d'un InitializingBean comme ça.
Notez que si vous exécutez un serveur d'application de la JSSE peut déjà être configuré avant le Printemps initialise. Dans ce cas, vous devez utiliser le serveur d'application d'interface pour définir le fichier de clés -- généralement à l'aide d'-D params sur la ligne de commande.
Vous devez installer les certificats dont vous avez besoin dans le fichier de clés (probablement le fichier cacerts) du JDK utilisé pour exécuter votre application server à l'aide de ils commande keytool.
Voici un exemple de commande:
Modifier: Basé sur la mise à jour de question, il semble que cela peut être ce que vous cherchez: http://static.springsource.org/spring-ws/sites/1.5/reference/html/security.html