发帖
0 0 0

m61-https忽略证书-https访问论坛

沈夜
论坛元老

70

主题

182

回帖

8053

积分

论坛元老

积分
8053
#if defined(BL_VERIFY)
    mbedtls_ssl_conf_authmode(&bl_hsbuf->conf, MBEDTLS_SSL_VERIFY_REQUIRED/*MBEDTLS_SSL_VERIFY_OPTIONAL*/);
    mbedtls_ssl_conf_ca_chain( &bl_hsbuf->conf, &bl_hsbuf->cacert, NULL );
#else
    mbedtls_ssl_conf_authmode(&bl_hsbuf->conf, MBEDTLS_SSL_VERIFY_NONE);
#endif

    mbedtls_ssl_conf_rng(&bl_hsbuf->conf, mbedtls_ctr_drbg_random, &bl_hsbuf->ctr_drbg);

    //todo
    mbedtls_ssl_conf_read_timeout(&bl_hsbuf->conf, 0);
    //mbedtls_ssl_set_timer_cb(&ssl, &ssl_timer, f_set_timer, f_get_timer);

    mbedtls_ssl_conf_dbg( &bl_hsbuf->conf, bl_debug, stdout );

BL_VERIFY 被定义时:

  • 会启用证书验证功能 (MBEDTLS_SSL_VERIFY_REQUIRED)
  • 会解析并加载证书 (mbedtls_x509_crt_parse)
  • 会设置CA证书链 (mbedtls_ssl_conf_ca_chain)

BL_VERIFY 未被定义时:

  • 使用 MBEDTLS_SSL_VERIFY_NONE 模式,不验证服务器证书
  • 不包含证书相关的代码

证书数据来自 bl_test_cli_key_rsa,其长度由 bl_test_cas_pem_len 定义。

测试了下 这两个 位置 定义了的时候 为真 启用证书验证功能

没定义 注释了 下面的代码 就不编译 也没法运行。

解决办法

一:复制一份 忽略证书验证。完美解决。

二:或者 去掉defined

让下面的 代码 能编译 也就能正常忽略了。

这应该算 bug代码了
大佬们 说说

测试 安信可论坛 可正常访问,同理其他网站也可。

正规方法 启用证书验证,添加证书。

f21e90c4ca042a4fa81ee61d4d99384.png

──── 0人觉得很赞 ────

使用道具 举报

您需要登录后才可以回帖 立即登录
高级模式
返回
统计信息
  • 会员数: 28708 个
  • 话题数: 40943 篇