临时记录, 替换最新版的mbedtls
由于老版本的mbedtls对于一些ssl 的服务器是连接不上的, 所以需要替换最新的版本
下面是记录替换过程
https://github.com/Mbed-TLS/mbedtls
下载最新版的mbedtls源码, 然后把下面两个文件拷贝到原先的工程里面,替换掉原先的文件
编译后会有很多错误, 这种错误应该是编译器不支持, 那就打开C99模式
发现不能这样子, 需要先把原先的删除
再拷贝过去
然后再建一个Mbedtls 分组
把 Library 里面的文件全部添加到里面
把下面的改下
mbedtls_config
把mbedtls_config里面所有的#define全部屏蔽
咱以后用到什么功能再打开什么功能.
需要屏蔽的很多,自己慢慢的屏蔽!
屏蔽完编译一下工程, 改下
mbedtls_config.h打开以下宏
#define MBEDTLS_HAVE_ASM
#define MBEDTLS_NO_UDBL_DIVISION
#define MBEDTLS_HAVE_TIME
#define MBEDTLS_ENTROPY_HARDWARE_ALT
#define MBEDTLS_AES_ROM_TABLES
#define MBEDTLS_CIPHER_MODE_CBC
#define MBEDTLS_KEY_EXCHANGE_RSA_ENABLED
#define MBEDTLS_NO_PLATFORM_ENTROPY
#define MBEDTLS_PKCS1_V15
#define MBEDTLS_SSL_PROTO_TLS1_2
#define MBEDTLS_AES_C
#define MBEDTLS_ASN1_PARSE_C
#define MBEDTLS_ASN1_WRITE_C
#define MBEDTLS_BIGNUM_C
#define MBEDTLS_CIPHER_C
#define MBEDTLS_CTR_DRBG_C
#define MBEDTLS_ENTROPY_C
#define MBEDTLS_GCM_C
#define MBEDTLS_MD_C
#define MBEDTLS_MD5_C
#define MBEDTLS_OID_C
#define MBEDTLS_PK_C
#define MBEDTLS_PK_PARSE_C
#define MBEDTLS_PLATFORM_C
#define MBEDTLS_RSA_C
#define MBEDTLS_SHA1_C
#define MBEDTLS_SHA256_C
#define MBEDTLS_SHA512_C
#define MBEDTLS_SSL_CLI_C
#define MBEDTLS_SSL_TLS_C
#define MBEDTLS_X509_USE_C
#define MBEDTLS_X509_CRT_PARSE_C
然后还会报一个没有提供时间的函数
程序里面开一个1ms的定时器, 然后定义一个uint64_t的变量,放到定时器里面累加
然后把报错的地方改下
mbedtls_ms_time_t mbedtls_ms_time(void)
{
mbedtls_ms_time_t current_ms;
current_ms = sys_tick_get_timer();
return current_ms;
}
编译测试, 以前访问不到的ssl现在就可以了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具