Web サービス (サーバー側) に暗号化 (および署名) を使用する必要があります。私は axis2 を使用し、(WS-Security 実装用に) ランパート モジュールを正常に追加しました。しかし、城壁ページ ( http://ws.apache.org/axis2/modules/rampart/1_2/security-module.html ) には例がなく、サンプル ファイルは実際には文書化されていません。だから私の質問は: 暗号化 (および署名) を追加する最も簡単な方法は何ですか? services.xml には何を入れる必要がありますか? policy.xml を作成する必要がありますか? (WSDL に加えて) クライアントの開発者に何を提供する必要がありますか? 良いチュートリアルを教えていただければ助かります、ありがとうございます...
3 に答える
単純にSSL(https)を使用することはできますか?それは確かに物事を簡素化します。
Vinze - ランパートでもこの問題に遭遇しましたが、Web サービスを公開しようとはしていませんでした。(この質問を参照してください)。
私はすべての Web サービスのセキュリティ関係が混乱していることに気付きました。城壁の文書化が不十分であることは役に立ちません (あなたが言及したように、良いチュートリアルはありません)。
ランパートを使用する代わりに、WSS4J API への書き込みに成功する場合があります。(ところで、城壁は WSS4J の上に構築されていると思います)。
クライアントの開発者に何を提供するかについては、ポリシー情報を個別の policy.xml ではなく wsdl に入れると、開発者にとって最も簡単な場合があります。しかし、おそらく、あなたのサービスがどのように保護されているかについての文書を彼/彼女に提供することを計画して、彼/彼女がそれを呼び出す方法を知っているようにする必要があります.
私はこの本で多くの答えを見つけました: http://agileskills2.org/DWSAA/index.html (第 9 章) だから、私が終わっていなくても、私は自分の質問に答えようとします:
- ポリシーが WSDL にある場合でも、現在の Axis 2 バージョン (1.4) はそれを確認しないため、services.xml にポリシーとランパート構成を追加する必要があります。
- クライアント用の Rampart-config.xml を記述し、スタブ コンストラクターの引数として使用される ConfigurationContext でモジュールを「使用」する必要があります。
- キーストア (JKS など) と証明書の両方が必要です。
たぶんもっと、成功したらこの回答を編集します...