SIM800系列_SSL_应用文档_V1.01
Smart Machine Smart Decision
手册名称 版本 日期 状态 文档控制号
SIM800系列_SSL_应用文档 1.01 2014-06-30
发布
SIM800系列_SSL_应用文档_V1.01
一般事项
SIMCom把本手册作为一项对客户的服务,编排紧扣客户需求,章节清晰,叙述简要,力求客户阅读后,可以通过AT命令轻松使用模块,加快开发应用和工程计划的进度。
SIMCom不承担对相关附加信息的任何独立试验,包含可能属于客户的任何信息。而且,对一个包含SIMCom模块、较大型的电子系统而言,客户或客户的系统集成商肩负其系统验证的责任。
由于产品版本升级或其它原因,本手册内容会不定期进行更新。除非另有约定,本手册仅作为使用指导,本手册中的所有陈述、信息和建议不构成任何明示或暗示的担保。手册中信息修改,恕不另行通知。
版权
本手册包含芯讯通无线科技(上海)有限公司的专利技术信息。除非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本手册内容的部分或全部,并不得以任何形式传播,犯规者可被追究支付赔偿金。对专利或者实用新型或者外观设计的版权所有,SIMCom保留一切权利。
版权所有©芯讯通无线科技(上海)有限公司2014年
SIM800系列_SSL_应用文档_V1.01 2 2014-06-30
Smart Machine Smart Decision
目录
1. SSL 功能................................................................................................................5
1.1. 1.2. 1.3. 1.4. 1.5.
SSL介绍............................................................................................................................5 HTTPS 介绍.....................................................................................................................5 FTPS 介绍........................................................................................................................5 EMAIL 加密传输 介绍...................................................................................................6 SSL AT命令使用..............................................................................................................6
2. AT 命令..................................................................................................................7
2.1. 2.2. 2.3. 2.4. 2.5. 2.6.
AT+EMAILSSL 设置邮件使用SSL功能........................................................................7 AT+HTTPSSL 设置HTTP使用SSL功能.........................................................................8 AT+FTPSSL 设置FTP使用SSL功能...............................................................................8 AT+CIPSSL 设置TCP使用SSL功能...............................................................................9 AT+SSLSETCERT 导入SSL证书...................................................................................9 AT+SSLOPT SSL选项设置...........................................................................................10
3. 应用实例..............................................................................................................11
3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 3.9. 3.10.
EMAIL使用普通端口加密发送邮件............................................................................11 EMAIL使用加密端口发生邮件....................................................................................11 EMAIL使用普通端口加密接收邮件............................................................................12 EMAIL使用加密端口接收邮件....................................................................................14 HTTPS GET方法............................................................................................................15 使用FTPS的Implicit模式下载数据...............................................................................16 使用FTPS的Explicit模式下载数据...............................................................................17 TCP建立一个SSL加密的客户端链接...........................................................................18 多链路模式下TCP建立SSL加密的客户端链接...........................................................18 导入SSL证书..............................................................................................................19
附录..............................................................................................................................21
A. 参考文档.............................................................................................................................21 B. 术语和缩写.........................................................................................................................21
SIM800系列_SSL_应用文档_V1.01 3 2014-06-30
Smart Machine Smart Decision
版本历史
日期 2013-10-18 2014-06-30
版本 1.00 1.01
修改点描述 第一版
章节适用范围,修改部分项目
章节2.4,增加SSL 加密的TCP连接描述 章节2.5,增加SSL导入证书描述 章节2.6,增加SSL选项设置 章节3.8、3.9、3.10,增加应用实例
作者 张平 张平 刘涵君 刘涵君 张平 张平
适用范围
本手册描述了SSL相关AT命令操作方法和应用实例。本手册适用于SIM800,SIM800-WB64, SIM800H(不带蓝牙功能)和SIM800G。
SIM800系列_SSL_应用文档_V1.01 4 2014-06-30
Smart Machine Smart Decision
1. SSL 功能
1.1. SSL介绍
安全套接层(Secure Sockets Layer,SSL),一种安全协议,是网景公司(Netscape)在推出Web浏览器首版的同时提出的,目的是为网络通信提供安全及数据完整性。SSL在传输层对网络连接进行加密。
SSL采用公开密钥技术,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。它在服务器和客户机两端可同时被支持,目前已成为互联网上保密通讯的工业标准。现行Web浏览器亦普遍将HTTP和SSL相结合,从而实现安全通信。此协议和其继任者是TLS(Transport Layer Security,TLS)。
TLS利用密钥算法在互联网上提供端点身份认证与通讯保密,其基础是公钥基础设施(public key infrastructure,PKI)。不过在实现的典型例子中,只有网络服务者被可靠身份验证,而其客户端则不一定。这是因为公钥基础设施普遍商业运营,电子签名证书通常需要付费购买。协议的设计在某种程度上能够使主从式架构应用程序通讯本身预防窃听、干扰(Tampering)、和消息伪造。
SIM800系列模块目前支持SSL2.0,SSL3.0,TLS1.0
1.2. HTTPS 介绍
HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容请看SSL。
它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。HTTPS:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司进行,提供了身份验证与加密通讯方法,现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。
1.3. FTPS 介绍
一种多传输协议,相当于加密版的FTP。当你在FTP服务器上收发文件的时候,你面临两个风险。第一个风险是在上载文件的时候为文件加密。第二个风险是,这些文件在你等待接收方下载的时候将停留在FTP服务器上,这时你如何保证这些文件的安全。你的第二个选择(创建一个支持SSL的FTP服务器)能够让你的主机使用一个FTPS连接上载这些文件。这包括使用一个在FTP协议下面的SSL层加密控制和数据通道。一种替代FTPS的协议是安全文件传输协议(SFTP)。这个协议使用SSH文件传输协议加密从客户机到服务器的FTP连接。
FTPS是在安全套接层使用标准的FTP协议和指令的一种增强型FTP协议,为FTP协议和数据通道增加了SSL安全功能。FTPS也称作“FTP-SSL”和“FTP-over-SSL”。SSL是一个在客
SIM800系列_SSL_应用文档_V1.01 5 2014-06-30
Smart Machine Smart Decision
户机和具有SSL功能的服务器之间的安全连接中对数据进行加密和解密的协议。
1.4. EMAIL 加密传输 介绍
对于接收邮件,我们提供了SSL加密的POP3协议被称为POP3S。使用特殊的端口,默认为:995。对于发送邮件,我们采用HTTPS方式通讯,默认端口是:465。也支持使用普通端口,通过STARTTLS(SMTP)和STLS(POP3)来启用加密传输。
1.5. SSL AT命令使用
在标准模块上使用SSL功能,我们提供了一套AT命令来支持SSL操作,包括HTTP,EMAIL和FTP功能。
SIM800系列_SSL_应用文档_V1.01 6 2014-06-30
Smart Machine Smart Decision
2. AT 命令
SIM800 系列模块提供加密链接的 AT命令如下: 命令
AT+EMAILSSL AT+HTTPSSL AT+FTPSSL AT+CIPSSL AT+SSLSETCERT AT+SSLOPT
描述
设置EMAIL使用SSL功能 设置HTTP使用SSL功能 设置FTP使用SSL功能 设置TCPIP使用SSL功能 导入SSL证书 SSL选项设置
2.1. AT+EMAILSSL 设置邮件使用SSL功能 AT+EMAILSSL 设置邮件使用SSL功能 测试命令
AT+EMAILSSL=?
响应
+EMAILSSL: (list of supported 见设置命令 查询命令 AT+EMAILSSL? 响应 + EMAILSSL: 见设置命令 设置命令 AT+EMAILSSL= 响应 OK 参数 1 使用加密端口进行加密传输 2 使用普通端口进行加密传输 备注: 如果SSL通道建立失败或者通讯错误, 发送邮件的时候会返回错误码: +SMTPSEND: 登录POP3服务器的时候会返回错误码: +POP3IN: 72 SSL 通讯警告错误 参考 SIM800系列_SSL_应用文档_V1.01 7 2014-06-30 Smart Machine Smart Decision 2.2. AT+HTTPSSL 设置HTTP使用SSL功能 AT+HTTPSSL 设置HTTP使用SSL功能 测试命令 AT+HTTPSSL=? 响应 +HTTPSSL: (0-1) OK 参数 见设置命令 查询命令 AT+HTTPSSL? 响应 + HTTPSSL: 见设置命令 设置命令 AT+HTTPSSL= 响应 OK 参数 1 打开SSL功能 备注: HTTPACTION失败时会返回错误码: +HTTPACTION: 606 SSL通讯警告错误 设置FTP使用SSL功能 响应 +FTPSSL: (0-2) OK 参数 见设置命令 查询命令 AT+FTPSSL? 响应 + FTPSSL: 见设置命令 设置命令 AT+FTPSSL= 响应 OK 参考 2.3. AT+FTPSSL 测试命令 AT+FTPSSL=? AT+FTPSSL 设置FTP使用SSL功能 SIM800系列_SSL_应用文档_V1.01 8 2014-06-30 Smart Machine Smart Decision 参数 1 使用FTPS的Implicit模式 2 使用FTPS的Explicit模式 参考 备注: FTP操作失败时会返回错误码,以FTPGET为例: +FTPGET: 81 SSL通讯警告错误 82 FTP 协商扩展验证错误 83 FTP 协商保护缓冲区错误 84 FTP 协商保护级别错误 设置TCP使用SSL功能 响应 +CIPSSL: (0-1) OK 参数 见设置命令 查询命令 AT+CIPSSL? 响应 + CIPSSL: 见设置命令 设置命令 AT+CIPSSL= 响应 OK 参数 1 打开SSL功能 参考 备注: 打开SSL功能后,模块会在TCP连接建立后自动进行SSL验证。当前仅支持作为SSL Client应用 2.4. AT+CIPSSL 测试命令 AT+CIPSSL=? AT+CIPSSL 设置TCP使用SSL功能 2.5. AT+SSLSETCERT 导入SSL证书 AT+SSLSETCERT 导入SSL证书 测试命令 AT+SSLSETCERT=? 响应 +SSLSETCERT: 参数 SIM800系列_SSL_应用文档_V1.01 9 2014-06-30 Smart Machine Smart Decision OK 设置命令 AT+SSLSETCERT= 响应 OK 如果导入成功 +SSLSETCERT: 0 如果导入失败 +SSLSETCERT: 1 参数 参考 备注: z 只能导入一个证书。如果导入多次,模块只保留最后一次导入 的证书。 z 支持导入\".crt\"或\".cer\"证书文件 2.6. AT+SSLOPT SSL选项设置 AT+SSLOPT SSL选项设置 测试命令 AT+SSLOPT=? 响应 +SSLOPT: (参数 见设置命令 查询命令 AT+SSLOPT? 响应 +SSLOPT: 0, 见设置命令 设置命令 AT+SSLOPT= 响应 OK 参数 1 客户端认证功能 备注: 客户端认证功能目前没有实现 参考 SIM800系列_SSL_应用文档_V1.01 10 2014-06-30 Smart Machine Smart Decision 3. 应用实例 下面的表格提供一些 SSL 功能的使用方法。 如下表格“语法”列中黑色文字是输入给模块的AT命令,蓝色文字是模块返回值。 3.1. EMAIL使用普通端口加密发送邮件 语法 AT+SAPBR=3,1,\"APN\OK AT+SAPBR=1,1 OK AT+EMAILCID=1 OK AT+EMAILTO=30 OK AT+EMAILSSL=2 OK AT+SMTPSRV=\"SMTP.GMAIL.COM\" OK AT+SMTPAUTH=1,\"account\OK 说明 配置承载场景1 激活承载场景1 配置EMAIL使用承载场景1 设置EMAIL超时时间 设置EMAIL使用普通端口进行加密传输 设置SMTP服务器地址,端口省略,表示使用默认端口:25 设置用户名和密码 AT+SMTPFROM=\"account@GMAIL.COM\设置发送方地址和名字 nt\" OK AT+SMTPSUB=\"Test\" OK AT+SMTPRCPT=0,0, \"john@sim.com\OK AT+SMTPBODY=19 DOWNLOAD This is a new Email OK AT+SMTPSEND OK +SMTPSEND: 1 3.2. EMAIL使用加密端口发生邮件 语法 说明 设置邮件主题 设置接收方(To:) 设置邮件正文 发送邮件 SIM800系列_SSL_应用文档_V1.01 11 2014-06-30 Smart Machine Smart Decision AT+SAPBR=3,1,\"APN\OK AT+SAPBR=1,1 OK AT+EMAILCID=1 OK AT+EMAILTO=30 OK AT+EMAILSSL=1 OK AT+SMTPSRV=\"SMTP.GMAIL.COM\" OK AT+SMTPAUTH=1,\"account\OK 配置承载场景1 激活承载场景1 配置EMAIL使用承载场景1 设置EMAIL超时时间 设置EMAIL使用加密端口进行加密传输 设置SMTP服务器地址,端口省略,表示使用默认端口:465 设置用户名和密码 AT+SMTPFROM=\"account@GMAIL.COM\设置发送方地址和名字 nt\" OK AT+SMTPSUB=\"Test\" OK AT+SMTPRCPT=0,0, \"john@sim.com\OK AT+SMTPBODY=19 DOWNLOAD This is a new Email OK AT+SMTPSEND OK +SMTPSEND: 1 3.3. EMAIL使用普通端口加密接收邮件 语法 AT+SAPBR=3,1,\"APN\OK AT+SAPBR=1,1 OK AT+EMAILCID=1 OK AT+EMAILTO=30 OK 说明 配置承载场景1 激活承载场景1 配置EMAIL使用承载场景1 设置EMAIL超时时间 设置邮件主题 设置接收方(To:) 设置邮件正文 发送邮件 SIM800系列_SSL_应用文档_V1.01 12 2014-06-30 Smart Machine Smart Decision AT+EMAILSSL=2 OK AT+POP3SRV=\"mail.sim.com\OK AT+POP3IN OK +POP3IN: 1 AT+POP3NUM OK +POP3NUM: 1,2,11124 AT+POP3LIST=1 OK +POP3LIST: 1,1,5556 AT+POP3CMD=4,1 OK +POP3CMD: 1 AT+POP3READ=1460 +POP3READ: 1,1460 … OK AT+POP3READ=1460 +POP3READ: 1,1460 … OK AT+POP3READ=1460 +POP3READ: 2,1183 … OK AT+POP3OUT OK +POP3OUT: 1 设置EMAIL使用加密端口进行加密传输 设置 POP3 服务器地址,账户,密码,端口不设置,默认为110 登录POP3 服务器 得到邮件总数和总的大小 得到第一封邮件的大小 读取第一封邮件 读取该邮件内容 该邮件内容已经读完 退出 POP3 服务器 SIM800系列_SSL_应用文档_V1.01 13 2014-06-30 Smart Machine Smart Decision 3.4. EMAIL使用加密端口接收邮件 语法 AT+SAPBR=3,1,\"APN\OK AT+SAPBR=1,1 OK AT+EMAILCID=1 OK AT+EMAILTO=30 OK AT+EMAILSSL=1 OK AT+POP3SRV=\"mail.sim.com\OK AT+POP3IN OK +POP3IN: 1 AT+POP3NUM OK +POP3NUM: 1,2,11124 AT+POP3LIST=1 OK +POP3LIST: 1,1,5556 AT+POP3CMD=4,1 OK +POP3CMD: 1 AT+POP3READ=1460 +POP3READ: 1,1460 … OK AT+POP3READ=1460 +POP3READ: 1,1460 … OK AT+POP3READ=1460 说明 配置承载场景1 激活承载场景1 配置EMAIL使用承载场景1 设置EMAIL超时时间 设置EMAIL使用加密端口进行加密传输 设置 POP3 服务器地址,账户,密码,端口不设置,默认为995 登录POP3 服务器 得到邮件总数和总的大小 得到第一封邮件的大小 读取第一封邮件 读取该邮件内容 该邮件内容已经读完 SIM800系列_SSL_应用文档_V1.01 14 2014-06-30 Smart Machine Smart Decision +POP3READ: 2,1183 … OK AT+POP3OUT OK +POP3OUT: 1 3.5. HTTPS GET方法 从HTTPS服务器下载数据。 语法 AT+HTTPINIT OK AT+HTTPPARA=\"CID\OK AT+HTTPPARA=\"URL\OK AT+HTTPPARA=\"REDIR\OK AT+HTTPSSL=1 OK AT+HTTPACTION=0 OK +HTTPACTION: 0,200,84200 AT+HTTPREAD +HTTPREAD: 84200 …. OK AT+HTTPTERM OK 说明 初始化HTTP服务 设置HTTP会话参数 退出 POP3 服务器 打开HTTPS功能 GET会话开始 GET成功 读取HTTP服务器的数据 向UART口输出数据 结束HTTP服务 SIM800系列_SSL_应用文档_V1.01 15 2014-06-30 Smart Machine Smart Decision 3.6. 使用FTPS的Implicit模式下载数据 以Implicit模式从FTP服务器下载数据。 语法 AT+FTPCID=1 OK AT+FTPSERV=\"116.228.221.52\" OK AT+FTPUN=\"sim.cs1\" OK AT+FTPPW=\"******\" OK AT+FTPGETNAME=\"1K.txt\" OK AT+FTPGETPATH=\"/\" OK AT+FTPSSL=1 OK AT+FTPGET=1 OK +FTPGET: 1,1 AT+FTPGET=2,1024 +FTPGET: 2,50 01234567890123456789012345678901234567890123456789 OK AT+FTPGET=2,1024 +FTPGET: 2,0 OK +FTPGET: 1,1 说明 设置FTP会话参数 打开FTPS的Implicit模式 打开FTP GET会话 数据可读 请求读取1024字节,但当前仅50字节可读 再次请求读取1024字节。 当前没有数据可读,但会话尚未结束 如果模块收到了数据,但用户没有输入“AT+FTPGET:2, 请求读取1024字节数据 当前有1024字节数据可读 AT+FTPGET=2,1024 +FTPGET: 2,1024 012345678901234567890123456789012345678901234567890…..1234 OK +FTPGET:1,0 数据传输结束,FTP服务器连接关闭 SIM800系列_SSL_应用文档_V1.01 16 2014-06-30 Smart Machine Smart Decision 3.7. 使用FTPS的Explicit模式下载数据 以Explicit模式从FTP服务器下载数据。 语法 AT+FTPCID=1 OK AT+FTPSERV=\"116.228.221.52\" OK AT+FTPUN=\"sim.cs1\" OK AT+FTPPW=\"******\" OK AT+FTPGETNAME=\"1K.txt\" OK AT+FTPGETPATH=\"/\" OK AT+FTPSSL=2 OK AT+FTPGET=1 OK +FTPGET: 1,1 AT+FTPGET=2,1024 +FTPGET: 2,50 01234567890123456789012345678901234567890123456789 OK AT+FTPGET=2,1024 +FTPGET: 2,0 OK +FTPGET: 1,1 说明 设置FTP会话参数 打开FTPS的Explicit模式 打开FTP GET会话 数据可读 请求读取1024字节,但当前仅50字节可读 再次请求读取1024字节。 当前没有数据可读,但会话尚未结束 如果模块收到了数据,但用户没有输入“AT+FTPGET:2, 请求读取1024字节数据 当前有1024字节数据可读 AT+FTPGET=2,1024 +FTPGET: 2,1024 012345678901234567890123456789012345678901234567890…..1234 OK +FTPGET:1,0 数据传输结束,FTP服务器连接关闭 SIM800系列_SSL_应用文档_V1.01 17 2014-06-30 Smart Machine Smart Decision 3.8. TCP建立一个SSL加密的客户端链接 AT+CGATT? +CGATT: 1 OK AT+CSTT=\"CMNET\" OK 检查GPRS附着状态 开始任务,设置APN。 默认 APN 是 “CMNET”, 没有用户名和密码。可以查询当地GSM运营商来获得APN 建立无线链路 (GPRS 或者 CSD) 获得本地IP地址 打开SSL功能 建立TCP链接 TCP链接成功建立。SSL验证完成 发送数据到远端服务, CTRL+Z (0x1a)发送。 用户必须要等到 “>”后才输入数据 ,然后用 CTRL+Z 发送。 用户可以用命令 “AT+CIPSPRT” 来设置是否在字符串 “AT+CIPSEND”后显示提示符“>” 。 数据已经发送出去并且被远端服务器成功接收 收到远端服务器发来数据 远端服务器关闭了链接 AT+CIICR OK AT+CIFSR 10.78.245.128 AT+CIPSSL=1 OK AT+CIPSTART=\"TCP\ OK CONNECT OK AT+CIPSEND > hello TCP serve SEND OK hello SIM800 CLOSED 3.9. 多链路模式下TCP建立SSL加密的客户端链接 仅在设置SSL功能打开后,建立的TCP连接才是SSL加密的TCP连接。在SSL打开前已经建立的TCP连接不会进行SSL验证。 语法 AT+CGATT? +CGATT: 1 OK AT+CIPMUX=1 OK AT+CSTT=\"CMNET\" OK 说明 检查GPRS附着状态 设置多链路模式 开始任务,设置APN SIM800系列_SSL_应用文档_V1.01 18 2014-06-30 Smart Machine Smart Decision AT+CIICR OK AT+CIFSR 10.78.245.128 AT+CIPSTART=0, \"TCP\OK 0, CONNECT OK AT+CIPSSL=1 OK AT+CIPSTART=1, \"TCP\OK 1, CONNECT OK AT+CIPSEND=0 > TCP test 0, SEND OK AT+CIPSEND=1 > TCP Over SSL test 1, SEND OK +RECEIVE,0,17: SIM800 TCP test +RECEIVE,1,26: SIM800 TCP Over SSL test 0, CLOSED AT+CIPSTATUS OK STATE: IP PROCESSING C: 0,0,\"TCP\ C: 1,0,\"TCP\C: 2,,\"\C: 3,,\"\C: 4,,\"\C: 5,,\"\ 3.10. 导入SSL证书 建立无线链路(GPRS 或者 CSD)获得本地IP地址 在第0路建立TCP链接 打开SSL功能。此时第0路的TCP连接仍保持为普通连接,而不会进行SSL连接。 在第1路建立TCP链接。SSL验证完成。 第0路发送数据 第1路发送数据 第0路收到数据,长度是17 第1路收到数据,长度是26 第0路链接被远端关闭 查询当前链接状态 SIM800系列_SSL_应用文档_V1.01 19 2014-06-30 Smart Machine Smart Decision Grammar AT+FSCREATE=C:\\USER\\HENRY_SSL.CRT OK AT+FSWRITE=C:\\USER\\HENRY_SSL.CRT,0,1196,10 > OK AT+SSLSETCERT=\"C:\\USER\\HENRY_SSL.CRT\****\" OK +SSLSETCERT: 0 Description 在文件系统上建立证书文件. 证书内容写入刚才创建的文件中 导入证书文件 导入成功 SIM800系列_SSL_应用文档_V1.01 20 2014-06-30 Smart Machine Smart Decision 附录 A. 参考文档 编号 [1] 文档名称 SIM800 Series AT Command Manual 说明 B. 术语和缩写 术语 URC TE TA DTE DCE ME MS SSL TLS 描述 主动上报命令 终端设备 终端适配器 数据终端设备或简单地说是在嵌入式系统上运行的应用 数据通信设备DCE或传真(传真调制解调器,传真卡) 移动设备 基站 安全套接层 安全传输层协议 SIM800系列_SSL_应用文档_V1.01 21 2014-06-30 Smart Machine Smart Decision 联系我们: 芯讯通无线科技(上海)有限公司 地址:上海市金钟路633号晨讯科技大楼A楼 邮编:200335 电话:+86 21 3252 3300 传真:+86 21 3252 3020 网址:www.sim.com/wm SIM800系列_SSL_应用文档_V1.01 22 2014-06-30 因篇幅问题不能全部显示,请点此查看更多更全内容 71 SSL建立通道失败
605 SSL建立通道失败
80 SSL建立通道失败