Question

J'ai un peu d'un problème.

Nous avons un moteur d'interface centralisée qui parlera à un service Web qui fournira le complément d'information et permettre de présenter la demande à des systèmes externes. Tout cela est bon et bien jusqu'à ce que nous devons intégrer la sécurité requise de ce fournisseur.

Ils délivrent des certificats distribués par les cartes à puce (clé USB) que l'utilisateur final doit utiliser pour avoir la Interagir logiciel avec ledit système (les services Web). Ils insistent sur le fait que le (parfois multiple) signature soit faite contre le certificat d'User`s sur sa clé USB. La clé privée est, bien sûr, mot de passe protégé.

Comment puis-je connecter Axis2 qui en fin de compte gérer tout cela aux certificats qui sont sur l'ordinateur final User`s.

Le système est principalement héritage application cliente épaisse dans Delphi 5, le moteur d'interface interagit principalement avec la base de données. Maintenant, nous avons réussi à connecter un morceau de code qui relie efficacement la station de fin User`s au serveur d'interface via un socket TCP simple.

---- EDIT ----

Nous avons mis en œuvre la solution avec intercepteur de signature personnalisée au sein CXF (nous avons changé d'axe) qui a transmis le contenu du message à un proxy de signature qui à son tour trouver et se connecter au service de signature à droite en cours d'exécution sur la session interactive utilisateur où la demande initiale est venu.

J'ai accepté la réponse de Eugene, car même si nous n'avons pas utilisé les composants il a précisé que nous avons fait mettre en œuvre la solution qui a suivi les directives générales de sa proposition.

Il n'y a pas d'échapper au fait que la signature doit être fait dans une session interactive utilisateur en raison du jeton USB. Des contraintes supplémentaires ont été imposées en raison du fait que nous avons utilisé les systèmes existants et la nécessité d'avoir le travail du système dans un environnement partagé (serveur de bureau à distance). Bien qu'il soit possible, il est pas pris en charge naturellement par les cadres de service Web ou les bibliothèques de chiffrement.

Était-ce utile?

La solution

Si vous avez le certificat résidant sur le jeton USB du client, puis la signature (comme opération cryptographique) doit être effectué du côté client. Si vous pouvez modifier cette application Delphi, vous pouvez utiliser SecureBlackbox pour la signature. Je ne sais rien Axis2, mais si elle permet de créer et de brancher des modules cryptographiques sur mesure, alors vous faire une qui prendra un hachage (qui est ce qui est réellement signé) et l'envoyer au client pour la signature.

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