搜档网
当前位置:搜档网 › FIBOCOM-G510 SSL加载证书应用设计说明_V1.0.3

FIBOCOM-G510 SSL加载证书应用设计说明_V1.0.3

G510SSL加载证书应用设计说明

文档版本:V1.0.3

更新日期:2014.08.24

版权所有?2015深圳市广和通无线股份有限公司。保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

注意

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

商标申明

为深圳市广和通无线股份有限公司的注册商标,由所有人拥有。

版本记录

文档版本更新日期说明

V1.0.02015-01-26初始版本

V1.0.12015-01-31增加+GTSSLERR AT命令

V1.0.22015-03-09增加适用型号

序号产品型号说明1G510-Q50-xx

2G610-A20-xx

3G610-Q20-xx

目录

1SSL AT指令 (5)

1.1+GTSSLFILE,加载证书和密钥 (5)

1.2+GTSSLMODE,设置是否需要验证服务端的证书 (8)

1.3+GTSSLERR,获取SSL错误码 (9)

2实例 (12)

3附录 (20)

1SSL AT指令

1.1+GTSSLFILE,加载证书和密钥

该指令用来设置加载SSL的CA证书,KEY,和本地信任证书。

命令语法响应备注

Set AT+GTSSLFILE=

,

OK

or:

ERROR

设置加载证书的类型和长度,其中

CAFILE和KEYFILE表示加载CA证书

和密钥(一般用于双向认证的情况下,

客户端向服务器传送证书和密钥,即服

务器需要验证客户端的合法性)。

TRUSTFILE表示加载信任证书到本

机,这里信任证书的目的是用于验证服

务端的合法性(单向认证和双向认证均

可能需要验证(具体由+GTSSLMODE

确定)),TRUSTFILE类型的文件最多支

持加载40个。

Read AT+GTSSLFILE?+GTSSLFILE:,

e.g.+GTSSLFILE:CAFILE,0

+GTSSLFILE:KEYFILE,0

+GTSSLFILE:TRUSTFILE,1

查询证书的类型是否已经加载,其中CAFILE和KEYFILE最多只能是1个,TRUSTFILE可以是多个。

例如:没有CAFILE类型的证书;没有KEYFILE类型的证书;已经加载TRUSTFILE类型证书1个

Test AT+GTSSLFILE=?+GTSSLFILE:(“CAFILE,KEYFILE

,TRUSTFILE”),(4-8192)

查询可加载证书的类型和证书的长度

下表显示+GTSSLFILE指令参数。

参数说明

只能是”CAFILE”,”KEYFILE”,”TRUSTFILE”中一种

证书的长度(长度为编码格式是base64后的文件长度)

表示加载的证书的个数

备注:这里所有证书掉电不保存,这里的TRUSTFILE信任证书,最多可以加载40个进去。这里加载

的任何类型的文件,必须是base64编码格式。进入ODM模式,出现”>”符号后,如果超过12秒没有输入数据,会自动退出ODM模式,并返回ERROR。

Example:

AT command ready

at+gtsslfile=?

+GTSSLFILE:("CAFILE,KEYFILE,TRUSTFILE"),(4-8192)

OK//查询支持加载的证书类型和证书长度

at+gtsslfile?

+GTSSLFILE:CAFILE,0

+GTSSLFILE:KEYFILE,0

+GTSSLFILE:TRUSTFILE,0

OK//查询加载的证书类型和证书个数,都为0

at+gtsslfile="CAFILE",1557

>

……

OK//加载CA证书OK

at+gtsslfile="CAFILE",1550

>

…….

ERROR//实际大小是1557,所以这里返回错误,传输的是1557

at+gtsslfile?

+GTSSLFILE:CAFILE,1

+GTSSLFILE:KEYFILE,0

+GTSSLFILE:TRUSTFILE,0 OK

at+gtsslfile="KEYFILE",850

>

…..

OK

at+gtsslfile?

+GTSSLFILE:CAFILE,1

+GTSSLFILE:KEYFILE,1

+GTSSLFILE:TRUSTFILE,0 OK

at+gtsslfile="TRUSTFILE",850 >

….

OK

at+gtsslfile?

+GTSSLFILE:CAFILE,1

+GTSSLFILE:KEYFILE,1

+GTSSLFILE:TRUSTFILE,1

OK

1.2+GTSSLMODE,设置是否需要验证服务端的证书

