我在ESP8266设备上遇到了一个与SSL服务器相关的问题。(ESP8266_NONOS_SDK-2.1.0)
我创建了一个自我认证的证书(当然,是私钥)。我按照以下代码启动了SSL服务器。
espconn_secure_set_default_cer
tificate (default_certificate, default_certificate_len);
espconn_secure_set_default_private_key (default_private_key, default_private_key_len);
espconn_secure_accept (&esp_conn);
来自 Android 设备或 PC 的连接似乎没问题。但是,几秒钟后,我的ESP8266设备将自动断开这些连接。
服务器握手开始。
服务器握手OK!
[Callback] Client 172.16.1.126:51689 disconnect
在SDK环境中执行命令时,我得到了相同的结果:
openssl s_client -connect 172.16.1.164:11830 -state -debug
部分输出为
SSL 会话:
Protocol : TLSv1.1
Cipher : AES256-SHA
Session-ID: D2A7812E5CCF18A24E90C1619BBC677BD1870469A84BACADF7ABC1039384CE71
Session-ID-ctx:
Master-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1508323128
Timeout : 300 (sec)
Verify return code: 21 (unable to verify the first certificate)
---
读取:errno=0
SSL3 警报写入:警告:关闭通知
read from 0x9f4d250 [0x9f52a83] (5 bytes => 0 (0x0))
write to 0x9f4d250 [0x9f56fd3] (53 bytes => 53 (0x35))
0000 - 15 03 02 00 30 42 a6 7a-8b 14 b3 e0 5f 2b 4d 56 ....0B.z...._+MV
0010 - 1b 29 77 9f d7 80 4e cf-07 fd 29 17 69 c6 bf 6c .)w...N...).i..l
0020 - f7 ed 74 0c 9a 66 99 f2-d6 73 ee e6 71 13 9f c4 ..t..f...s..q...
0030 - c8 93 ac f1 32 ....2