服务基于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#
会被中间人攻击的.还是去申请一个免费的证书吧.
容易被中间攻击的恰恰不是ip方式,而且ip和证书模式本身有点对立。基于ip去伪装 —— 这是更复杂的事。况且整个项目是以局域网为目标,用host代价非常高昂。
@花飘水流兮: 局域网还纠结这个干嘛..直接http就好了.
然后防火墙配好就行了.