该指令作用是设置是否需要客户端(即GSM模块)验证服务器传过来的证书,1表示需要,0表示不需要,如果需要验证,必须在客户端本地信任列表中,至少有一个信任证书(即,at+gtsslfile?其中TRUSTFILE信任证书至少有一个)

命令语法响应备注

Set AT+GTSSLMODE=

eckmode>OK

or:

ERROR

设置是否需要验证服务器下发证

书。

Read AT+GTSSLMODE?+GTSSLMODE:

e.g:+GTSSLMODE:1查询设置的模式,1表示需要验证服务端证书,0表示不需要验证(一般情况下,均为0)

Test AT+GTSSLMODE=?+GTSSLMODE:(0-1)查询该条指令设置格式。

下表显示+GTSSLMODE指令参数。

参数说明

0表示不验证(默认设置),1表示验证

Example:

at+gtsslmode=?

+GTSSLMODE:(0-1)

OK

at+gtsslmode?

+GTSSLMODE:1

OK

at+gtsslmode=0

OK

at+gtsslmode?

+GTSSLMODE:0

OK

at+gtsslmode=2

ERROR

at+gtsslmode?

+GTSSLMODE:0

OK

1.3+GTSSLERR,获取SSL错误码

该指令作用是查询最近一次SSL错误连接产生的错误码,两条指令作用一样。命令语法响应备注

Read AT+GTSSLERR OK

or:

+GTSSLERR:

e.g:+GTSSLERR:-20SSL连接没有发生错误,返回OK,否则返回最近一次连接发生的错误码。

Read AT+GTSSLERR?OK

or:

+GTSSLERR:SSL连接没有发生过错误,返回OK,否则返回最近一次连接发生

e.g:+GTSSLERR:-20的错误码。

下表显示+GTSSLERR指令参数。

参数说明

0表示正常;

-1表示参数错误;

-2表示SSL连接执行失败;

-3表示文件读取错误;

-4表示由于socket不能有效读或写,而使连接不能完成;

-5表示由于socket不能有效读,而使读写操作不能完成;

-6表示由于socket不能有效写,而使读写操作不能完成;

-7表示SSL协议错误;

-8表示服务端没有响应客户端发起的握手;

-9表示SSL连接被服务端主动断开;

-10表示未知错误;

-11表示证书校验失败(缺少TRUSTFILE信任证书或者证书过期);

-12表示证书长度信息不匹配;

-13表示缺失RSA加密的证书;

-14表示缺失RSA签名的证书;

-15表示不能找到公钥信息参数;

-16表示未知的证书类型;

-17表示客户端证书文件错误;

-18表示客户端密钥文件错误;

-19表示可信任的服务端证书文件错误;

-20表示SSL会话时获取数据超时。

Example:

AT+GTSSLERR

OK

AT+GTSSLERR?

OK

AT+GTSSLERR? +GTSSLERR:-20

OK

AT+GTSSLERR? +GTSSLERR:-11

OK

AT+GTSSLERR? +GTSSLERR:-8

OK

2实例

Example1:不需要验证证书即MODE为0 AT command ready

+SIM READY

at+gtsslfile?

+GTSSLFILE:CAFILE,0

+GTSSLFILE:KEYFILE,0

+GTSSLFILE:TRUSTFILE,0

OK

at+gtsslmode?

+GTSSLMODE:0//查询为普通的连接模式,不需要验证证书

OK

at+mipcall=1,"cmnet"

OK

+MIPCALL:10.79.220.142

at+mipopen=1,,"https://www.sodocs.net/doc/a212249652.html,",443,2

OK

+MIPOPEN:1,1

at+mipclose=1

OK

+MIPCLOSE:1,1

Example2:设置需要验证模式,缺少信任证书

at+gtsslmode=1

OK

at+gtsslmode?

+GTSSLMODE:1

OK

at+mipopen=1,,"https://www.sodocs.net/doc/a212249652.html,",443,2

OK

+MIPOPEN1,0//连接不上

AT+GTSSLERR?//查询原因

+GTSSLERR:-11//证书校验失败,首先推测原因可能是没有TRUSTFILE证书at+gtsslfile?//通过GTSSLFILE查询加载证书情况

+GTSSLFILE:CAFILE,0

+GTSSLFILE:KEYFILE,0

+GTSSLFILE:TRUSTFILE,0//缺少信任证书,即+GTSSLFILE:TRUSTFILE,0

OK

Example3:设置需要验证模式,有信任证书,连接不上,原因是需要设置时间,因为需要当前时间去和证书中的时间对比,确认证书是否已经过期。

