問題タブ [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.
wcf - SSL が IIS ファーム (WCF) の前のプロキシにある場合にフォーム認証を使用する方法は?
これが私のシナリオです:
実際に SSL 証明書がインストールされているプロキシがあり、これは負荷分散された Web ファームの前にあります。各 IIS サーバーには SSL がないため、wsHttp バインディングを介してトランスポート セキュリティを使用できません。このソリューションで今後SOAP 1.2を提供したいので、basicHttpについては調査していません。これに加えて、私のネットワーク チームは、証明書を使用してメッセージ レベルで暗号化することを許可しません。(これだけで私のジレンマは解決すると思います)
私のセキュリティ グループには、フォーム認証 (メンバーシップ プロバイダー) を使用するという要件があります。
最終的な解決策では、フロント プロキシ経由で SSL を許可する必要がありますが、構成ファイルに複雑さをカプセル化するために、ある種の WCF バインディングを使用する必要があります。
ユーザー名/パスワードをクリア テキストで送信できるようにするカスタム バインディングを使用していましたが、https 経由で接続しようとすると、通常の "http expected" uri エラーが発生します。
プロキシ経由で SSL を使用してクライアント アプリから Web サービスに安全に接続する方法はありますが、IIS に SSL をインストールせずに WCF スタック + フォーム認証を利用するにはどうすればよいですか?
私はWCFを初めて使用するわけではありませんが、この非常にカスタムなセットアップでは、要件が「簡単な」ソリューションを許可するかどうかわからないようです。
前もって感謝します!
編集:ようやくこれが機能するようになり、カスタム バインディングを記述するために必要な完全なソース コードを 含む短いブログ投稿を書くことにしました。
php - PHP を使用して WS-Security で保護された Web サービスに接続する
パスワードで保護され、URL が https である Web サービスに接続しようとしています。スクリプトがリクエストを行う前に認証する方法がわかりません。サービスを定義するとすぐにリクエストが行われるようです。たとえば、次のように入力すると:
ブラウザでサイトにアクセスすると、次のようになります。
サービスを SOAP サーバーとして定義しようとすると、次のようになります。
私は得る:
サーバーが何を返すかを確認するために未加工のリクエスト エンベロープを送信することはまだ試していませんが、回避策になる可能性があります。しかし、php組み込みクラスを使用して設定する方法を誰かが教えてくれることを望んでいました。配列に「userName」と「password」を追加してみましたがだめでした。問題は、リクエストを拒否しているかどうかは言うまでもなく、リモート サイトに到達しているかどうかさえまったくわからないことです。
web-services - WS-Security は本当にプラットフォーム間で相互運用可能ですか?
WS Security を使用する Web サービス インターフェイスを定義し、多くの異なるプラットフォームを使用する多くの人々がそのインターフェイスを実装した場合、シームレスな相互運用性を期待できますか? WS-Security はそれができるほど成熟していますか? 最新のプログラミング言語で広く堅牢に実装されていますか? 具体的には、ユーザー名とダイジェスト パスワード認証の使用を検討しています。既知の互換性の問題を引き起こす、避けるべき特定の落とし穴はありますか?
ありがとう、
マイク
java - DIME 添付ファイルを使用して WSE 2.0 を呼び出す Java クライアント
WS-Security と DIME に WSE 2.0 を使用する従来の .NET Web サービスと統合する必要があります。問題は、Java アプリケーションからこれを行う必要があることです。
私は Axis2 が WS-Security で正常に動作することを期待しています。なぜなら、このあたりの人々は以前にそれを行ったことがあるからです。気になるのはDIMEです。http://ws.apache.org/axis/java/client-side-axis.htmlに DIME への参照がありますが、実際に Axis と WSE 2.0 Web サービスでこれを行った人がいるかどうか疑問に思っています。
wsdl - WSDL で表示される Spring WS-Security
http://static.springframework.org/spring-ws/sites/1.5/reference/html/security.htmlで説明されているように、Web サービスに WS-Security を介して認証を実装しました。
ただし、クライアント (SoapUI など) は、WSDL で言及されていないため、セキュリティを使用する必要があることを知りません。どうすればそれを得ることができますか?これは私がそれを生成する方法です:
c# - c# を使用して mono で WS-Security で保護された Web サービスを使用するにはどうすればよいですか?
保護されていない Web サービスを使用するコードは動作していますが、WS-Security を使用して Web サービスを使用する方法を知りたいです。
いくつかのドキュメントへのポインタが役立ちます。私はただ出発点を見つけることができません。
wcf - 応答でインライン セキュリティ トークンを使用して WSE 2.0 WS-Security サービスを呼び出す WCF - "トークン認証子が見つかりません"
.NET 1.1 と WSE 2.0 で、署名と暗号化の両方に x509 証明書を使用する WS-Security を使用する Web サービスがあります。このサービスに接続するように WCF クライアントを構成しようとしていますが、予想以上に難しいことがわかりました。
カスタム バインドを使用することで、バージョン管理の問題のほとんどを解決しましたが、最後の 1 つの点で行き詰まっています。Web サービスには、応答 SOAP エンベロープに 2 つの BinarySecurityToken 要素が含まれています。1 つは暗号化証明書用で、もう 1 つは署名証明書用です。
問題は、WCF が 2 番目のトークンで窒息していることです。これはエラーメッセージです:
「'System.IdentityModel.Tokens.X509SecurityToken' トークン タイプのトークン認証子が見つかりません。現在のセキュリティ設定に従って、そのタイプのトークンを受け入れることはできません。」
私が抱えている正確な問題を説明するこの会話を MSDNで見つけました。残念ながら、それは良い解決策を提供しません。エンベロープを WCF が処理できるものにハックするメッセージ エンコーダーを作成することは、私には間違っているように思えます。WSE 2.0 はインライン セキュリティ トークンを問題なく処理できます。WCF に同じ処理を強制する方法が必要です。
元の WSE 2.0 サービスの完全なソースはありますが、現時点ではセキュリティの処理方法を変更することはできません。
私が現在使用しているセキュリティバインディング要素は次のとおりです。
java - KeyStore からキーを取得できません
KeyStore からキーを取得しようとしています。Keytool でキーストアを作成しました。
keytool -genkeypair -dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US" -alias business2 -keypass abcdtest -keystore C:\workspace\XMLSample\keystore\mykeystore.jks -storepass 123456
そして、以下はGenerateXML.javaです
私はJava 1.6で実行しています
しかし、エラーがあります:
wcf - チャネル インターフェイスを介してメッセージ レベルのセキュリティをサポートする最小限のクライアント
SecurityMode: Message
直接チャネル インターフェイスを介して WSHttpBinding を使用して、WCF サービス用の最小限のクライアントを構築しようとしています。
私の現在のコードは非常に単純です:
clientCertificate が正しく読み込まれます。ただし、その後、すべての関数を正しい方法で呼び出すかどうかはわかりません。
事実: コード スニペットの最後の行はMessageSecurityException
、コンテンツとともに をスローします。
クライアントは、SspiNegotiation/Kerberos の目的で、ターゲット アドレス ' http://myServerUrl 'の ID に基づいてサービス プリンシパル名を特定できません。ターゲット アドレス ID は、UPN ID (acmedomain\alice など) または SPN ID (host/bobs-machine など) である必要があります。
この問題の原因は何ですか?