免费的建设网站软件广州网站建设+致茂

张小明 2026/1/13 0:34:17
免费的建设网站软件,广州网站建设+致茂,网络营销成功的案例分析,莱芜上汽大众4s店以下是基于 C 语言 + mbedtls 实现 TLS 加密通信的完整落地代码,包含服务器端和客户端,适配 Linux / 嵌入式 Linux 环境,兼顾可读性和生产级安全规范。 一、环境准备 安装 mbedtls:参考前文编译部署步骤,确保头文件路径(/usr/local/mbedtls/include)和库路径(/usr/loc…以下是基于C 语言 + mbedtls实现 TLS 加密通信的完整落地代码,包含服务器端和客户端,适配 Linux / 嵌入式 Linux 环境,兼顾可读性和生产级安全规范。一、环境准备安装 mbedtls:参考前文编译部署步骤,确保头文件路径(/usr/local/mbedtls/include)和库路径(/usr/local/mbedtls/lib)正确。生成证书:执行前文的 OpenSSL 命令,生成ca_crt.pem(CA 根证书)、server_crt.pem(服务器证书)、server_key.pem(服务器私钥)、client_crt.pem(客户端证书)、client_key.pem(客户端私钥)。二、核心通用工具函数(tls_common.h)封装 mbedtls 初始化、释放、收发等通用逻辑,减少代码冗余。#ifndef TLS_COMMON_H #define TLS_COMMON_H #include stdio.h #include stdlib.h #include string.h #include unistd.h #include sys/socket.h #include netinet/in.h #include arpa/inet.h #include fcntl.h #include "mbedtls/ssl.h" #include "mbedtls/x509_crt.h" #include "mbedtls/ctr_drbg.h" #include "mbedtls/entropy.h" #include "mbedtls/pk.h" // TLS上下文(每个连接独立) typedef struct { int fd; // TCP套接字 mbedtls_ssl_context ssl; // SSL会话上下文 mbedtls_ssl_config conf; // SSL配置 mbedtls_x509_crt cert; // 本地证书(服务器/客户端) mbedtls_pk_context pkey; // 本地私钥 mbedtls_x509_crt cacert; // CA根证书(用于验证对方) mbedtls_entropy_context entropy; // 熵源 mbedtls_ctr_drbg_context ctr_drbg;// 随机数生成器 } tls_ctx_t; // 错误码打印辅助函数 void mbedtls_perror(const char *func, int ret); // 初始化TLS上下文 // role: MBEDTLS_SSL_IS_SERVER / MBEDTLS_SSL_IS_CLIENT // cert_path: 本地证书路径(NULL则不加载) // key_path: 本地私钥路径(NULL则不加载) // ca_path: CA根证书路径(用于验证对方证书) int tls_ctx_init(tls_ctx_t *ctx, int role, const char *cert_path, const char *key_path, const char *ca_path); // TLS握手(阻塞模式) int tls_handshake(tls_ctx_t *ctx); // 加密发送数据(替代send) ssize_t tls_send(tls_ctx_t *ctx, const void *buf, size_t len); // 加密接收数据(替代recv) ssize_t tls_recv(tls_ctx_t *ctx, void *buf, size_t len); // 释放TLS上下文 void tls_ctx_free(tls_ctx_t *ctx); // 创建TCP套接字(通用) int tcp_socket_create(const char *ip, int port, int is_server); #endif // TLS_COMMON_H三、通用工具函数实现(tls_common.c)#include "tls_common.h" void mbedtls_perror(const char *func, int ret) { char buf[1024] = {0}; mbedtls_strerror(ret, buf, sizeof(buf)); fprintf(stderr, "[ERROR] %s: %d - %s\n", func, ret, buf); } int tls_ctx_init(tls_ctx_t *ctx, int role, const char *cert_path, const char *key_path, const char *ca_path) { int ret; const char *pers = "tls_comm"; // 随机数种子标识 // 初始化所有上下文 memset(ctx, 0, sizeof(tls_ctx_t)); mbedtls_ssl_init(ctx-ssl); mbedtls_ssl_config_init(ctx-conf); mbedtls_x509_crt_init(ctx-cert); mbedtls_pk_init(ctx-pkey);
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站开发恶意索赔用wordpress建站难吗

环境影响评估 1. 引言 在交通规划和设计中,环境影响评估(Environmental Impact Assessment, EIA)是一个至关重要的环节。它旨在分析和评估交通项目对环境的潜在影响,包括空气污染、噪声污染、水污染等方面。通过对这些影响的评估&…

张小明 2026/1/5 14:17:32 网站建设

设计官方网站如何建立学校网站

Java MQTT 开发方案全景对比与实践指南 MQTT(Message Queuing Telemetry Transport)作为轻量级物联网消息协议,在 Java 生态中应用广泛。无论是传统后端应用,还是云端物联网平台,选择合适的 MQTT 客户端或集成方案都是项目成功的关键。本文将从核心库、Spring生态集成、云…

张小明 2025/12/24 8:07:41 网站建设

环球旅行社网站建设规划书开发网站定制

还记得那些被监控系统折磨的日子吗?😩 配置Prometheus告警规则到深夜,却依然漏掉关键故障;开发团队抱怨"监控太复杂",运维团队苦恼"数据看不懂"。这些问题,Coroot都能帮你解决。 【免费…

张小明 2026/1/10 0:37:32 网站建设

农场游戏系统开发 网站建设推广WordPress食谱小程序

你是否曾经为了安全弹出U盘,在Windows系统托盘里反复点击,却总是遇到"设备正在使用"的尴尬提示?或者因为忘记弹出设备,直接拔掉U盘导致数据丢失?这些困扰无数Windows用户的痛点,现在有了完美的解…

张小明 2025/12/30 19:57:26 网站建设

快速一体化网站建设如何做微信小程序网站

为避免层级、布局和事件体系导致的副作用(例如受父元素的CSS影响) 模态框通常挂在 document.body 或根节点下 直接 DOM 操作 首先我想的是 const modal document.createElement(div) modal.className modal document.body.appendChild(modal)然后配置 …

张小明 2026/1/10 18:55:54 网站建设