2

我正在实现一小段代码以登录到受 SAML 保护的网站。

我有这段代码:

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

通过它我与某些 URL 建立了安全的 SSL 连接。在前两次,使用两个不同的 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),但随后它停止了。

由于我尝试发出的请求是 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.

我怎样才能摆脱这个问题,并确保连接是安全的?我非常需要避免 MINM 攻击,因为脚本将在需要强大安全级别的 Android 应用程序中实现......

4

1 回答 1

0

对不起,我可能有点跑题了!您是否为此使用 Google 应用引擎?由于谷歌应用引擎不支持 HttpsUrlConnection。请在这里阅读更多

于 2013-03-13T15:10:58.487 回答