乐鑫技术交流
直播中

张杰

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

ESP32采用SSL连接阿里云注服务器失败怎么解决?

串口输出日志:

DEBUG,t:20.85,m:211.06,[HTTPS] connection to aliyun server ...

[D][HTTPClient.cpp:276] beginInternal(): host: iot-auth.cn-shanghai.aliyuncs.com port: 443 url: /auth/register/device

PS] POST...

DEBUG,t:20.86,m:210.86,ali device register:productKey=a1AyzHf9sXq&deviceName=7D12CFA4&random=20864&sign=208ADB5862D0FD3F5591BFB88A03FC6B6A08F6EBDC4423897691AA884D93B32D&signMethod=hmacsha256

[D][HTTPClient.cpp:1025] connect():  connected to iot-auth.cn-shanghai.aliyuncs.com:443

[E][ssl_client.cpp:33] handle_error(): SSL - Bad input parameters to function

[E][ssl_client.cpp:35] handle_error(): MbedTLS message code: -28928

[E][ssl_client.cpp:33] handle_error(): SSL - Bad input parameters to function

[E][ssl_client.cpp:35] handle_error(): MbedTLS message code: -28928

[E][ssl_client.cpp:33] handle_error(): SSL - Bad input parameters to function

[E][ssl_client.cpp:35] handle_error(): MbedTLS message code: -28928

[W][HTTPClient.cpp:1318] returnError(): error(-2): send header failed

[E][ssl_client.cpp:33] handle_error(): SSL - Bad input parameters to function

[E][ssl_client.cpp:35] handle_error(): MbedTLS message code: -28928

[D][HTTPClient.cpp:1320] returnError(): tcp stop

[HTTPS] POST... failed, error: send header failed

[E][ssl_client.cpp:33] handle_error(): SSL - Bad input parameters to function

[E][ssl_client.cpp:35] handle_error(): MbedTLS message code: -28928



代码片段:

WiFiClientSecure* _client = new WiFiClientSecure;

        if (!_client)return false;

        _client->setCACert(root_ca);

        AliMqttAuth auth = Config.ali_mqtt;

        HTTPClient _https;

        sprintf(host, "https://iot-auth.%s.aliyuncs.com/auth/register/device", auth.region_id);

        INFO.print_debug("[HTTPS] connection to aliyun server ...rn");

        if (_https.begin(*_client, host)) {  // HTTPS

                INFO.print("[HTTPS] POST...rn");

                prepare_data();

                // start connection and send HTTP header

                size_t len = strlen(post_data);

                _https.addHeader("Content-Type", "application/x-www-form-urlencoded");

                _https.addHeader("Content-Length", String(len));

                int httpCode = _https.POST((uint8_t*)post_data, strlen(post_data));

更多回帖

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