問題タブ [wss4j]

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.

0 投票する
4 に答える
75531 参照

java - SOAPFaultException「MustUnderstandヘッダー(oasis-200401-wss-wssecurity-secext-1.0.xsd)が理解されていません」

PasswordTextWSSタイプを使用するWebサービスから情報を取得しようとしています。まず、soapUIを使用してテストし、データを正常に取得しました。次に、Javaに認証を実装し、SecurityHandlerを記述しました。

docオブジェクトをチェックしXMLUtils.PrettyDocumentToString(doc)て、soupUIによって送信されたXMLのように見えることを確認しました。すべての認証情報(ログイン、パスワード、ナンス、作成時刻)が設定されており、タグのmustUnderstand属性Securityがtrueでした。

それから私はエラーに直面しました:

javax.xml.ws.soap.SOAPFaultException:MustUnderstandヘッダー:[{ http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd }セキュリティ]は理解されていない

タグからmustUnderstand属性を削除するためのアドバイスを見つけましSecurityたが、役に立ちません。あなたはなにか考えはありますか?

PS

WebサービスエンドポイントはHTTPS上にあります。

WSDLのポリシー部分:

soapUIリクエスト:

私の要求:

0 投票する
1 に答える
3261 参照

java - WSS4Jを使用した安全なWebサービス呼び出しは「エラーが検出されました。ヘッダ"

WSS4Jを使用して、クライアントからのWebサービス呼び出しにパスワードダイジェストWS-Securityビットを追加しようとしています。AxisのWSDL4Jを使用してWSDLからクライアントクラスを生成し、WSS4Jを使用してWS-Securityの「パスワードダイジェスト」ヘッダーをSOAPメッセージに追加する手順に従いましたが、「ヘッダーの処理中にエラーが検出されました」というエラーメッセージが返されます。デバッグメッセージを追加すると、CallbackHandlerがヒットしているようには見えません。私は何か非常に間違ったことをしていますか?または、WSS4Jのドキュメントで説明されていないセットアップ部分が欠落していますか?

0 投票する
1 に答える
3370 参照

exception-handling - Spring Web Services と Spring Security Exception の処理

Spring セキュリティからの例外を Spring Web サービスの SOAP 障害としてカスケードする解決策を考えようとしています。

Spring Web サービスを使用し、 を使用して認証を行いますSimplePlainTextPasswordValidationCallbackHandler。ただし、Spring セキュリティ内からのすべてのカスタマイズされた例外は、SOAP 応答で「無効な SOAP ヘッダー」として出力されます。これがデフォルトの動作であると考えられています。

この動作をオーバーライドして、カスタマイズした例外を Spring WS にカスケードする方法はありますか?

ありがとう。

0 投票する
2 に答える
4041 参照

java - WSS4J経由でEclipseで生成されたプロキシ(軸1.4)を使用してSOAPリクエストにデジタル署名する方法は?

Web サービスの WSDL が提供されました。私は今、その要求にデジタル署名する必要があります。以前の開発者は、Eclipse 機能を利用してプロキシ クラスを生成していました。WSDL をプロジェクトに追加し、右クリックして [Web サービス]、[クライアントの生成] の順にクリックします。

リクエストにデジタル署名する必要があるまで、これはうまくいきました。掘り下げてみたところ、Axis 1.4 ではリクエストに署名できないようです。WSS4J を使用してそれを行うことができます。私はWSS4j 1.5を自分のプロジェクトに取り入れました。

リクエストにデジタル署名する方法がわかりません。プロキシ クラスを使用する既存のコードは次のとおりです。

私がやりたいことは、この記事に似たものです。彼らが使用した関数は次のとおりです。

Soap Envelope を作成するためのすべてのコードが生成されたプロキシ クラスに隠されている場合、Soap Envelope を署名するにはどうすればよいですか?

0 投票する
1 に答える
1171 参照

java - gzip を使用して、送信前に Web サービスでメッセージを圧縮する方法は?

私はJavaプログラムを知っています。言語ですが、私はJava EEとWebサービス、石鹸などの完全な初心者です。メッセージを送信する前に圧縮し、Apache wss4jで署名を追加する必要があります。Netbeans の Web サイトのチュートリアルに従って、対応するサービスを使用する Web サービスと Web サービス クライアントを作成しました。サンプルコードとプロジェクトを探していますが、関連するコードが見つからなかったり、見つけたものを理解できませんでした。

