错误原因:
在服务器生成证书时候,会要求你填一个CN字段。esp例程中会通过你的URL获取你的IP或者域名,保存在变量use_host中。如果程序检测到获得的IP或者域名与你的证书CN字段不匹配,就会出现这种错误。
解决方法:
在服务器生成证书的时候,如果你用域名访问,就把CN字段填为域名。如果你用IP访问,就填IP。
或者通过 int mbedtls_ssl_set_hostname( mbedtls_ssl_context *ssl, const char *hostname )
这个函数去设置参数hostname和你的CN字段的内容一样。
(例如:生成证书时候,你的CN字段填写的baidu.com,那么你就用https://baidu.com去访问。如果你填的是IP,192.268.1.1,那么你就用https://192.268.1.1去访问。如果想获得更加详细的解决,访问https://forums.mbed.com/t/x509-verify-cert-returned-9984-0x2700/4434 (需要科学上网访问))
联系:
有什么不清楚的联系我的邮箱
848337706@qq.com