SSL连接中是否存在IllegalStateException,执行SAML登录?

时间:2013-03-13 14:28:08

标签: java android ssl https saml

我正在实施一小段代码,以便登录受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应用程序中实现...

1 个答案:

答案 0 :(得分:0)

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