これらは私が見つけたものです:

しかし、私のプロジェクトでこれらのコードを追加する場所。署名を追加して圧縮する方法は? 前もって感謝します。

0 投票する
1 に答える
731 参照

java - XMLStreamExceptionがプレフィックスにバインドされていません。Staxの実装WebSphere

WAS6.1.0.43でWSS4Jパスワードコールバックを使用してWebサービスをデプロイしようとすると問題が発生します。

XFire1.2.2に基づくWebサービス

Tomcat 7.0.25では問題ありません:

これはSTAXの実装に関連しているようです。IBMはWASで独自のものを使用します。

ヒントがあれば。

スタックトレース :

ありがとう

0 投票する
1 に答える
3494 参照

cxf - wss4j署名ベリファイアの設定方法

私はWSS4Jを使用して、soapメッセージのサインとタイムスタンプを確認しています。しかし、署名されたタイムスタンプのないメッセージを受信すると、wssj4はすべてが正常であると見なし、その状況でエラーが発生することを確認したいと思います。

私の良いメッセージは次のようになります。

そして悪いメッセージ(これは「タイムスタンプが署名されていません」のような例外をスローするはずです):

だから私の悪いメッセージには含まれていません:

現在、私は非常に魅力的なインターセプターを次のように構成しています。

このような動作を実現するためにwss4jを設定するにはどうすればよいですか?ところで:CXFバージョン:2.5.1 WSS4Jバージョン:1.6.2

0 投票する
1 に答える
192 参照

authentication - WSS4j を使用して、usernameToken による Web サービス認証の試行の成功および失敗をサーバーに記録する方法

WSS4j を使用して、usernameToken による Web サービス認証の試みが成功した場合と失敗した場合に、サーバーにログオンするにはどうすればよいですか? 私が理解しているように、ログイン/パスワードの一致の確認はWSS4j内で行われ、認証が成功した場合はWebサービスのメソッドが呼び出され、そうでない場合は単に呼び出されません

0 投票する
2 に答える
7127 参照

jboss - JBoss AS 7 - NoSuchMethodError org.apache.xml.security.transforms.Transform.init()V

私は JBoss 5 -> JBoss 7 から移行しています。https://docs.jboss.org/author/display/AS7/Class+Loading+in+AS7によると、WAR の WEB-INF/lib にパッケージ化されたローカル リソースは展開間の依存関係の前にロードされます。

WEB-INF/lib ディレクトリ内に、Transform.init() メソッドを含む wss4j (バージョン 1.5.7) ライブラリ jar があります。

