esp_http_client例子中, 带有一证书, 如上图。
但这个证书不是例子中目标网站https://www.howsmyssl.com 的? 这是证书颁发机构Let's Encrypt的。
所以, https访问是要先从howsmyssl.com取得他们的证书,再到证书颁发机构Let's Encrypt验证??
不用这个PEM格式的证书可以吗?
麻烦大侠解惑。
以下是示例代码
static void https_with_url()
{
esp_http_client_config_t config = {
.url = "https://www.howsmyssl.com",
.event_handler = _http_event_handler,
.cert_pem = howsmyssl_com_root_cert_pem_start,
};
esp_http_client_handle_t client = esp_http_client_init(&config);
esp_err_t err = esp_http_client_perform(client);if (err == ESP_OK) {
ESP_LOGI(TAG, "HTTPS Status = %d, content_length = %d",
esp_http_client_get_status_code(client),
esp_http_client_get_content_length(client));
} else {
ESP_LOGE(TAG, "Error perform http request %s", esp_err_to_name(err));
}
esp_http_client_cleanup(client);
}
离线
我觉得可以忽略证书吧:
https://blog.csdn.net/bytxl/article/details/46989667
curl wget 不验证证书进行https请求:
wget 'https://x.x.x.x/get_ips' --no-check-certificate
curl 'https://x.x.x.x/get_ips' -k
离线
我觉得可以忽略证书吧:
https://blog.csdn.net/bytxl/article/details/46989667
curl wget 不验证证书进行https请求:
wget 'https://x.x.x.x/get_ips' --no-check-certificate
curl 'https://x.x.x.x/get_ips' -k
谢谢,经你提示,看了源码,那个证书的确是验证要连接的服务器用的,可以忽略。
但同时, 会不会服务器也会验证我们的客户端?
离线
怪不得我们公司的网页服务器没有证书,点忽略也可以打开。
离线
研究不深,感觉是用来验证服务器是否合法的,用于判断是不是(中间人???)攻击。
离线
jimmy 说:我觉得可以忽略证书吧:
https://blog.csdn.net/bytxl/article/details/46989667
curl wget 不验证证书进行https请求:
wget 'https://x.x.x.x/get_ips' --no-check-certificate
curl 'https://x.x.x.x/get_ips' -k谢谢,经你提示,看了源码,那个证书的确是验证要连接的服务器用的,可以忽略。
但同时, 会不会服务器也会验证我们的客户端?
一般服务器不会验证客户端的证书,除非开启了双向认证.
离线
肯定得要证书,不过现在证书是可以免费申请到的,也不是很麻烦,按照流程走很快就申请到了。
离线
域名访问https才有必要使用证书,ip访问就没必要了。证书就是防止中间人攻击
离线
域名访问https才有必要使用证书,ip访问就没必要了。证书就是防止中间人攻击
萌新路过,请教一下什么是中间人攻击,为什么用IP访问就不怕中间人攻击了?
离线