首页 新闻 搜索 专区 学院

Android ssl 如何跨过验证

0
悬赏园豆:20 [已关闭问题] 关闭于 2016-11-16 11:34

服务基于IP非主机名(证书的目标只是简化非对称加密的过程),Https;

Android客户端测试;

 

尝试方法组1:

直接基于Http模块化的Client(如RestSharp)测试,为了跳过验证的设置回调=>ture,然在非Win下不起作用,

报错为:Error: SecureChannelFailure (The authentication or decryption has failed.);

 

尝试方法组2:

下载证书,并放置于resources中,基于javax的一套方式装入证书...最终OKHttpClient.SetSslSocketFactory(sslContext.SocketFactory);

并使用OkHttpClient执行Request;系统扔出了java的错误;

 

尝试方法组3:

基于Tcp SSL,也有验证回调,设置=>true,当然也不起作用;

报错为:This operation is invalid until it is successfully authenticated.

通过查找,定位到该异常信息赋值是通过sslStream==null判断校验扔出,跟原本所想可能为状态标识,从而通过修改状态跳过是不现实了,那么得从前面创建sslStream去跨过。

 

对于该平台如何跳过自发非安全证书问题,请知者不吝赐教之。

问题补充:

Xarmarin c#

花飘水流兮的主页 花飘水流兮 | 专家六级 | 园豆:12031
提问于:2016-11-14 15:00
< >
分享
所有回答(1)
0

会被中间人攻击的.还是去申请一个免费的证书吧.

吴瑞祥 | 园豆:28851 (高人七级) | 2016-11-14 15:45

 容易被中间攻击的恰恰不是ip方式,而且ip和证书模式本身有点对立。基于ip去伪装 —— 这是更复杂的事。况且整个项目是以局域网为目标,用host代价非常高昂。

支持(0) 反对(0) 花飘水流兮 | 园豆:12031 (专家六级) | 2016-11-14 16:02

@花飘水流兮: 局域网还纠结这个干嘛..直接http就好了.

然后防火墙配好就行了.

支持(0) 反对(1) 吴瑞祥 | 园豆:28851 (高人七级) | 2016-11-14 16:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册