問題タブ [rampart]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - .NET からの Java WS の呼び出し - Java の方法では Apache Rampart、.NET と同等のものを使用
私たちが統合しているベンダーは、いくつかの Web サービス機能を提供しています...彼らはそれを Java で開発し、それらの Web サービスの消費を示す (Java での) サンプル クライアント プロジェクトも提供してくれました。実際には、.NET を使用して Web サービスの消費/インターフェイスを実装したいと考えていますが、セキュリティがどのように機能するかを理解できません。
Java クライアントの例では、「Apache Rampart」と呼ばれるものを使用しているようです。次のようなコードが含まれています。
これと同等のことを行うために、.NET の世界で私が探しているものを誰かが助けてくれますか? 現在、私の .NET プロジェクトでは.. WSDL を問題なく使用でき、プロキシ オブジェクトを完全に問題なく生成できますが、関数を実行または呼び出しようとすると、「SOAP ヘッダーがありません」と表示され、セキュリティだと思います-関連している。
また、policy.xml ファイルも提供してくれます。私は初心者の .NET プログラマーであり、WS 関連のプログラミングを処理するために VStudio が生成するプロキシに通常依存しているため、その policy.xml ファイルをどのように処理すればよいか、またはそれらが行うことと同等のことを行うべきかわかりません。 .NET の世界の上記のコードで。
xml - Axis2 と Rampart で SOAP メッセージを送信しようとすると、「リクエストに wsse:Security ヘッダーがありません」と表示される
この問題をずっと見てきたような気がします。
背景: セキュリティで保護されたサード パーティの Web サービスを呼び出す必要があります。本文とヘッダー ブロックは両方とも、クライアント証明書で署名する必要があります。Rampart を無効にし、tcpmon を使用して発信エンベロープをキャプチャすると、メッセージを送信するように SOAPUI を構成できます (証明書を使用して前述の重要な部分に署名するように SOAPUI を構成することにより)。これは、メッセージが問題ではないことを示しています。
Rampart を有効にして送信メッセージをキャプチャすると、正しいように見えます (2 つの要素が署名され、セキュリティ要素がすべて配置されています)。
Rampart でサービスを呼び出そうとすると、次のスタックが表示されます。
そして、これが私が使用しているpolicy.xmlファイルです:
私が知りたいのは、ランパートが私に何を伝えようとしているのかということです。存在しないと思われるコンポーネントがそこにあることは知っています。
web-services - SOAPヘッダー欠落エラー-助けてください!
ここで説明されている署名と暗号化の例を実行しようとしていますhttps://www.ibm.com/developerworks/java/library/j-jws5/。クライアントの実行中に次のエラーが発生します。助けてください。
どうもありがとう、
クライアントログ
run:java http:// localhost:8080 / axis2 / services / library-signencr java 16:32:59,188に接続していますエラーAxisEngine:211-SOAPヘッダーにjava org.apache.axis2.AxisFaultがありません:SOAPヘッダーにorgのjavaがありません。 apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:180)java at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:99)
Tomcatログ
エラーorg/opensaml / xml / validation / ValidatingXMLObject java.lang.NoClassDefFoundError:org / opensaml / xml / validation / ValidatingXMLObject
どうもありがとう。
.net - Axis2/Rampart と WCF
Axis2/Rampart を使用してクライアントをセットアップし、クライアントがホストする WCF .net サービスへの WS-Security 呼び出しを作成しようとしています。
クライアントが次のエラーを受け取ります: 「トランスポート セキュリティ経由で受信したメッセージには署名されていない 'To' ヘッダーがあります。」
何が問題なのか誰にも考えがありますか?
java - Axis2 JAX-WS サービス (プロバイダー側) で WS-Security (Rampart) を有効にする方法は?
Axis2 で JAX-WS サービスをデプロイするときに、セキュリティ ポリシー アサーションを指定することはできますか? これまでのところ、ポリシーをグローバルに (つまり、axis2.xml で) 構成する方法が 1 つしか見つかりませんでした。しかし、JAXWS JAR 内で実行できますか?
java - axis2 + rampart:ヘッダーセキュリティのチェックに失敗したことを理解する必要があります
サーバー内部エラーの場合のaxis2+rampartWS-Security応答に問題があります。サーバーが「200OK」を返すと、すべて問題ないようです。応答は、適切なタイムスタンプ、署名があり、関数応答XMLを復号化するかどうかをrampartによってチェックされます。しかし、サーバーが「500 Internal Server Error」を返すと、axis2/rapartは例外をスローします。
答えに何か問題があると思い、soapUIでテストしました。保護された形式と復号化された形式の両方で同様の応答があります。これらの応答は、HTTPステータス、エラーを示すXML応答コード、およびSOAPタグの大文字と小文字のみが異なります。良い反応の場合は
エラーの場合:
を含む構造の残りの部分はmustUnderstand="1"
同じです。
axis2.xml
私は構成し、順序と同じになるように構成InFlow
しInFaultFlow
ました:
クライアントのトレースを有効にしました。応答が良ければ、次のように表示されます。
エラーの場合、そのようなトレースはありません。
SecurityInHandler
呼び出しはありません。
「200OK」ステータスの場合やsoapUIの場合と同じように、復号化されたメッセージを表示したいのですが。私の構成の何が問題になっていますか?
編集
「500内部サーバーエラー」の場合にのみ、このようなエラーが発生することを確認しました。サーバーが「200OK」と同じ暗号化されたコンテンツで応答した場合、axis2はそれを復号化できます!
java - Rampart を POM の依存関係に追加するときの IllegalAccessError
Rampart
モジュールの POM ファイルに追加しようとしましたが、追加した後ear
、次の例外で開始できなくなりました。
org.apache.log4j.Logger
log4j
と の 2 つの jarで定義されていますlog4j-over-slf4j
。にはlog4j
- コンストラクターがあります。
コンストラクタlog4j-over-slf4j
があります:
何らかの理由でRampart
不適切なクラスパスの順序がトリガーされ、 のlog4j-over-slf4j
前に配置されたようlog4j
です。
ただし、最も厄介な問題は、 のマニフェストを変更して順序を変更できなかったことです。そのため、最終的にjar をシステム クラスパスear
に追加することで「解決」しました。log4j
私の質問には2つの部分があります:
- 問題は
Rampart
よく知られており、解決策はありますか? - ear のマニフェストを変更してもクラスパスに影響しない理由は何でしょうか? (私はアプリケーションサーバーの経験があまりないので、明白な答えは大歓迎です)
Weblogic 10.3
、およびを使用していRampart 1.5.1
ます。Maven
ファイルのコンパイルとビルドにを使用しています。ear
今日、あるファイルについて知ったmar
ので、それに関する情報も歓迎します。
web-services - Axis2Rampartクライアントの作成で問題が発生しました
認証にRampartを使用するAxis2を使用してWebサービスを作成しています。Rampartのすべてのサンプルで、クライアントにはAxis2のクライアント側リポジトリが必要です。Rampartは、次のようにクライアントで開始されます。
メソッドcreateConfigurationContextFromFileSystemには、rampart.marファイルを持つクライアント上のAxis2リポジトリへのパスが必要です。相対パスではなく、完全な絶対パスが必要なようです。
ただし、Java Web Startを使用してクライアントをデプロイしているため、クライアントを実行する必要がある可能性のあるすべてのマシンにAxis2リポジトリを配置することはできません。Webブラウザーの任意のマシンから動作する必要があるため、クライアントがすべてjarに含まれている必要があります。クライアントアプリのjarファイルからrampart.marファイルをロードする方法はありますか?
もう1つの可能性は、ConfigurationContextFactory.createConfigurationContextFromURIsメソッドを使用することですが、これには、サーバー上にaxis2+rampartのオンラインリポジトリを作成する必要があります。誰かがこれのための良いガイドを知っていますか?私はまだすべてを瓶に詰めたいと思っています。
maven - 城壁モジュールで log4j.properties を除外する
セキュリティのためにrampart-coreに依存するaxis2を使用しているmavenプロジェクトがあります。Rampart には、ログが表示されないようにするデフォルトの log4j.properties ファイルがあります。そのファイルを依存関係から除外したいと思います。依存関係を維持しながら、ファイルを依存関係から除外するにはどうすればよいですか?
web-services - WSS、x.509 での Rampart の問題を伴う Axis
ヘッダーで x.509 を受信して認証するサービスがあります。クライアントがメッセージのリクエストを送信したら、次のようなランパートでヘッダー認証を取得したい
、しかし、私はこのエラーが発生します
何か考えはありますか?