多少問題があります。
情報を補完し、外部システムにリクエストを送信できるようにする Web サービスと対話する集中型インターフェイス エンジンがあります。これをこのプロバイダーからの必要なセキュリティと統合する必要があるまでは、これはすべて問題ありません。
彼らは、ソフトウェアがそのシステム (Web サービス) と対話するためにエンド ユーザーが使用する必要があるスマート カード (usb キー) を介して配布される証明書を発行します。彼らは、(場合によっては複数の) 署名がエンドユーザーの USB キーの証明書に対して行われることを主張します。もちろん、秘密鍵はパスワードで保護されています。
最終的にこれらすべてを処理する Axis2 を、エンドユーザーのコンピューターにある証明書に接続するにはどうすればよいですか。
システムはほとんどが Delphi 5 の従来のシック クライアント アプリケーションであり、インターフェイス エンジンは主にデータベースと対話します。これで、単純な TCP ソケットを介してエンド ユーザーのステーションをインターフェイス サーバーに効果的に接続するコードを接続することができました。
----編集----
CXF (Axis から変更) 内のカスタマイズされた署名インターセプターを使用してソリューションを実装しました。このソリューションは、メッセージの内容を署名プロキシに転送し、署名プロキシは、元の要求が発生したユーザー対話型セッションで実行されている適切な署名サービスを見つけて接続します。
Eugene の回答を受け入れました。なぜなら、彼が指定したコンポーネントを使用しなかったにもかかわらず、彼の提案の一般的なガイドラインに従ったソリューションを実装したからです。
USB トークンが原因で、署名がユーザー対話型セッションで行われなければならないという事実を回避することはできません。従来のシステムを使用していたことと、システムを共有環境 (リモート デスクトップ サーバー) で動作させる必要があったため、追加の制約が課せられました。可能性はありますが、Web サービス フレームワークや暗号化ライブラリによって自然にサポートされているわけではありません。