問題タブ [usernametoken]
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.
cxf - CXFのWS-security(usernametoken)-暗号化されたパスワードは可能ですか?
私はCXFのWS-security実装(usernametoken)と一緒にしようとしています。http://cxf.apache.org/docs/ws-security.htmlで述べられているようにすべてを実行しました。PasswordCallbackHandlerは機能しているようですが、気になるのはその一部です。
言われるように
CXF 2.3.xまでの場合、プレーンテキストパスワード(またはその他のまだ不明なパスワードタイプ)の特殊なケースのパスワード検証がコールバッククラスに委任されることに注意してください。org.apache.ws.securityを参照してください。 WSS4Jプロジェクトのprocessor.UsernameTokenProcessor#handleUsernameToken()メソッドjavadoc。その場合、ServerPasswordCallbackは次のようになります。
したがって、cxf 2.3.xまでは、そのように実行されていました。
私の問題は、pc.setPassword( "plainTextPassword")を任意のリソースに保存したいので、したくないということです。この2.3.xまでの設計では、手動で暗号化できるため、これを実行できます。コールバックで暗号化されたパスワードを設定したり、保存された暗号化されたパスワードに対してユーザー名トークン認証を行う方法はありますか?
私はcxf2.5.xを使用しています
wcf - UserNamePasswordValidator が SOAP ヘッダーからユーザー名パスワードを読み取る方法は?
ユーザー認証にカスタム UserNamePasswordValidator を使用しています。以下はコードであり、うまく機能します。
このメソッドが SOAP ヘッダーの UserNameToken からユーザー名とパスワードを取得する方法を理解したいと思います。
wcf - WCF 4 Web サービスの UsernameToken と SSL - ただし、basicHttpBinding を使用
数か月前、WCF 4 Web サービスの UsernameToken と SSLについて質問したところ、wsHttpBinding を使用して適切な回答が得られました。
ただし、Java クライアントとの互換性がないため、basicHttpBinding の使用に戻す必要がありました。次のように構成を切り替えてみました....
そして、サービスでこの設定を使用して...
ただし、このサービスを呼び出そうとすると、エラーが返されます...
指定された URI スキーム「https」は無効です。「http」が必要です。パラメータ名:経由
これをbasicHttpBindingで機能させるために構成する必要があるものは他にありますか?
(注:私の元の要件はまだ同じです-SSL、ユーザー名トークン)
java - JibX WS から SOAP ヘッダーにアクセスする
opentravel.org OTA XML 要求を受け入れ、それに応じて応答する tomcat Web サービスがあります。これは、JibX OTA クラスを使用します。
これまでのところ、サービスのユーザーは POX を使用しており、非常にうまく機能しますが、新しいユーザーは SOAP を使用して、このように SOAP ヘッダーにセキュリティ資格情報を追加したいと考えています (POS xml フラグメントを配置する代わりに)...
したがって、リクエストを認証するには、サービス実装クラス内からヘッダーにアクセスする必要があると思います。
SOAPヘッダーの例をチェックアウトしました。これは、inContextも含めることでヘッダーにアクセスできることを示していると思います。
したがって、このメソッド内でこれを行うことができます...
その中のユーザー名トークンにアクセスできます
...サービスでこれを指定すると...
私はそれを正しく理解していますか?
そのため、Security クラスを作成しましたが、ヘッダー内の何かにアクセスできることを証明するために、すべての名前空間を省略して開始しました。このようなフラグメントを持つことに基づいて...
だから私はbindgenでバインディングを作成し、コンパイルしてからsoapUIで呼び出しました
しかし、コンテキストから Security オブジェクトを取得しようとすると、null になります。
スティックの端が間違っていますか?
もっと SOAPY を使用して、別のエンドポイントを持つ別のサービスを作成する必要がありますか?
私がやろうとしていることは、JibX WS と inHandler では不可能ですか?
どんなコメントでも大歓迎です。
私の質問に答えてくれてありがとう。
私はあなたが追加したものを調べようとしています。あなたのカスタマイズと xsd を使用して、Java ソースと binding.xml を作成しました。
クラスをコンパイルしてバインドしようとしていますが、次のエラーが発生します。
bindgen のカスタマイズを調べて、この問題に対応する唯一の手がかりになるかどうかを確認します。これをどのように回避したか教えていただけますか?
再度、感謝します。
android - ユーザー名トークンを使用した WCF wshttpbinding の Android クライアント
WCF WS-Security 用の Android 3.0 クライアントをデプロイしようとしています。WCF WS は、ユーザー名トークンをセキュリティ アクセスとして実装します。私は KSOAP2 を使用しており、asmx サービスにアクセスするのに問題はありませんが、WCF WS を呼び出そうとすると、アプリケーションは次の例外をスローします。
javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: 証明書パスのトラスト アンカーが見つかりません。
これは証明書資格情報のように見えますが、プロジェクトが使用するキーストアにサーバー資格情報を追加しました。
これは私のクライアントのコードです:
2 番目の質問です。
ユーザー名トークンとパスワードをサーバーに送信する方法がわかりません。自分でヘッダーを追加するための SOAP エンベロープを作成する必要がありますか?それとも、ユーザー名の値を指定して特定のオブジェクトに渡す .net のようなメソッドが存在しますか?
java - Java での ws-security UsernameToken のパスワード ダイジェストの実装
残念ながら、これをネイティブでサポートしていないサーバーから ws-security で保護された Web サービスを呼び出そうとしています。私が採用したアプローチは、ws-security 要素を含む要素を追加するプロセスで、実際のエンド ポイント URL へのリバース プロキシとして機能する .jsp を実装することです。
これは非常にうまく機能しているようで、正しい名前空間などを使用して XML を正しく構築したと確信しています。XML と SOAP-UI によって生成された XML を比較して、これを確認しました。
問題は、パスワード ダイジェスト ジェネレーターの実装にあります。NOnce、xsd:dateTime、パスワード、および次のコードに同じ入力を使用して SOAP-UI が行うことと同じ結果が得られません。
問題は、 http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0.pdfで説明されているように、最初の 2 つの要素のハッシュを実装することにあると思います
ナンスは、デコードされた値のオクテット シーケンスを使用してハッシュされますが、タイムスタンプは、要素の内容で指定された UTF8 エンコーディングのオクテット シーケンスを使用してハッシュされることに注意してください。
誰かがこの問題を解決するのを手伝ってくれたら、それは素晴らしいことです。なぜなら、それは私を狂わせ始めているからです! ソースコードを提供していただけると理想的です。
php - WS02 / WSF PHP2.1.0UsernameTokenの問題
usernameTokenを使用してパートナーWSに電話をかけようとしています。私はphp5.2.xの下でそのws02wsf_2.0.0に使用し、それは揺れ動きます。ここで、php5.3に基づく別のソリューションに移行したいと考えています。幸い、ws02はphp5.3と互換性のある2.1.0タグを提供します。この新しいリリースの新機能とドキュメント、特にusernameTokenについて読むのに時間をかけます。このリリースでは、証明書と秘密鍵を介したusernameTokenに関する署名が使用されていることを理解しました。AsymetricTransportBindingポリシーのb/cだと思います。私の場合、証明書などで署名したくありませんでした。また、ws02は、署名を回避するために、別のxmlファイルで一種のフォールバックを提供することも読みました。
多くの投稿を読んだ後、フォーラム私はコミュニティからの助けが必要ですb/c私は完全に立ち往生しています。
php5.3でWSをリクエストするために使用されるコードは次のとおりです-wsf2.1.0(HTTPを使用)
このステップで:
- デバッグトレースをアクティブにしました(ログレベル4)
私の「to」がwsdl定義に従ってhttpを使用していることを確認します
wsdl:port name = "CalculationServiceHttpPort" binding = "tns:CalculationServiceHttpBinding" wsdlsoap:address location = "http://www.xxxx.xx/comparatorservices/CalculationService" / wsdl:port
今、デバッグログから私はこれをキャッチします:
したがって、私の最初のアイデアは、トラフィック、特に動作中の(wsf_2.0.0 / php5.2.x)と壊れた(wsf_2.1.0 / php5.3)の間のSOAPヘッダーをスニッフィングすることでした。
これが2.0.0(動作中)です
そして2.1.0(動作していない/壊れている)
ご覧のとおり、唯一の違いはwsse:Security名前空間にあります。(xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/がありません)
そしてそれがすべてです...
デバッグログに従って91行目のrampart_in_handler.cを検査すると、次のようになります。
意味ええ....soap_headerはfalseです..しかし、なぜですか?何が悪いのかを説明するための賢い人はいますか?
注1:動作中(2.0.0)からパートナーWSに送信されたポリシーを調べました。AsymetricBindingが使用されているようです...2.0.0で証明書またはキーを提供しなかった限り奇妙です。
注2:従来のWSPolicyオブジェクト配列パラメーターで署名付きユーザー名トークンを使用しようとしました-x509証明書とプライベートキーを作成し、関数を使用してこれらのファイルをロードし、配列パラメーターを使用してWSSecurityコンストラクターにロードしました...しかし私は同じエラーを受け取ります/スニッフィングは苦痛ですb/cデータが暗号化されているかそのようなものです(このように正常であるように見えます)
注3:現在、apt-getからコンパイル済みのphpパッケージを使用してUbuntu10.04-3LTSでテストされています
PLZヘルプ!
java - ASP.Netでusernametokenとクライアント証明書を持つJavaweblogicWebサービスを使用します
Java Webロジックサーバーで開発されたWebサービスを利用する必要があり、usernametokenとクライアント証明書を使用してサービスを呼び出します。そして私は以下のようにウェブサービスを呼び出すためのJavaコードを手に入れました
また、.pfx形式のクライアント証明書と.keyファイル。したがって、WSE3.0を使用して、以下のようなサービスを利用しようとします
しかし、私には例外があります。
php - これを生成する PHP コード
wsdl ファイルから結果を取得しようとしていますが、認証が必要であり、ユーザー名とパスワードを通常どおり渡すとエラーが発生します。
ヘッダーは次のようになります。
ruby-on-rails - Rails の Devise で電子メールの代わりにユーザー名のログインを追加する Javascript の問題
Devise の電子メールの代わりに (実際には電子メールに加えて)ユーザー名ログインを追加するための指示に従いました。問題は、実際にサインインするときに、電子メール以外のアドレスが入力されたときにログイン フィールドを赤くする Javascript メカニズムがあることです。次に、サインイン ボタンをクリックすると、サインインを防止する Javascript があり、「メール アドレスを入力してください」という黒い吹き出しが表示されます。
私は何か間違ったことをしましたか?それらのDeviseの指示は古くなっていますか? ユーザーがメール アドレスの代わりにユーザー名を入力してログインできるようにするにはどうすればよいですか? 最新の Devise と Rails (v3.2.8) を使用しています。