首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >数据处理思想和程序架构: 使用Mbedtls包中的SSL,和服务器进行网络加密通信

数据处理思想和程序架构: 使用Mbedtls包中的SSL,和服务器进行网络加密通信

作者头像
杨奉武
修改2025-08-07 15:17:48
修改2025-08-07 15:17:48
3K00
代码可运行
举报
文章被收录于专栏:知识分享知识分享
运行总次数:0
代码可运行

单向认证忽略认证方式

1.首先保证自己的程序已经实现了普通TCP连接通信

为了保证此篇文章能够让所有人都能应用,我就假设我的程序里面已经实现了TCP连接\

然后规定:

代码语言:javascript
代码运行次数:0
运行
复制
/*假设接收网络数据函数*/
int net_recv(char *data);
/*假设TCP发送数据函数*/
int net_send(char *data,int len);

2.按照上一节 把MBEDTLS包添加到工程

4.编译一下

5.选择C99模式

6.再编译一下

7.增加自己的随机数函数 和 时间戳返回函数

代码语言:javascript
代码运行次数:0
运行
复制
/*随机数函数*/
int mbedtls_hardware_poll( void *data,
                    unsigned char *output, size_t len, size_t *olen )
{
    unsigned long randomValue = ((rand()*20) + 1000);//生成随机数
    ((void) data);
    *olen = 0;
    
    if( len < sizeof(unsigned long) ) return( 0 );    

    memcpy( output, &randomValue, sizeof(unsigned long) );
    *olen = sizeof(unsigned long);
  return 0;
}

/**
* @brief  时间函数(SSL底层会调用时间验证证书是否过期)
**/
//struct tm *lcTime;
//time_t startTime;
//    lcTime = localtime (&startTime);
_ARMABI time_t time(time_t *t)
{
//    time_t it;
    if (t) {
        return *t;
    }
    else
    {
//        startTime = 0;
//        lcTime = localtime (&startTime);
//        it = mktime(lcTime);
//        return it ;
        return 0;
    }
}

12,连接上TCP以后,等待SSL握手成功

13,发送和接收数据

3.如果不能连接,可以打开DEBUG

#define MBEDTLS_DEBUG_C

4.配置DEBUG

代码语言:javascript
代码运行次数:0
运行
复制
/*设置 debug 输出函数*/
static void my_debug( void *ctx, int level,
                      const char *file, int line, const char *str )
{
    printf("%s:%04d: %s\r\n", file, line, str );
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-10-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 单向认证忽略认证方式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档