at+gtsslmode=1//设置需要验证证书模式

OK

at+gtsslmode?

+GTSSLMODE:1

OK

AT+GTSSLFILE="TRUSTFILE",850//加载TRUSTFILE信任证书

>

….

OK

at+gtsslfile?

+GTSSLFILE:CAFILE,0

+GTSSLFILE:KEYFILE,0

+GTSSLFILE:TRUSTFILE,1//未缺少信任证书

OK

at+mipopen=1,,"114.255.225.39",20444,2

OK

+MIPOPEN1,0//连接失败

AT+GTSSLERR?

+GTSSLERR:-11//查询错误码原因,证书校验失败,而上面已经加载了证书;证书过期导致,结合Example4

Example4:在Example3基础上设置了当前时间,便于验证证书的时间

AT+CCLK="15/01/23,15:30:36"

//设置时间

OK

at+mipopen=1,,"114.255.225.39",20444,2

OK

+MIPOPEN:1,1//连接成功

AT+MIPCLOSE=1

OK

+MIPCLOSE:1,1

Example5:双向认证之一:不校验服务器证书AT+GTSSLMODE?

+GTSSLMODE:0

OK

AT+GTSSLFILE?

+GTSSLFILE:CAFILE,0

+GTSSLFILE:KEYFILE,0

+GTSSLFILE:TRUSTFILE,0

OK

AT+GTSSLFILE="CAFILE",1334

>

….

OK

AT+GTSSLFILE="KEYFILE",1675

>

….

OK

AT+GTSSLFILE?

+GTSSLFILE:CAFILE,1

+GTSSLFILE:KEYFILE,1

+GTSSLFILE:TRUSTFILE,0

OK

AT+MIPOPEN=1,,"188.93.19.231",5555,2

OK

+MIPOPEN:1,1

+MIPRTCP:

1,201,350A576564204A616E2032312031353A35383A3034204D534B20323031350A576564204A 616E2032312031353A35383A3035204D534B20323031350A576564204A616E2032312031353A3 5383A3036204D534B20323031350A576564204A616E2032312031353A35383A3037204D534B20 323031350A576564204A616E2032312031353A35383A3038204D534B20323031350A576564204 A616E2032312031353A35383A3039204D534B20323031350A576564204A616E2032312031353A 35383A3130204D534B20323031350A576564204A616E2032312031353A35383A3131204D534B2 0323031350A576564204A616E2032312031353A35383A3132204D534B20323031350A576564204 A616E2032312031353A35383A3133204D534B20323031350A576564204A616E2032312031353A 35383A3134204D534B20323031350A576564204A616E2032312031353A35383A3135204D534B2 0323031350A576564204A616E2032312031353A35383A3136204D534B20323031350A576564204 A616E2032312031353A35383A3137204D534B20323031350A576564204A616E2032312031353A 35383A3138204D534B20323031350A576564204A616E2032312031353A35383A3139204D534B2 0323031350A576564204A616E2032312031353A35383A3230204D534B20323031350A576564204 A616E2032312031353A35383A3231204D534B20323031350A576564204A616E2032312031353A 35383A3232204D534B20323031350A576564204A616E2032312031353A35383A3233204D534B2 0323031350A576564204A616E2032312031353A35383A3234204D534B20323031350A576564204 A616E2032312031353A35383A3235204D534B20323031350A576564204A616E2032312031353A

35383A3236204D534B20323031350A576564204A616E2032312031353A35383A3237204D534B2 0323031350A576564204A616E2032312031353A35383A3238204D534B20323031350A576564204 A616E2032312031353A35383A3239204D534B20323031350A576564204A616E2032312031353A 35383A3330204D534B20323031350A576564204A616E2032312031353A35383A3331204D534B2 0323031350A576564204A616E2032312031353A35383A3332204D534B20323031350A576564204 A616E2032312031353A35383A3333204D534B20323031350A576564204A616E2032312031353A 35383A3334204D534B20323031350A576564204A616E2032312031353A35383A3335204D534B2 0323031350A576564204A616E2032312031353A35383A3336204D534B20323031350A576564204 A616E2032312031353A35383A3337204D534B20323031350A576564204A616E2032312031353A 35383A3338204D534B20323031350A576564204A616E2032312031353A35383A3339204D534B2 0323031350A576564204A616E2032312031353A35383A3430204D534B20323031350A576564204 A616E2032312031353A35383A3431204D534B20323031350A576564204A616E2032312031353A 35383A3432204D534B20323031350A576564204A616E2032312031353A35383A3433204D534B2 0323031350A576564204A616E2032312031353A35383A3434204D534B20323031350A576564204 A616E2032312031353A35383A3435204D534B20323031350A576564204A616E2032312031353A 35383A3436204D534B20323031350A576564204A616E2032312031353A35383A3437204D534B2 0323031350A576564204A616E2032312031353A35383A3438204D534B20323031350A576564204 A616E2032312031353A35383A3439204D534B20323031350A576564204A616E2032312031353A 35383A3530204D534B20323031350A576564204A616E