アプリをデプロイして実行すると、次のエラーが発生します。

ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/].[Resteasy]] (http--127.0.0.1-8080-1) Servlet.service() forサーブレット Resteasy が例外をスローしました: org.jboss.resteasy.spi.UnhandledException: java.lang.NoSuchMethodError: org.apache.xml.security.transforms.Transform.init()V at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException( SynchronousDispatcher.java:340) [resteasy-jaxrs-2.3.2.Final.jar:] org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:214) [resteasy-jaxrs-2.3.2.Final. jar:] org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:190) で [resteasy-jaxrs-2.3.2.Final.jar:] org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher) で.java:540) [resteasy-jaxrs-2.3.2.Final.jar:] org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502) [resteasy-jaxrs-2.3.2.Final.jar:] でorg.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) [resteasy-jaxrs-2.3.2.Final.jar:] org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher) .java:208) [resteasy-jaxrs-2.3.2.Final.jar:] org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55) で [resteasy-jaxrs-2.3.2 .Final.jar:] org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50) で [resteasy-jaxrs-2.3.2.Final.jar:] javax.servlet.http で。 HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13 .Final.jar:] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final] at org.apache.catalina.core. StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:] at org.apache. catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:] org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0. 13.Final.jar:] org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) で [jbossweb-7.0.13.Final.jar:] org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler で.process(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:] org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) で [jbossweb-7.0.13 .Final.jar:] at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_05] 原因:java.lang.NoSuchMethodError: org.apache.xml.security.transforms.Transform.init()V at org.apache.ws.security.WSSConfig.(WSSConfig.java:81) [wss4j-1.5.2.jar:] org.apache.ws.security.WSSConfig.getNewInstance(WSSConfig.java:95) [wss4j-1.5.2.jar:] org.apache.ws.security.WSSConfig.(WSSConfig.java:47) [wss4j- 1.5.2.jar:] org.apache.ws.security.WSSecurityEngine.(WSSecurityEngine.java:51) で [wss4j-1.5.2.jar:] org.apache.ws.security.handler.WSHandler.(WSHandler で) .java:62) [wss4j-1.5.2.jar:] at java.lang.Class.forName0(Native Method) [rt.jar:1.7.0_05] at java.lang.Class.forName(Class.java:264) ) [rt.jar:1.7.0_05] at org.apache.axis.utils.ClassUtils$2.run(ClassUtils.java:177) [axis-1.4.jar:] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_05] at org.apache.axis.utils.ClassUtils.loadClass(ClassUtils.java:160) [axis-1.4.jar:] at org.apache.axis.utils. ClassUtils.forName(ClassUtils.java:100) [axis-1.4.jar:] org.apache.axis.deployment.wsdd.WSDDDeployableItem.getJavaClass(WSDDDeployableItem.java:353) [axis-1.4.jar:] org. apache.axis.deployment.wsdd.WSDDDeployableItem.makeNewInstance(WSDDDeployableItem.java:295) [axis-1.4.jar:] org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274) [axis- 1.4.jar:] org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260) で [axis-1.4.jar:] org.apache.axis.deployment.wsdd.WSDDChain.makeNewInstance(WSDDChain) で.java:125) [axis-1.4.jar:] org.apache.axis.deployment.wsdd.WSDDDeployableItem.getNewInstance(WSDDDeployableItem.java:274) [axis-1.4.jar:] org.apache.axis.deployment.wsdd.WSDDDeployableItem.getInstance(WSDDDeployableItem.java:260) で [axis- 1.4.jar:] org.apache.axis.deployment.wsdd.WSDDDeployment.getGlobalRequest(WSDDDeployment.java:473) で [axis-1.4.jar:] org.apache.axis.configuration.FileProvider.getGlobalRequest(FileProvider.java で) :269) [軸-1.4.jar:] org.apache.axis.AxisEngine.getGlobalRequest(AxisEngine.java:365) で [軸-1.4.jar:] org.apache.axis.client.AxisClient.invoke(AxisClient で) .java:126) [axis-1.4.jar:] at org.apache.axis.client.Call.invokeEngine(Call.java:2784) [axis-1.4.jar:] at org.apache.axis.client.Call .invoke(Call.java:2767) [axis-1.4.jar:] org.apache.axis.client.Call.invoke(Call.java:2443) [axis-1.4.jar:] at org.apache.axis.client.Call.invoke(Call.java:2366) [axis-1.4.jar:] at org.apache. axis.client.Call.invoke(Call.java:1812) [axis-1.4.jar:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_05] at sun.reflect.NativeMethodAccessorImpl. invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_05]、sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_05]、java.lang.reflect.Method で。呼び出し (Method.java:601) [rt.jar:1.7.0_05] at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:155) [resteasy-jaxrs-2.3.2.Final.jar:] org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257) [resteasy-jaxrs-2.3.2.Final.jar:] at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) [resteasy-jaxrs-2.3.2.Final.jar:] at org.jboss.resteasy.core.ResourceMethod.invoke (ResourceMethod.java:211) [resteasy-jaxrs-2.3.2.Final.jar:] org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525) [resteasy-jaxrs-2.3.2.Final .jar:] ... 19 件以上

0 投票する
1 に答える
1775 参照

soap - WSS4J が SOAP メッセージを解析しない

次のようなコードがあります。

WSS4j エンジンに渡されるファイルからの SOAP メッセージは次のとおりです。

私の意見では、これは WS-Security UsernameToken メッセージに完全に準拠しています!

ただし、engine.processSecurityHeader() はセキュリティ結果を返しません。結果変数は null のままで、次の行で NPE が発生します。スタック トレースは次のとおりです。

誰が私が間違っているのか知っていますか?

ありがとうフランク