2

SAML で保護された Web サイトにログインするために、小さなコード スニペットを実装しています。

私はこのコードを持っています:

HttpsURLConnection connection = (HttpsURLConnection)url.openConnection();

これを介して、安全な SSL 接続でいくつかの URL に接続します。最初の 2 回は、2 つの異なる URL で完全に機能しますが、特定の要求 (正確には IDP サーバーへの SAMLRequest) を実行しようとすると、スクリプトは次のエラーを表示します。

[ATTENTION] An error occured: java.lang.IllegalStateException: connection not yet open

何が起こっているのか本当に理解できません。SPに接続している間、接続は良好ですが(この情報も取得できたので、SSLが機能していると思いますcon.getCipherSuite() = TLS_RSA_WITH_AES_128_CBC_SHA)、その後停止します。

私が発行しようとしているリクエストは、実行しようとした 3 つの中で SAML スキームで本当に重要な唯一のものであるため、サーバー側の問題であると考えました。

Connect to the homepage of the service provider (SP) in order to get JSESSIONID cookie: it works
Connect to the SP login page in order to get the SAML Request: it works
Connect to the IDP in order to send (via GET) the SAML Request: ERROR.

どうすればこの問題を解決でき、接続が安全であることを確認できますか? スクリプトは強力なレベルのセキュリティを必要とする Android アプリに実装されるため、MINM 攻撃を回避する必要性が強くあります...

4

1 に答える 1

0

すみません、ここで少し話題がずれているかもしれません!これにGoogleアプリエンジンを使用していますか?Google アプリ エンジンは HttpsUrlConnection をサポートしていないためです。ここでもっと読んでください

于 2013-03-13T15:10:58.487 に答える