+MIPRTCP:1,201,2032312031353A35383A3531204D534B20323031350A576564204A61

3附录

CA证书实例,注意,本程序仅仅支持base64编码格式的正式,如下所示

-----BEGIN CERTIFICATE-----

MIIEUjCCA7ugAwIBAgIMaNRI/dS0fjCIWMzpMA0GCSqGSIb3DQEBBQUAMEExDTAL

BgNVBAYeBABDAE4xETAPBgNVBAseCABJAEMAQgBDMR0wGwYDVQQDHhQAcgBvAG8A dABDAEEANwA4ADEAMDAeFw0wOTEyMDMxMTU3NTFaFw0zOTExMjYxMTU3NTFaMH4x DTALBgNVBAYeBABDAE4xGzAZBgNVBAgeEgBHAHUAYQBuAGcAZABvAG4AZzENMAsG A1UEBx4EAEcAWjERMA8GA1UECh4IAEIAYQBuAGsxETAPBgNVBAseCABJAEMAQgBD MRswGQYDVQQDHhIAcwB1AGIAQwBBADcAOAAyADgwgZ8wDQYJKoZIhvcNAQEBBQAD gY0AMIGJAoGBAJPVCgBKBJxImKAvTdJmnOJCN8xaO9to+mqKd0dIuyorMkBCBSsC

LNbveFTy4YzUQrwZKKbSYxOHFBpwSXMLWMzvQasU1QO6nM1pt6agDKFhyS0g07Md

eXurWZBPHjU5Kh6kNAtUgGCwCdwwy7kPqJU+hO6EhMEClzTxiTE0WIULAgMBAAGj

ggIQMIICDDAOBgNVHQ8BAQAEBAMCAIYwDwYDVR0TAQEABAUwAwEB/zCByQYDVR0f AQEABIG+MIG7MIG4oIG1oIGyhoGvbGRhcDovLzEyMi4xMzYuNzguMTg6Mzg5L0NO

PXJvb3RDQTc4MTAsIENOPXJvb3RDQTc4MTAsIE9VPUNSTERpc3RyaWJ1dGVQb2lu

dHMsIERDPWl1Y2FkLCBEQz1pY2JjLCBEQz1jb20sIERDPWNuP2NlcnRpZmljYXRl

UmV2b2NhdGlvbkxpc3Q/YmFzZT9vYmplY3RjbGFzcz1jUkxEaXN0cmlidXRpb25Q

b2ludDAUBglghkgBhvhCAQEBAQAEBAMCAAQwIgYDVR0jAQEABBgwFoAU03ocnyxJ

tUIQ6aT51gu0K7uVgRgwgcAGCCsGAQUFBwEBAQEABIGwMIGtMIGqBggrBgEFBQcw

AoaBnWxkYXA6Ly8xMjIuMTM2Ljc4LjE4OjM4OS9DTj1yb290Q0E3ODEwLENOPXJv

b3RDQTc4MTAsT1U9Y0FDZXJ0aWZpY2F0ZXMsREM9aXVjYWQsIERDPWljYmMsIERD PWNvbSwgREM9Y24/Y0FDZXJ0aWZpY2F0ZT9iYXNlP29iamVjdENsYXNzPWNlcnRp

ZmljYXRpb25BdXRob3JpdHkwIAYDVR0OAQEABBYEFNzkkw+GM/atvbKrgpXzayzB

FrtiMA0GCSqGSIb3DQEBBQUAA4GBAGjfYnEvvYcoEpeHq+Uv/ZBA9lmcbCdUZ/9h

2QBw8SfR4Lv8LAB9Kp+23oOQTQeEsi5MNlQDxOGKxOUUsmt4DBCLNRevxBmWEpur

rUlM/Ar4xte+LXoItI1ZCVDSPjnvLXGopQfaUtS3IlIWYvU5XG9fpGgUX02cqAN2

d5TgyvLY

-----END CERTIFICATE-----

相关主题