您尚未登录。

楼主 #1 2019-07-30 20:38:07

playflash
会员
注册时间: 2018-09-14
已发帖子: 91
积分: 91

https访问一定要证书吗?

aaaaa.png

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);
}

离线

#2 2019-07-30 22:37:06

jimmy
会员
注册时间: 2017-10-29
已发帖子: 316
积分: 315

Re: https访问一定要证书吗?

我觉得可以忽略证书吧:


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

离线

楼主 #3 2019-07-31 11:25:04

playflash
会员
注册时间: 2018-09-14
已发帖子: 91
积分: 91

Re: https访问一定要证书吗?

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

谢谢,经你提示,看了源码,那个证书的确是验证要连接的服务器用的,可以忽略。
但同时, 会不会服务器也会验证我们的客户端?

离线

#4 2019-07-31 12:26:07

cityf
会员
注册时间: 2017-11-03
已发帖子: 195
积分: 195

Re: https访问一定要证书吗?

怪不得我们公司的网页服务器没有证书,点忽略也可以打开。

离线

#5 2019-07-31 12:29:03

jimmy
会员
注册时间: 2017-10-29
已发帖子: 316
积分: 315

Re: https访问一定要证书吗?

研究不深,感觉是用来验证服务器是否合法的,用于判断是不是(中间人???)攻击。

离线

#6 2019-08-01 17:48:20

KingJin
会员
注册时间: 2018-04-12
已发帖子: 106
积分: 101

Re: https访问一定要证书吗?

playflash 说:
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

谢谢,经你提示,看了源码,那个证书的确是验证要连接的服务器用的,可以忽略。
但同时, 会不会服务器也会验证我们的客户端?

一般服务器不会验证客户端的证书,除非开启了双向认证.

离线

#7 2019-08-01 18:49:38

aozima
会员
所在地: 深圳
注册时间: 2019-05-25
已发帖子: 446
积分: 313.5
个人网站

Re: https访问一定要证书吗?

根证书多了也占空间,一般嵌入式设备只把关键应用的服务器根证书导入。

离线

#8 2020-04-24 09:22:57

akinggw
会员
注册时间: 2020-04-02
已发帖子: 25
积分: 34.5

Re: https访问一定要证书吗?

肯定得要证书,不过现在证书是可以免费申请到的,也不是很麻烦,按照流程走很快就申请到了。

离线

#9 2020-04-25 11:14:06

xyyangkun
会员
注册时间: 2018-03-14
已发帖子: 18
积分: 17

Re: https访问一定要证书吗?

域名访问https才有必要使用证书,ip访问就没必要了。证书就是防止中间人攻击

离线

#10 2020-04-25 11:18:52

barcode
会员
注册时间: 2020-03-27
已发帖子: 3
积分: 2.5

Re: https访问一定要证书吗?

xyyangkun 说:

域名访问https才有必要使用证书,ip访问就没必要了。证书就是防止中间人攻击

萌新路过,请教一下什么是中间人攻击,为什么用IP访问就不怕中间人攻击了?

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn