問題タブ [rampart]
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.
web-services - 高セキュリティアプリケーションにはどのWebサービスエンジン/フレームワークを使用する必要がありますか?
私は銀行アプリケーション向けの安全性の高いWebサービスの開発に携わっている会社で働いています。銀行ですでに使用されているアプリケーションとの通信を確立するために、Webサービスが作成および使用されます。WebサービスはJBossサーバーにデプロイされます。高セキュリティアプリケーションに最適なWebサービスフレームワーク/エンジンはどれですか?私はいくつかの調査を行い、いくつかを最終候補に挙げました。以下のとおりです。
- Apache Axis2
- Apache CXF
- JAX-WS
JBossサーバーにはWebサービスエンジンが組み込まれていることも読んだことがありますが、それに関する情報はあまり収集されていません。また、ApacheAxis2がApacheRampartを使用してセキュリティ機能を実装していることも読みました。Apache Rampartはどのくらい効果的ですか?上記の用途に適していますか?Rampart for Axis2以外のセキュリティ実装はありますか?
どのフレームワーク/エンジンを選択する必要がありますか?上記以外に、コミュニティの強力なサポートを備えた、信頼性の高い優れたフレームワークはありますか?
php - WSO2 WS セキュリティ パスワードのみ証明書なしで可能ですか?
WS Security を使用する PHP WSO2 Webservice Client を作成したいと考えていますが、署名も暗号化もありません。代わりに、単純なパスワードを使用します。問題は、常に証明書エラーが発生することです (以下を参照)。本当に証明書をインストールする必要がありますか? もしそうなら: どこに? Java キーストア ?
環境: PHP 5.3.10、WSO2 PHP 2.10、Apache 2.2.x
wfs_client_log:
[エラー] key_mgr.c(295) [rampart][rampart_signature] 公開鍵証明書ファイルが指定されていません。[エラー] rampart_signature.c(856) [rampart][rampart_signature] 証明書を取得できません [エラー] rampart_sec_header_builder.c(131) [rampart][shb] 署名に失敗しました。ERROR [エラー] Rampart_sec_header_builder.c(601) [rampart][shb] 非対称バインディングに失敗しました [エラー] ranpart_out_handler.c(130) [rampart]セキュリティ ヘッダーの構築に失敗しました。[エラー] phase.c(224) Handler RampartOutHandler の呼び出しがフェーズ セキュリティ内で失敗しました [エラー] engine.c(657) フェーズ セキュリティの呼び出しに失敗しました
PHPコードは次のとおりです。
web-services - 同じサービス内のUsernameTokenとBinarySecurityToken
新しい要件がありますが、それを開発する方法がわかりません。それが可能かどうかはわかりません。問題は、アプリケーションにWebサーバーがあるのに、クライアントが2つの異なるセキュリティポリシーで呼び出したい場合、UsernameTokenで呼び出す場合があることです。場合によってはBinarySecurityTokenを使用します。
クライアントが送信するヘッダーは次のとおりです。
UsernameTokenの場合
そしてBinarySecurityTokenの場合
したがって、UsernameTokenの場合、services.xmlでこのコードを使用します。これは正常に機能します。PWCBHandlerでユーザー名とパスワードを取得し、データベースに対して検証します。
問題は、base64文字列を取得してそれを使ってやりたいことを行うために、BinarySecurityTokenのセキュリティを実装する方法がわからないことです。もう1つの疑問は、2つのセキュリティポリシーを組み合わせることができるかどうかわからないことです。同じサービスで、または別のサービスを公開する必要があります。
axis2 - 理由がわかりません Axis2+Rampart サーバーの内部エラー 500
助けてください。サーバー側の城壁サービスを構築したときに問題が発生しました。Axis2 サーバーを使用して Rampart クライアント要求を受信しています。Eclipse 軸クライアントで悪い応答がありました。サーバー側もローカルです。以下の完全なスタック トレース (log4j) を参照してください。JuiCEProviderOpenSSL の ClassNotFound 例外しか表示されませんが、他の誰かがそれを無視できると言っていました。その後、ビルダーが障害メッセージの作成を開始したため、太字の部分がこの問題の原因であると思われます。だから、それは私を夢中にさせます。この問題については何もわかりません。私を助けてください。ありがとう。また、私のフォーマットを許してください、ここで尋ねるのは初めてです.TT
axis2.log - log4j
axis2 - Axis2 STS クライアントから Metro ベースの Security Token Service を呼び出す
Metro 2.2 フレームワークを使用して作成およびデプロイされたセキュリティ トークン サービスを、Axis 2 STS クライアントから呼び出したいと考えています。私は同じことをしようとしていますが、以下のような問題が発生しています: -
ソース コードを詳しく調べたところ、SecureConversationTokenBuilderクラスのコードは次のように記述されていることがわかりました。
次に、SP11Constants.getInclusionFromAttributeValue(inclusionValue) に入り、次のコードを見ました:-
as INCLUDE_ALWAYS = "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always"これは、policy.xml で Metro によって定義されているものと等しくありません
http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Always
したがって、上記のコードは常に -1 を返し、次のように実行時例外をスローします。
Axis2 ベースの STS クライアントから呼び出された Metro Framework で作成された Security Token Service (STS) からトークンを取得できるかどうかを知りたいと思いました。
前もって感謝します。
web-services - Axis 2 と Rampart - サービスがリクエストで wsse:Security ヘッダーを返すのはなぜですか?
安全なサービスに接続しています。
jks ファイルを使用して証明書を提供するように SOAP UI プロジェクトを構成し、適切なセキュリティ設定を行って有効な応答を取得できるようにしています。
AXIS 2 と Rampart を使用して、JAVA プロジェクトから SOAP 要求を作成しました。TCPMon を使用して、SOAP リクエストを取得することができました。
リクエストが JAVA プロジェクトで実行されると、次のレスポンスが返されます。
org.apache.axis2.AxisFault: 要求に wsse:Security ヘッダーがありません
しかし、同じリクエストを TCPMon でキャプチャして SOAP UI プロジェクトに入れると、レスポンスが正常に返されます。
誰でもアイデアはありますか?
これは、私が使用している WS-POLICY ドキュメントです。
ありがとうアラン
java - Axis 2とRampartは、policy.xmlで送信セキュリティのみを指定するにはどうすればよいですか。
Rampartを使用してリクエストを生成しています。セキュリティを適用するために使用されるpolicy.xmlがあります。
Rampartがセキュリティヘッダーを探しているため、応答で例外が発生しますが、セキュリティヘッダーが存在しません。
引き続きpolicy.xmlを使用して、これでインバウンドセキュリティが不要であるという事実を指定できますか、それとも何か他のことをする必要がありますか?
ポリシー:
java - ApacheTomcatセキュリティ
Tomcatの構成がほぼ完了しそうです。
私が抱えている問題は、クライアントアプリケーションとブラウザの両方に関するものです。
ユーザーが自分のブラウザーでTomcatにアクセスするときに、https経由でのみアクセスできるようにして、証明書を使用して認証できるようにします。
クライアントアプリケーションでは、axis2と通信するときに、httpのみを使用したいので、サーバーに過負荷をかけません。証明書を使用するパスワードコールバックでapacherampartを使用しているので、httpsを使用しなくても問題はありません。
さて、これが問題の始まりでした。これが私が何とか仕事に取り掛かったものです:
TomcatでSSLを許可すると、クライアント認証はブラウザの魅力のように機能します。
ただし、サーバーには引き続きアクセスできます
この問題に関する私のserver.xmlは次のとおりです。
8443ポートにリダイレクトするべきではありませんか?
私のクライアントアプリケーションは、8080ポートを介して問題なく通信できます。
だから私は何が間違っているのですか?
java - Axis2/Rampart クライアントの自己署名証明書
安全なクライアントを使用して Web サービスにアクセスしようとしています。
2 つのファイルを生成しました。
nb19200.pkcs12
サーバー.jks
サーバーのキーストアを tomcat に貼り付け、pkcs12 をブラウザーにアップロードしました。すべて正常に動作します。
ここで、クライアント アプリケーションで次のことを試しました。
まず、サーバー証明書をエクスポートします。次のコマンドを使用しました。
keytool -exportcert -alias servercert -file servercert.cer -keystore server.jks -storepass * *
そして、何も入っていないキーストアにインポートします。
keytool -importcert -keystore truststore.jks -alias servercert -file servercert.cer -v trustcacerts -noprompt -storepass * **
私のコードは次のとおりです。
OK、この構成では次のエラーが発生します。
原因: java.net.SocketException: 接続がリモート ホストによって閉じられました
最初の 2 行にコメントを付けると、次のエラーが表示されます。
原因: sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な証明書パスが見つかりません
それで、私は何を間違っていますか?
私は完全に迷っています。
完全なコードを更新:
スタックトレース:
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ヘルプ!