問題タブ [ws-security]
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 - Web サービスを使用するクライアント アプリケーションでの証明書の使用
Web サービスを使用する VB.NET デスクトップ アプリケーションを実装しています。
Web サービスは Java で実装されており、現在、ローカルホストで Tomcat を使用して Web サービスをホストしています。
Web サービスはクライアントとの安全な通信を必要とするため、Java の keytool.exe を使用して 2 つの .jks キーストア (クライアント用とサーバー用) を作成し、2 つの .cer 証明書 (1 つ) を作成する方法を概説した手順に従いました。クライアント用とサーバー用)
キーストアと証明書の生成を、Web サービスが期待するディレクトリに配置しました (指示に従って)
証明書を TrustedPeople にインストールし、次のように ClientCredentials.ClientCertificates プロパティを設定して証明書を使用しようとしました。
メソッドを呼び出そうとすると、次のエラー メッセージが表示され続けます。
<wsse:Security> ヘッダーの処理中にエラーが検出されました
私の問題は、Web サービスを使用している VB.NET クライアント アプリケーションでこれを使用する方法がわからないことです。私はこれを完全に間違っている可能性があります。このトピックに関するガイダンスをいただければ幸いです。
ありがとうございました、
-フリニー
jakarta-ee - Rational / WebSphereツールで、関連するポリシーセットとバインディングを使用してJAX-WSサービスクライアントにログインクレジットを渡すにはどうすればよいですか。
特にWebSphereIntegrationDeveloper V7を使用していますが、Rational Software Architect V 7.5.1を使用することもできます(両方を使用しているため)。
コンテキスト: JAX-WSを介して公開されるWebSphere ProcessServerV7のHumanTaskManagerおよびBusinessFlowManagerサービスを呼び出すためのJAX-WSクライアントを作成しようとしています。デフォルトでは、ポリシーセットと、いくつかのWS-Security設定を指定するプロバイダーバインディングが添付されています(これらはWSDLで定義されていないため)。
動的Webプロジェクトを使用してそれを機能させる方法を理解しました。WSDLからJAX-WSクライアントコードを生成することができました。ポリシーセットとプロバイダーおよびクライアントバインディングをProcessServerからエクスポートし、それらをワークスペースにインポートすることができました。ポリシーセットとクライアントバインディングをクライアントサービスに添付することができました。Webサービスを呼び出すための(クライアントをテストするための)ページとサーブレットを設定することができました。そして、デプロイメント記述子とWebsphereバインディング/拡張ファイルでセキュリティ設定をセットアップして、それを機能させることができました。
これはすべて素晴らしいことですが、実際には、Webサービスクライアントを私たちが作成している他のアプリケーションに公開するためだけに戦争に耳を傾けることは望んでいません。Webサービスクライアントjarを生成し、他のアプリケーションと一緒にパッケージ化します。
この考え方を踏まえて、IDEで通常のJavaプロジェクトを使用し、それにWebサービスクライアントを生成する方法を理解することができました。ポリシーセットとクライアントバインディングをクライアントに添付することもできました。
私の問題は、これをどのように呼び出すかです。クライアントをテストするために、以前と同じようにページとサーブレットを使用して動的Webプロジェクトを作成しました。クライアントプロジェクトをWebライブラリの依存関係として設定して、クライアントコードにアクセスできるようにしました。以前と同じようにデプロイメント記述子を設定して、ログインと認証を強制することもできます。現在の唯一の問題は、Webサービスが独自の「jar」にあるため、Webサービスに資格情報を渡す方法がわからないことです。TokenGeneratorとCallbackHandlerを設定するためのメニューにアクセスする前。クライアントが動的Webプロジェクトに含まれていないため、これらのメニューにアクセスできません。これで「切断」が発生し、サーバーで実行しようとするともちろん失敗します。
これを行う方法が必要です。クライアントjarを生成し、必要なものを渡すことができるはずです。誰かが以前にこれに遭遇しましたか?
wcf - WS-Securityを使用するWCFサービスには、署名付きタイムスタンプのみが必要です
署名されたタイムスタンプを使用してsoapメッセージを送信するサードパーティにサービスを提供する必要があります。
これをサポートするようにサービスを構成するにはどうすればよいですか?
更新 私は私たちが求めているSoapメッセージの形式に近づくことができましたが、WCFはユーザー名とタイムスタンプトークンの両方に署名することを主張しています。タイムスタンプのみに署名するようにバインディングを変更する方法はありますか?
さらなる更新 ここに私たちの要件があります:
- タイムスタンプ要素は署名する必要があります。
- 署名に使用される証明書のCN名は、UsernameToken要素で指定されたユーザー名と一致する必要があります。
- 署名に使用される証明書は、BinarySecurityToken要素で送信する必要があります。
- KeyInfo要素には、BinarySecurityTokenを参照するために使用する必要があるSecurityTokenReference要素のみが含まれている必要があります。
- 正規化アルゴリズムを指定する必要があります。
- SignatureMethodを指定する必要があり、SHA-1またはSHA-2アルゴリズムである必要があります。
- 分離された署名を使用する必要があります。
助言がありますか?
現在の構成
クライアントバインディング
クライアントエンドポイント
クライアントの行動
サービスバインディング
Sericeエンドポイント
サービスの動作
coldfusion - WSセキュリティColdfusion
DocuSignとColdfusionの統合に取り組んでおり、WSセキュリティを使用してSOAPリクエストを作成するための支援が必要です。
eclipse - モジュールの城壁を使用できず、セキュリティの詳細を送信しません
安全なWebサービスを呼び出すクライアントを作成するためにWTPプラグインでEclipseを使用しています。
Webサービスクライアントウィザードを使用してクライアントを生成しましたが、ユーザー名トークンで保護されたサービスを呼び出すように、eclipseプロジェクトでapacherampartを構成したいと思います。
エラーは「モジュール城壁を使用できません」です。 - - - - アップデート - -
エンゲージできないモジュールの城壁を修正した後、次のようになります。
_-----------------------------------更新終了------------ -------
前もって感謝します
c# - WS-Addressing と WS-Security を使用してゼロから SOAP ヘッダーを作成する
Windows サービスから HTTP エンドポイント (SOAP エンベロープ全体を受け入れる通常の aspx ページ) に SOAP メッセージを送信しています。全体的な操作は非同期であり、実際の応答は後で返されます。セットアップの性質 (メッセージを受信する aspx ページ) は、自分のプロジェクトでサービス参照を持つことができないことを意味します。
SOAP ヘッダーには、WS-Addressing と WS-Security を含める必要があります。私がしなければならないことは、基本的には SOAP エンベロープを作成することですが、具体的には SOAP ヘッダーを最初から作成し、それを送信する前に SOAP エンベロープを作成することです。
その金曜日の午後、私は動揺しており、これをうまく進めるのに苦労しています。.net3.5/C# を使用して、アドレッシングとセキュリティを備えた SOAP ヘッダーをゼロから作成するにはどうすればよいですか?
php - PHP の WS-Security でセキュリティ トークン交換を実装する
.NET で開発された Web サービスと通信しようとしており、PHP でクライアントを作成しています。現在の頭痛の種の 1 つは、SignatureValue と SignedInfo の生成です。
サーバーにエントロピーが送信され、サーバーからエントロピーが受信されました... サーバーに送信されました:
サーバーから受信:
私が読んだことから、PSHA1 を使用して共有キーを生成し、conocalized SignedInfo で HMAC_SHA1 を実行して署名付きの値を生成するとします。nXJEN8p1nupMA/00TK03VZlADkU=
これら 2 つのエントロピーを使用すると、期待値は
psha1_derive への私のパラメーターはpsha1_derive($entropySentByMe (as $secret), 'WS-SecureConversationWS-SecureConversation', $entropyReturnedByServer (as $seed), '' (as timestamp), and length is 32 (256 bits));
PSHA1 を使用して共有鍵を取得する方法、または署名値を生成する方法について詳しい情報をお持ちの方がいらっしゃいましたら、お知らせください。
.net - 汎用認証フレームワークの最適なアプローチ
ユーザーを認証するために異なる認証方法を使用する複数のアプリケーションがあります。ほとんどのアプリケーションは WPF で開発されていますが、ASP.NET や Silverlight で開発されているアプリケーションはほとんどありません。
私たちの最終的な目標は、すでに開発したすべてのアプリケーションと今後開発するアプリケーションが共通の認証フレームワークを使用してユーザーを認証し、このフレームワークが認証のステータスを返すことです。
これに最適なアプローチは何ですか?そのようなシステムを開発することは可能ですか?過去にやった人いますか?
提案/質問/批評家は大歓迎です。
ありがとう
php - PHP SOAP 拡張機能を使用して WS-Security で SSL Web サービスに接続できない - 証明書、複雑な WSDL
PHP5 SOAP 拡張機能を使用して、クライアント証明書と WS-Security を使用して https エンドポイントを持つ Web サービスに接続できませんでしたが、soapUI を使用してまったく同じ wsdl とクライアント証明書で接続し、通常の応答を取得できます。リクエスト。HTTP 認証はなく、プロキシも関与しません。「ホストに接続できませんでした」というメッセージが表示されます。ホストサーバーにアクセスしていないことを確認できました。(以前、サーバーにアクセスしていると間違って言いました。)
自己署名クライアント SSL 証明書は、openssl によって .p12 キーストアから変換された .pem ファイルです。このファイルは、秘密鍵とクライアント証明書で構成される単一のエントリを持つ .jks キーストアから keytool によって変換されました。
soapUI では、サーバーのプライベート証明書を提供する必要はありませんでした。提供したファイルは wdsl と pem の 2 つだけでした。接続できるようにするには、pem とそのパスフレーズを指定する必要がありました。エラー メッセージにもかかわらず、私の問題は実際には SSL 接続自体ではなく、XML 要求の形成にあるのではないかと推測しています。
与えられた wsdl には、複合型がネストされています。PHP サーバーは、IIS を搭載した Windows XP ラップトップ上にあります。
コード、データ値、および WSDL の抜粋を以下に示します。(WSSoapClient クラスは単に SoapClient を拡張し、mustUnderstand = true で WS-Security Username Token ヘッダーを追加し、nonce を含めます。どちらも soapUI 呼び出しで必要でした。)
どんな助けにも感謝します。私はどん底に突き落とされた初心者ですが、なんと!多くの提案に従って、これについて何日にもわたって大量のグーグル検索を行い、Kevin McArthur による Pro PHP を読みました。ネストされた配列の代わりにクラスマップを使用する試みも失敗しました。
コード
$接続は次のとおりです。
$clientArguments は次のとおりです。
$操作は次のとおりです。
$request は次のとおりです。
それ自体が配列であるリクエストをラップする配列という、追加レベルのネストがあることに注意してください。理由はわかりませんが、これは投稿で提案されましたが、他の例外を回避するのに役立つようです。
___soapCall によってスローされる例外は次のとおりです。
いくつかの WSDL の抜粋 (TIBCO BusinessWorks) を次に示します。
そして、関連する場合に備えて、WSSoapClient クラスは次のとおりです。
アップデート:
要求 XML は次のようになります。
これは、WSSoapClient の次のコードで取得されました。
wcf - Java JAX-WS サービスと WCF クライアント
JAX-WS を使用して WebService を作成し、そのようなバインディングを使用して WCF クライアントによって消費されることは可能ですか?
今のところ、WSIT を使用せずに単純なサービスを作成し、着信 SOAP メッセージの "Security" ヘッダーを無視したいと考えていました。しかし、それは失敗します:
「権限 'xxxxxxxxxx' で SSL/TLS の安全なチャネルを確立できませんでした。」
私が変更した場合:
に:
すべてが問題なく動作します。私が間違っていることは何ですか?