首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SIM800L调制解调器HTTPS问题

SIM800L调制解调器HTTPS问题
EN

Stack Overflow用户
提问于 2020-03-21 01:56:30
回答 2查看 1.5K关注 0票数 1

我在SIM800L中使用SSL证书锁定时遇到问题。我可以使用AT+HTTPSSL=0和AT+HTTPSSL=1成功发出GET请求,但是模块不会检查提供的服务器证书是否有效。根据this thread的说法,我已经将证书上传到模块的文件系统。我可以使用AT命令成功设置证书:

代码语言:javascript
复制
AT+SSLSETCERT=cert.cer

AT+SSLSETCERT=cert.cer
OK

+SSLSETCERT: 0

然而,这样做似乎不会阻止其他证书的使用,例如,我已经尝试使用google.com和mywebsite.com (我已经为它们导入了证书)。因此,我更深入地研究了一下,找到了SSLOPT命令,根据SSL docs的说法,它应该会阻止无效证书。使用AT+SSLOPT=0,0设置标志,然后执行HTTPS请求会得到一个605错误:

代码语言:javascript
复制
+HTTPACTION: 0,605,0

文档显示这意味着"SSL无法建立通道“。我对此的理解是,服务器提供了一个无效的证书(因此,与AT+SSLSETCERT加载的证书不同)。如果我理解正确的话,我会预料到在请求google.com或selfsigned.badssl.com时会出现这个错误。问题是,即使我向mywebsite.com发出请求,也会得到这个结果,为此,我将证书加载到了存储区中。

我用两个不同的模块(SIM800L和SIM808)尝试了类似的过程,得到了类似的结果。我做错了什么吗?

以下是命令的完整列表以及它们对mywebsite.com请求的响应:

代码语言:javascript
复制
AT+CREG?
+CREG: 0,5

OK
AT+SAPBR=1,1

AT+SAPBR=1,1
OK
AT+HTTPINIT

AT+HTTPINIT
OK
AT+HTTPPARA="URL","mywebsite.com"

AT+HTTPPARA="URL","mywebsite.com"
OK
AT+HTTPPARA="CID",1

AT+HTTPPARA="CID",1
OK
AT+HTTPSSL=1

AT+HTTPSSL=1
OK
AT+SSLSETCERT=cert.cer

AT+SSLSETCERT=cert.cer
OK

+SSLSETCERT: 0
AT+SSLOPT=0,0

AT+SSLOPT=0,0
OK
AT+HTTPACTION=0

AT+HTTPACTION=0
OK
AT+HTTPREAD

AT+HTTPREAD
OK

+HTTPACTION: 0,605,0 <<<-------This shouldn't be 605
AT+HTTPTERM

AT+HTTPTERM
OK
AT+SAPBR=0,1

AT+SAPBR=0,1
OK
EN

回答 2

Stack Overflow用户

发布于 2020-06-22 21:20:08

这个问题也困扰了我很长一段时间。解决方案如下所示-- https端口应该在站点地址中指定。事实并非如此:

代码语言:javascript
复制
AT + HTTPPARA = "URL", "mywebsite.com"

因此:

代码语言:javascript
复制
AT + HTTPPARA = "URL", "mywebsite.com:443"
票数 0
EN

Stack Overflow用户

发布于 2020-10-30 01:14:57

我找到了simcom关于ssl here的文档,我在里面看到了一个例子。

使用HTTPS的4.5HTTPS Get方法

代码语言:javascript
复制
// Use HTTPS download data
AT+HTTPINIT
OK
//Init HTTP service
AT+HTTPPARA="CID",1
OK
AT+HTTPPARA="URL","www.gmail.com" OK
AT+HTTPPARA="REDIR",1
OK
//Set parameters for HTTP session
AT+HTTPSSL=1
OK
//Enable HTTPS function
AT+HTTPACTION=0
OK
+HTTPACTION: 0,200,84200
//GET session start
//GET successfully
AT+HTTPREAD
+HTTPREAD: 84200 …. OK
//Read the data of HTTP server
AT+HTTPTERM
OK
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60779292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档