System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术公开一种动态管理客户端数据传输的方法,涉及信息安全领域。
技术介绍
1、现有的c/s架构应用通常使用http协议和https协议进行数据的传输。
2、http协议(超文本传输协议hypertext transfer protocol),基于tcp协议的应用层传输协议,用户数据经过应用层、传输层、网络层、链路层的层层封装后经过物理层发送到目标机器。在这几层中,数据都没有经过加密处理,因此针对敏感数据会产生数据泄露,数据篡改,数据重放等相关安全问题。
3、目前主流的替代技术是使用https协议替代http协议,https协议是以安全为目标的http通道,在http的基础上通过传输加密和身份认证保证了传输过程的安全性。https在http的基础下加入ssl,https的安全基础是ssl,因此加密的详细内容就需要ssl。然而在实际部署中往往会遇到应用部署在用户的内部局域网中,用户不想申请域名以及对应的https证书的情况,此时需要采用其他加密方案来保证信息传输安全。
技术实现思路
1、本专利技术针对现有技术的问题,提供一种动态管理客户端数据传输的方法,动态管理实现https应用和非https应用兼容运行的效果,保证在移动端接入的应用即使不具备https证书,仍然可以正常访问运行,提高了用户的自主选择性和使用满意度,也节省了应用实施成本,提高了应用效率和应用范围。
2、本专利技术提出的具体方案是:
3、本专利技术提供一种动态管理客户端
4、针对非https应用访问时,创建不验证ssl证书的okhttpclient客户端,设置一个自定义的cookiejar用于管理cookie,使用arraymap存储每个域名的cookie,通过trustmanager信任所有证书,
5、当webview加载的url出现ssl错误时,查看证书的颁发者是否在白名单中,若不在则忽略错误并继续加载页面,根据配置的httpsinterceptcontrol值,判断是否拦截https请求,是则调用父类方法执行默认的ssl错误处理逻辑,否则忽略证书错误并继续加载页面,进行数据传输;
6、针对https应用访问时,创建一个验证ssl证书的okhttpclient,根据配置的证书进行请求,设置一个自定义的cookiejar用于管理cookie,加载应用内置的证书文件,以及外部存储中的证书文件,配置sslcontext和sslsocketfactory,并基于加载的证书构建trustmanager,验证ssl证书,并基于此进行安全的https请求,用于数据传输。
7、进一步,所述的一种动态管理客户端数据传输的方法中针对非https应用访问时,创建okhttpclient客户端后,检查传入的okhttpclient.builder是否为null,如果是,则新建一个builder;
8、同样,针对https应用访问时,创建okhttpclient客户端后,检查传入的okhttpclient.builder是否为null,如果是,则新建一个builder。
9、进一步,所述的一种动态管理客户端数据传输的方法中针对非https应用访问时,设置hostnameverifier,返回true,忽略主机名验证,
10、同样,针对https应用访问时,设置hostnameverifier,返回true,忽略主机名验证。
11、进一步,所述的一种动态管理客户端数据传输的方法中针对非https应用访问时,配置超时时间、dns解析以及事件监听器,构建并返回不安全的okhttpclient实例,
12、同样,针对https应用访问时,配置超时时间、dns解析以及事件监听器,构建并返回安全的okhttpclient实例。
13、本专利技术还提供一种动态管理客户端数据传输的装置,包括非https应用访问管理模块和https应用访问管理模块,
14、非https应用访问管理模块针对非https应用访问时,创建不验证ssl证书的okhttpclient客户端,设置一个自定义的cookiejar用于管理cookie,使用arraymap存储每个域名的cookie,通过trustmanager信任所有证书,
15、当webview加载的url出现ssl错误时,查看证书的颁发者是否在白名单中,若不在则忽略错误并继续加载页面,根据配置的httpsinterceptcontrol值,判断是否拦截https请求,是则调用父类方法执行默认的ssl错误处理逻辑,否则忽略证书错误并继续加载页面,进行数据传输;
16、非https应用访问管理模块针对https应用访问时,创建一个验证ssl证书的okhttpclient,根据配置的证书进行请求,设置一个自定义的cookiejar用于管理cookie,加载应用内置的证书文件,以及外部存储中的证书文件,配置sslcontext和sslsocketfactory,并基于加载的证书构建trustmanager,验证ssl证书,并基于此进行安全的https请求,用于数据传输。
17、进一步,所述的一种动态管理客户端数据传输的装置中非https应用访问管理模块针对非https应用访问时,创建okhttpclient客户端后,检查传入的okhttpclient.builder是否为null,如果是,则新建一个builder;
18、同样,https应用访问管理模块针对https应用访问时,创建okhttpclient客户端后,检查传入的okhttpclient.builder是否为null,如果是,则新建一个builder。
19、进一步,所述的一种动态管理客户端数据传输的装置中非https应用访问管理模块针对非https应用访问时,设置hostnameverifier,返回true,忽略主机名验证,
20、同样,https应用访问管理模块针对https应用访问时,设置hostnameverifier,返回true,忽略主机名验证。
21、进一步,所述的一种动态管理客户端数据传输的装置中非https应用访问管理模块针对非https应用访问时,配置超时时间、dns解析以及事件监听器,构建并返回不安全的okhttpclient实例,
22、同样,https应用访问管理模块针对https应用访问时,配置超时时间、dns解析以及事件监听器,构建并返回安全的okhttpclient实例。
23、本专利技术的有益之处是:
24、动态管理实现https应用和非https应用兼容运行的效果,保证在移动端接入的应用即使不具备https证书,仍然可以正常访问运行,提高了用户的自主选择性和使用满意度,也节省了应用实施成本,提高了应用效率和应用范围。
本文档来自技高网...【技术保护点】
1.一种动态管理客户端数据传输的方法,其特征是包括:
2.根据权利要求1所述的一种动态管理客户端数据传输的方法,其特征是针对非HTTPS应用访问时,创建OkHttpClient客户端后,检查传入的OkHttpClient.Builder是否为null,如果是,则新建一个Builder;
3.根据权利要求1所述的一种动态管理客户端数据传输的方法,其特征是针对非HTTPS应用访问时,设置hostnameVerifier,返回true,忽略主机名验证,
4.根据权利要求1所述的一种动态管理客户端数据传输的方法,其特征是针对非HTTPS应用访问时,配置超时时间、DNS解析以及事件监听器,构建并返回不安全的OkHttpClient实例,
5.一种动态管理客户端数据传输的装置,其特征是包括非HTTPS应用访问管理模块和HTTPS应用访问管理模块,
6.根据权利要求5所述的一种动态管理客户端数据传输的装置,其特征是非HTTPS应用访问管理模块针对非HTTPS应用访问时,创建OkHttpClient客户端后,检查传入的OkHttpCli
7.根据权利要求5所述的一种动态管理客户端数据传输的装置,其特征是非HTTPS应用访问管理模块针对非HTTPS应用访问时,设置hostnameVerifier,返回true,忽略主机名验证,
8.根据权利要求5所述的一种动态管理客户端数据传输的装置,其特征是非HTTPS应用访问管理模块针对非HTTPS应用访问时,配置超时时间、DNS解析以及事件监听器,构建并返回不安全的OkHttpClient实例,
...【技术特征摘要】
1.一种动态管理客户端数据传输的方法,其特征是包括:
2.根据权利要求1所述的一种动态管理客户端数据传输的方法,其特征是针对非https应用访问时,创建okhttpclient客户端后,检查传入的okhttpclient.builder是否为null,如果是,则新建一个builder;
3.根据权利要求1所述的一种动态管理客户端数据传输的方法,其特征是针对非https应用访问时,设置hostnameverifier,返回true,忽略主机名验证,
4.根据权利要求1所述的一种动态管理客户端数据传输的方法,其特征是针对非https应用访问时,配置超时时间、dns解析以及事件监听器,构建并返回不安全的okhttpclient实例,
5.一种动态管理客户端数据传输的装置,其特征是包括非https应...
【专利技术属性】
技术研发人员:宁方刚,陈哲,范永强,纪磊,张玉新,
申请(专利权)人:浪潮软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。