Question

I ai généré moignons et les liaisons à l'aide de codegen cxf. Tout fonctionne bien mais le serveur rejette toujours le message en raison de problèmes de sécurité. Fondamentalement, j'ai 3 couches pour prendre soin tous qui exigent des certificats (que j'ai).

  1. le cryptage SSL sur la conduite
  2. signature de certificat sur l'élément de données spécifique
  3. Certificat XML Signature sur les données de charge utile.

Pour pimenter un peu la soupe je n'ai pas le plein contrôle sur la signature réelle et les certificats. Fondamentalement, je dois extraire les données appropriées, l'envoyer à signer et je dois réinjecter les données signées dans la transaction.

Les certificats j'ai accès sont dans le magasin de certificats Windows de la machine locale (SSL et une signature)

La lecture de la documentation du cadre semble appuyer fortement sur config magie vaudou. Malheureusement, la plupart des liens que j'ai trouvé passent beaucoup de temps à expliquer en détail comment générer les certificats, mais sont plutôt lésiner sur la façon dont nous obtenons en fait de les utiliser.

Utilisation CXF comment puis-je y parvenir?

Comment puis-je accéder aux crochets appropriés et avec quel code je peux injecter une signature sur le message?

Merci

Était-ce utile?

La solution

Retourné CXF a toute la capacité de générer une signature correcte dès le début. Notre problème était que la fin de réception de la signature n'accepte pas cette signature standard. Nous avons dû créer un système de signature personnalisée qui assure toute la petite bête pickiness et ésotérique abracadabra requis par être mis en place la mauvaise exécution du serveur. préfixe namespace devait être réglé sur une valeur très spécifique quelle que soit la déclaration d'espace de la transaction. Whitespace devait être parfois parés parfois etc ...

Nous avons donc créé un intercepteur et injecté dans la liste des intercepteurs de sortir et qui était elle. En fait, il était un peu plus compliqué parce qu'ils ont insisté pour signer la transaction de savon avec un certificat situé sur la clé USB de l'utilisateur final. Notre système centralise toutes les interfaces, nous avons dû jongler un peu plus loin pour le faire fonctionner, mais à la fin tout est bon.

Je croyais que le but d'utiliser une norme était de fournir un moyen standard pour faire des choses, eh bien ... Certaines personnes pensent qu'il semble qu'ils sont meilleurs experts que les experts qui créent la norme et insistent sur le fait à ajouter leur propre cornichon au pot. quelqu'un doit leur dire ajouter des cornichons à la confiture de framboise ne permet pas un meilleur goût.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top