問題タブ [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.
java - wss4j: - エイリアスのキーが見つかりません: monit
client-config.wsdd で (軸 1.4 と wss4j を使用して) WSDoAllSender と WSDoAllReceiver の異なる signaturePropFiles を定義すると、異なる証明書で定義された異なるキー ストアがあり、送信と受信に異なる証明書を使用できます。しかし、同じキーストアで同じ signaturePropFiles を使用すると。メッセージを送信しようとすると、次のメッセージが表示されます。
同じキーストアに wss4j の 2 つの証明書を含めるにはどうすればよいですか? 1 つのキーストアに 2 つの証明書があるのに、そこで証明書が見つからないのはなぜですか。
PWCallback (CallbackHandler) に関する両方の証明書に同じパスワードを使用しています。
私のプロパティファイル:
私の client-config.wsdd:
keytool からのリスト: keytool -keystore monit-key.jks -v -list
spring - Spring + SOAPExceptionImpl:マルチパートメッセージの保存中にエラーが発生しました
さまざまなWebサービスを呼び出して結果をjspページに表示するjspページを備えたSpringWebアプリケーションがあります。Spring Webアプリケーションには、ユーザー名/ログインのSpringセキュリティがアタッチされています。
セキュリティを処理するWebサービスへの呼び出しを追加しています。WebServiceGatewayには、セキュリティインターセプターを追加しました。(下記参照)
wss4jをpomファイルに追加すると、Webサービス側で次のエラーが発生します。
java - 既に生成された SOAP エンベロープのセキュリティ ヘッダーにユーザー名トークンを挿入すると、2 つのヘッダーが生成されます。
WSS4J を使用して、既に形成されている SOAP 要求エンベロープのヘッダーにユーザー名トークンを追加しています。
SOAP リクエストは次のようになります。
これは私のコードです(文字列、リクエストは上記のリクエストです):
これが私の結果です (挿入されたヘッダーが正しく名前空間化されておらず、2 つのヘッダーがあることに注意してください):
私は何を間違っていますか?
java - WSS4J を使用した SOAP メッセージの署名
Websphere 7 で証明書を使用して SOAP メッセージに署名する必要があります。現在、Apache から WSS4J を使用することを検討しており、Java コード自体でこれに取り組んでいます。
Websphere などで SOAP メッセージに署名した経験のある人はいますか?
xml - SOAPHeader に SAML アサーションを挿入する方法
NB-6.8 jdk-1.6.14 WSS4j-1.5.8 ,OpenSAML-2.3.0 WSS4J-1.5.8 を変更して SAML 2.0 を動作させようとしましたが、生成されたアサーションを既存の SOAP ヘッダーに挿入できませんでした。次のようなコードです。 :
エラー: WRONG_DOCUMENT_ERR: ノードは、それを作成したドキュメントとは別のドキュメントで使用されています。
しかし、wss4j では、insertSecurityHeader のような一部の関数もそうします (appendChild またはinserBefore)。それらは機能しますが、なぜ私のコードで間違っているのですか? 私が恋しいもの。
c# - XML名前空間プレフィックスをC#で変換しますか?
JavaサービスクライアントがWCFサービスと正常に通信できるようにするという厄介な問題が発生しました。私は多くのハードルを乗り越えてきましたが、これが私の最後のハードルだと思います。問題は、Java Axis+WSS4Jがxml名前空間をどのように処理するように見えるかに要約されます。Javaプラットフォームは、xml名前空間プレフィックスに期待するものに非常に厳格であるように思われるため、WCF応答メッセージを理解していません。
一言で言えば、私の問題は次のとおりです。WCFサービスから次のようなxml応答があります。
この応答では、SOAPエンベロープの場合は「s」、WS-Addressingの場合は「a」、「WS-Security」の場合は「o」など、ほとんどの場合に単純な1文字の名前空間プレフィックスが使用されます。Javaクライアント、つまりWSS4Jは次のことを期待します。
応答メッセージを受信すると、JavaクライアントとWSS4Jは、WS-Addressingの場合は「wsa」、WS-SecurityExtensionsの場合は「wsse」などの独自の内部xmlエイリアスで要素を検索したいと考えているようです。これらの名前空間はどちらも実際の応答xmlに存在しないため、例外がスローされます。
C#、. NET、およびSystem.Xml名前空間を使用して、xmlドキュメントをある名前空間のセットから別のセットに変換する簡単な方法があるかどうか疑問に思っています。XmlNamespaceManagerを少し調べましたが、必要なものを完全にはサポートしていないようです...または、少なくとも、本当に役立つ例を見つけることができず、どのように機能するか完全にはわかりません。Java Axis / WSS4Jクライアントによって呼び出されたときにサービスのパフォーマンスに大きな影響を与えたくないので、これを手動で処理するための強力なプロセスを作成する必要がないようにしています。
security - クリアテキストのパスワードがWebサービスプロデューサーに保存されていない場合のPasswordDigestの代替手段は何ですか?
シナリオ:
Webサービスプロデューサーは、データベースに保存されているパスワードのSHA-1ハッシュのみを持っています。ユーザー名とパスワードの組み合わせを使用して、Webサービスユーザーを認証する必要があります。
WebサービスセキュリティUsernameTokenプロファイルを使用すると、この目的でsoapヘッダーを追加できます。
この要素は、ユーザー名を提供する方法として、WSS:SOAPメッセージセキュリティドキュメントで紹介されています。
要素内で、要素を指定できます。PasswordTextおよびPasswordDigestタイプのパスワードは、実際のパスワードに限定されませんが、これは一般的なケースです。 (146-151)
PasswordTextパスワードタイプは、パスワードがプレーンテキストとしてネットワーク経由で送信されることを意味します。これは、トランスポートレベルのセキュリティメカニズムを使用していない場合のセキュリティの問題です。PasswordDigestは、プレーンテキストのパスワードの送信を回避し、ハッシュを送信します。ただし、リプレイ攻撃(つまり、攻撃者が盗聴を使用してハッシュされたパスワードをキャプチャし、別のリクエストで再送信する)を回避するために、PasswordDigestは、ハッシュを計算する前にタイムスタンプと乱数をパスワードに追加します。この追加により、次の制限が発生します。
PasswordDigestは、要求者と受信者の両方がプレーンテキストのパスワード(または同等のパスワード)を使用できる場合にのみ使用できることに注意してください。(196-197)
しかし、私たちの場合、プレーンテキストのパスワードはありません。私の質問は、プレーンテキストのパスワードをサーバーで利用できるようにするために、他にどのような代替手段がありますか?
java - 「SignatureConfirmation」要素からトークンを読み取れません..(Java-WCF)
Java Web サービス (Spring-WS、WSS4J) と通信する WCF (3.5) クライアントがあります。サーバーからの応答を受信中にクライアントが失敗し、次の例外メッセージが表示されます。
BinarySecretSecurityTokenの ' http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd ' 名前空間で '' ValueType を持つ 'SignatureConfirmation' 要素からトークンを読み取れません。この要素が有効であると予想される場合は、指定された名前、名前空間、および値の型を持つトークンを消費するようにセキュリティが構成されていることを確認してください。
これが私のクライアント構成です
誰でもこのエラーについて考えがありますか?
ありがとう、
シャメール
java - Web サービスのセキュリティと Windows 証明書
Apache CXF と WSS4J を使用して Web サービス リクエストに署名したいと考えています。私の知る限り、署名に使用する証明書を含む JKS ストアが必要です。Windows 証明書ストアから X.509 証明書を使用できるようにする必要があります。証明書は、Web サービス要求の署名時にストアから読み取られる必要があります。ストアにアクセスして証明書を取得する方法を知っています。しかし、自分の JKS ストアからの証明書の代わりに署名に使用するにはどうすればよいですか?
java - HTTPS を使用する必要がある場合に、Apache CXF が HTTP に戻る
WS-security で HTTPS を想定している PeopleSoft Web サービスに接続するための SOAP クライアントを作成しようとしています。クライアントに Apache CXF を使用しています。これが私がやったことです:
1) http://blogs.sun.com/andreas/entry/no_more_unable_to_findにある Java ユーティリティを使用して、サーバー証明書をトラストストア: 'jssecacerts' に追加しました。[編集者注: 元のページはウェブから削除されました。ただし、その投稿の内容を繰り返していると思われるこのページを見つけました。]
2) 作成したトラストストアを使用するようにスクリプトを編集してシステム プロパティを設定した後、CXF 2.3.1 の WSDL2JAVA ユーティリティを使用して WSDL から Java クライアント クラスを作成しました。
3) 次のようなクライアント コードを作成しました。
そのため、クライアント クラスは HTTPS WSDL URL から作成され、HTTP 参照は含まれていません。私が書いたクライアント コードには、HTTP 参照が含まれていません。コードを実行すると、SSL ハンドシェイクを正しく実行しているように見えますが、例外がスローされます。
確認したところ、JuiCE は休眠中の Apache Incubator プロジェクトです。クラスパスにも完全な CXF ライブラリがあるため、このクラスをロードしようとしている理由がわかりません。それが原因で HTTP に戻っているのではないかと思いますが、わかりません (ちなみに、192.168.1.91 は HR91DMO が解決する IP アドレスです)。
今のところ、Spring 構成ではなく Java 構成を使用したいのは、何が起こっているのかを理解し、例を単純化したいからです。また、構成の一部が実行時にある可能性があり、再コンパイルする必要がないからです。変更があるたびに新しい Spring 構成ファイルを含む WAR。
誰かが私が間違っていることに光を当てることができますか?