Sim800支持SSL协议。 AT命令“AT + CIPSSL”将TCP设置为使用SSL功能。 在“sim800_series_ssl_application_note_v1.01.pdf”中注意到:“模块将在TCP连接后自动开始SSL证书”。 我的问题:开始SSL证书的确切含义是什么? sim800究竟做了什么? sim800是否从网站获得SSL证书? sim800在哪里保存SSL证书?
答案 0 :(得分:2)
据我所知,SIM800中有一些证书,当你使用TCP + SSL或HTTP + SSL连接时,它会自动使用这些证书。
如果这些证书不合适,您将需要使用SD卡,保存所需的证书并使用命令AT + SSLSETCERT设置您保存在SD卡上的证书。 Here您可以找到如何使用文件系统。
通常模块附带的证书就足够了,你不会需要这个。但是,例如,当我尝试通过MQTT与Azure通信时,它们对我无效。我不得不使用wolfSSL库自己加密数据,并使用TCP发送它而不使用SSL。
注意:并非所有SIM800模块都支持SD卡。
答案 1 :(得分:0)
网上有关于sim800和ssl证书的信息非常少,和你一样,我对它有很多疑问。
关于sim800如何获取证书以及保存位置的问题,根据sim800_series_ssl_application_note_v1.01.pdf,您可以创建(定义自己的路径),自行编写和导入ssl证书使用AT + FSCREATE,AT + FSWRITE和AT + SSLSETCERT命令。第3.10段提供了一个例子。
对不起,我无法回答你的其他问题。 无论如何,如果你得到关于sim800和ssl的更多信息,如果你和我分享,我将不胜感激。答案 2 :(得分:0)
当您使用 AT+CIPSSL 时,您告诉 SIM 模块使用 TCP 的 SSL 连接。当您使用 +CIPSTART 命令时->
//密钥交换
SIM 模块目前不支持客户端身份验证,这意味着服务器无法对客户端进行身份验证。这意味着必须有一些其他的身份验证选项(例如在 MQTT 中,可以是只有客户端知道的用户名和密码)
如果您希望您的模块能够对服务器进行身份验证,您需要为服务器创建自签名证书和证书颁发机构证书(用于 SIM 模块),该证书以加密方式连接到自签名证书并将它们上传到服务器和 SIM 模块(通过来自 SD 卡的 AT+SSLSETCERT 命令)。
如果您只想加密数据流量,您可以忽略无效证书 (AT+SSLOPT=0,0),因为您仍然会收到公钥。但是,如果您想确定服务器的真实性,则需要将正确的证书上传到模块。