1 / 5
文档名称:

android-ssl证书交换流程.doc

格式:doc   大小:105KB   页数:5页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

android-ssl证书交换流程.doc

上传人:iris028 2020/7/6 文件大小:105 KB

下载得到文件列表

android-ssl证书交换流程.doc

相关文档

文档介绍

文档介绍:AndroidSSL证书交换流程创建https链接浏览器在显示页面之前需要建立http/https链接,然后利用http/https链接去下载html文件以及html文件中嵌入的jpeg、gif等格式图片。如果资源的url具有的前缀是“http://”,那么需要建立http链接。如果资源的url具有的前缀是“https://”,那么需要建立https链接。双向业务需要利用https协议来发送加密数据。Androidwebkit不关心获取资源的协议类型,、RequestHandle对象、RequestQueue对象,Connection对象,。Work并不知道Connection的类型。与https链接建立过程有关的类以及它们之间的关系可以参考下图:图1类图类之间的调用顺序图如下:图2顺序图经过分析,建立https链接的流程不需要修改。SSL握手与验证https协议利用SSL协议验证通信双方(客户端、服务器端)的身份、协商加密算法与密钥。Android中HttpsConnection类实现了https协议。SSLSocket相关类实现了SSL协议。HttpsConnection只需通过SocketFactory以及Socket提供的抽象接口就可以启动SSL握手过程。主要由SSLSocket、OpenSSLSocketImpl、SSLParameters、SSLSession、OpenSSLSocketFactoryImpl、OpenSSLSessionImpl、SSLSessionContext实现SSL协议。HttpsConnection使用系统提供的默认工厂SSLSocketFactoryImpl创建OpenSSLSocketImpl。OpenSSLSocketImpl通过JNI调用openSSL库提供的api进行握手。注意握手信息是在SocketImpl对象上传输的。SSLSession类封装了SSL会话信息,它存储了SSL握手的结果。最后SSLSessionContext相当与SSLSession的缓存池。这些类之间的关系如下图所示:图3SSLSocket类图类之间的调用顺序如下:图4SSLSocket时序图这里需要额外说明的是:在执行nativeconnect函数时,已经在openSSL库中执行了握手过程。但openSSL库中不会进行任何验证,因为验证模式被设置为SSL_V