乐鑫技术交流
直播中

李涛

7年用户 1404经验值
私信 关注
[问答]

esp8266使用AT指令建立TCP SSL连接时证书应该烧录在什么位置?

我想使用esp8266_nonos_sdk_v2.0.0的AT指令集中的AT+CIPSTART 建立SSL连接,但是找了很多文档也没有看到建立连接所需要的证书和密钥(包括根证、设备证书和密钥)应该烧录在flash的什么位置。烦请告诉我一下。

回帖(1)

任凭风吹

2024-7-12 14:22:49
在使用ESP8266建立TCP SSL连接时,证书和密钥通常需要烧录到设备的Flash存储器中。以下是详细的步骤和说明:

1. 准备证书和密钥:首先,您需要获取或生成所需的证书和密钥,包括根证书、设备证书和私钥。这些证书和密钥通常以PEM或DER格式提供。

2. 转换证书和密钥格式:ESP8266的AT指令集通常要求证书和密钥以二进制格式存储。因此,您需要将PEM或DER格式的证书和密钥转换为二进制格式。可以使用以下命令进行转换(以PEM格式为例):

   ```
   openssl x509 -outform der -in root_cert.pem -out root_cert.der
   openssl pkcs8 -topk8 -nocrypt -in device_key.pem -out device_key.der
   openssl x509 -outform der -in device_cert.pem -out device_cert.der
   ```

3. 烧录证书和密钥到Flash:将转换后的二进制证书和密钥烧录到ESP8266的Flash存储器中。您可以使用以下AT指令来烧录数据:

   ```
   AT+CIUPDATE
   ```

   然后,按照提示输入烧录的数据和长度。例如,烧录根证书:

   ```
   +CIPUPDATE:0,,
   ```

   同样地,烧录设备证书和私钥:

   ```
   +CIPUPDATE:1,,
   +CIPUPDATE:2,,
   ```

   注意:是证书或密钥数据的长度,分别是根证书、设备证书和私钥的二进制数据。

4. 使用AT指令建立SSL连接:在烧录证书和密钥后,您可以使用AT+CIPSTART指令建立SSL连接。例如:

   ```
   AT+CIPSTART="TCP","example.com",443
   ```

   这将尝试使用烧录的证书和密钥与example.com建立SSL连接。

5. 验证连接:使用其他AT指令(如AT+CIPSEND)发送数据并接收响应,以验证SSL连接是否成功建立。

请注意,ESP8266_nonos_sdk_v2.0.0的AT指令集可能与其他版本的指令集略有不同。因此,建议您查阅ESP8266_nonos_sdk_v2.0.0的官方文档以获取更详细的信息。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分