2008-10-15 8 views
1

Je dois utiliser le cryptage (et la signature) pour un service Web (côté serveur). J'utilise axis2 et ajoute avec succès le module rampart (pour l'implémentation WS-Security). Mais la page de rempart (http://ws.apache.org/axis2/modules/rampart/1_2/security-module.html) manque des exemples et le fichier d'exemple n'est pas vraiment documenté. Donc, ma question est: quel est le moyen le plus simple d'ajouter le cryptage (et la signature)? que dois-je mettre dans le fichier services.xml, dois-je écrire un policy.xml? Que dois-je donner au développeur du client (en plus du WSDL)? Si vous pouvez me diriger vers un bon tutoriel, il serait utile, merci etc ...Cryptage du message SOAP dans l'axe 2

Répondre

3

Serait-il possible d'utiliser simplement SSL (https)? Cela simplifierait certainement les choses.

1

Vinze - J'ai rencontré ce problème avec rampart, même si je n'essayais pas d'exposer un service Web, appelez-en un. (Voir this question). J'ai trouvé que tous les éléments de sécurité des services Web étaient déroutants, et cela n'aide pas à ce que ce rempart soit mal documenté (pas de bons tutoriels comme vous l'avez mentionné).

Vous pouvez avoir du succès dans l'écriture de l'API WSS4J au lieu de l'utiliser. (BTW, je pense que le rempart est construit sur WSS4J). Pour ce qui est de fournir au développeur du client, il peut être plus simple pour lui de mettre les informations de stratégie dans le fichier wsdl au lieu d'un fichier policy.xml distinct. Mais vous devriez probablement prévoir de lui fournir de la documentation sur la façon dont votre service est sécurisé afin qu'il/elle sache comment l'appeler.

+0

Oui, en effectuant une recherche de solutions que je compris la politique devrait être dans le fichier WSDL; mais je le génère en utilisant la tâche Java2WSDL d'Axis et je ne sais pas comment le faire ... peut-être que je devrai écrire le WSDL moi-même! Rédaction du service avec l'API correcte au lieu de POJO est également la solution que je vais – Vinze

0

J'ai trouvé beaucoup de réponses dans ce livre: http://agileskills2.org/DWSAA/index.html (chapitre 9) Donc, même si je ne l'ai pas fini, je vais essayer de répondre à ma propre question:

  • Même si la politique est dans le WSDL la version actuelle d'Axis 2 (1.4) ne la regarde pas, donc vous devez ajouter la politique et la configuration du rempart dans le fichier services.xml
  • Vous devez écrire un fichier rampart-config.xml pour le client et "engager" le module dans le ConfigurationContext utilisé comme argument pour le constructeur de stub
  • Pour les deux vous avez besoin d'un keystore (tel que J KS) et un certificat

Peut-être plus, je vais modifier cette réponse quand je réussirais ...

Questions connexes