【问题标题】:SIM800L modem HTTPS issueSIM800L 调制解调器 HTTPS 问题
【发布时间】:2020-03-20 17:56:30
【问题描述】:

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

AT+SSLSETCERT=cert.cer

AT+SSLSETCERT=cert.cer
OK

+SSLSETCERT: 0

但是,这样做似乎不会阻止使用其他证书,例如。 G。我已经尝试过使用 google.com 和 mywebsite.com(我已经为其导入了证书)。所以我更深入地挖掘并找到 SSLOPT 命令,它应该(根据SSL docs)阻止无效证书。使用 AT+SSLOPT=0,0 设置标志,然后执行 HTTPS 请求得到 605 错误:

+HTTPACTION: 0,605,0

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

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

以下是命令的完整列表及其对 mywebsite.com 的请求的回复:

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

【问题讨论】:

    标签: gsm sim800


    【解决方案1】:

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

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

    等等:

    AT + HTTPPARA = "URL", "mywebsite.com:443"
    

    【讨论】:

      【解决方案2】:

      我找到了 simcom 的关于 ssl here 的文档,我在其中看到了一个示例。 (第 19 页)

      4.5 HTTPS HTTPS 获取方法

      // 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-03-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-04
        相关资源
        最近更新 更多