一种动态管理客户端数据传输的方法与流程

文档序号:40106437发布日期:2024-11-27 11:53阅读:11来源:国知局
一种动态管理客户端数据传输的方法与流程

本发明公开一种动态管理客户端数据传输的方法,涉及信息安全领域。


背景技术:

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客户端后,检查传入的okhttpclient.builder是否为null,如果是,则新建一个builder;

7.根据权利要求5所述的一种动态管理客户端数据传输的装置,其特征是非https应用访问管理模块针对非https应用访问时,设置hostnameverifier,返回true,忽略主机名验证,

8.根据权利要求5所述的一种动态管理客户端数据传输的装置,其特征是非https应用访问管理模块针对非https应用访问时,配置超时时间、dns解析以及事件监听器,构建并返回不安全的okhttpclient实例,


技术总结
本发明公开一种动态管理客户端数据传输的方法,涉及信息安全领域;包括:针对非HTTPS应用访问时,创建不验证SSL证书的OkHttpClient客户端,通过TrustManager信任所有证书,当WebView加载的URL出现SSL错误时,查看证书的颁发者是否在白名单中,若不在则忽略错误并继续加载页面,根据配置的httpsInterceptControl值,判断是否拦截HTTPS请求,是则调用父类方法执行默认的SSL错误处理逻辑,否则忽略证书错误并继续加载页面,进行数据传输;针对HTTPS应用访问时,创建一个验证SSL证书的OkHttpClient,加载应用内置的证书文件,以及外部存储中的证书文件,配置SSLContext和SSLSocketFactory,并基于加载的证书构建TrustManager,验证SSL证书,并基于此进行安全的HTTPS请求,用于数据传输。

技术研发人员:宁方刚,陈哲,范永强,纪磊,张玉新
受保护的技术使用者:浪潮软件股份有限公司
技术研发日:
技术公布日:2024/11/26
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1