信息安全
文章平均质量分 92
未来创世纪
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
在嵌入式设备上使用 Protocol Buffers (Protobuf) 进行数据序列化和解析
Protocol Buffers (Protobuf) 是 Google 开发的二进制序列化格式,适合嵌入式设备上的数据交换,因为它高效、紧凑。但在资源受限的嵌入式系统(如 ARM-based MCU)上,标准 Protobuf 库可能太大(内存占用高),推荐使用轻量版如 **nanopb**(C 语言实现,易移植到 C++)。如果你的设备资源充足(如运行 Linux 的嵌入式板,如 Raspberry Pi),可使用标准 Protobuf C++ 库。下面我详细介绍整个流程:从 proto 文件生成 C+原创 2026-02-05 11:22:32 · 868 阅读 · 0 评论 -
OpenSSL TLS连接认证问题排查完全指南
OpenSSL TLS连接认证问题排查指南 本文提供了OpenSSL TLS连接认证问题的全面排查方法。主要内容包括: 调试参数详解:从基础到高级的5级调试方法,包含-msg、-debug等参数组合,特别推荐-msg -tlsextdebug -sigalgs -status组合用于诊断TLS 1.3问题。 TLS版本差异:对比TLS 1.2和1.3在证书签名要求上的关键区别,指出TLS 1.3严格禁用PKCS#1 v1.5签名算法,只支持PSS算法。 诊断工具:提供错误栈追踪方法、流程追踪示例和终极诊断命原创 2026-01-26 17:46:16 · 882 阅读 · 0 评论 -
SSL/TLS认证流程与CA证书字段详解
SSL/TLS认证流程与CA证书字段详解 摘要: 本文详细解析SSL/TLS认证流程与CA证书核心字段。主要内容包括: SSL/TLS认证流程概述:基于PKI体系构建信任链(根CA→中间CA→终端证书) 证书链验证机制:通过签名验证逐级建立信任关系 TLS握手流程详解:包含Client Hello、证书交换、密钥协商等关键步骤 CA证书字段解析:重点说明主题信息、签发者、有效期、公钥算法、扩展字段(如Basic Constraints、Key Usage)等关键字段及其在认证中的作用 示例分析:以GOTOP原创 2026-01-26 10:32:39 · 1347 阅读 · 0 评论 -
paho-mqtt-c + OpenSSL 3.x 连接华为云 IoTDA TLS 握手失败问题分析
摘要: 华为云IoTDA TLS握手失败问题分析显示,使用paho-mqtt-c+OpenSSL 3.x连接时出现internal_error(80)错误。经排查,主要原因为服务器端TLS1.3兼容性问题及OpenSSL 3.x与paho库的适配缺陷。最终解决方案是降级至OpenSSL 1.1.1系列(成功率最高),同时建议:1)强制使用TLS1.2协议;2)通过域名连接确保SNI发送;3)显式指定兼容密码套件。该问题为当前国产IoT平台与OpenSSL 3.x的典型兼容性冲突,2025-2026年实际场景原创 2026-01-12 18:00:38 · 1043 阅读 · 0 评论 -
MQTT-C TLSv1.2调试核心技巧
本文整理了基于paho-mqtt-c开源库调试TLSv1.2连接的两大核心方法: 日志调试方法 通过环境变量快速开启日志输出(无需修改代码) 通过代码自定义日志回调函数实现精细化控制 提供SSL层日志回调示例用于定位TLS握手细节 OpenSSL强制指定TLSv1.2版本 通过SSL_CTX_set_min/max_proto_version限制协议版本范围 提供不同OpenSSL版本的兼容性API方案 包含完整代码示例和核心常量说明 这些方法适用于C语言开发的MQTT/TLS连接调试场景,可有效解决协议版原创 2026-01-09 16:42:04 · 770 阅读 · 0 评论 -
SSL/TLS 证书在客户端-服务器通信中的详解
SSL/TLS证书在客户端-服务器通信中起关键安全作用,主要涉及三种PEM格式文件:ca.pem(根证书)、cert.pem(服务器证书)和key.pem(私钥)。ca.pem作为信任锚点验证证书合法性,cert.pem证明服务器身份并包含公钥,key.pem是服务器持有的私钥用于解密和签名。TLS握手过程中,客户端使用ca.pem验证服务器证书,建立加密通道。实际应用中需严格保护私钥,定期轮换证书,并可使用双向认证增强安全性。常见问题包括证书不匹配、过期等,需通过正确配置解决。原创 2026-01-08 10:34:39 · 916 阅读 · 0 评论 -
mqtt在TLSv1.3下连接失败的核心原因
TLSv1.3证书握手失败问题摘要:同一证书在TLSv1.2可用但TLSv1.3被拒,原因是TLSv1.3强制四项新校验(EKU扩展、KeyUsage、SAN匹配、CRL可达性)全部失败。旧证书因缺少EKU、关键KeyUsage不全、无SAN匹配SNI、CRL不可达而无法通过。解决方案包括重新签发带EKU的证书、补充KeyUsage、添加SAN、确保CRL可达。整改后证书可同时兼容TLSv1.2和TLSv1.3。可通过openssl命令快速验证证书配置和模拟握手测试。原创 2026-01-07 16:24:57 · 903 阅读 · 0 评论 -
MQTT连接建立全流程解析
本文详细解析了MQTT协议连接建立的全过程。首先通过TCP/TLS建立底层连接,然后客户端发送包含ClientID、认证信息等参数的CONNECT报文。代理验证后返回CONNACK报文,其中返回码决定连接是否成功。文章还介绍了Keep Alive机制、Clean Session选项和遗嘱消息等关键特性,并通过Mermaid流程图直观展示了连接流程。整个连接过程涉及网络层建立、协议握手、身份验证等多个环节,是MQTT通信的基础。原创 2026-01-06 17:13:39 · 1190 阅读 · 0 评论 -
MQTT连接失败定位步骤
摘要:MQTT连接失败排查需分步骤进行:1)检查网络连通性、端口开放及系统时间;2)验证证书有效性、格式及私钥匹配;3)抓包分析TLS/MQTT协议版本兼容性;4)检查OpenSSL及paho-mqtt-c库版本依赖。关键工具包括tcpdump、openssl和ldd,重点关注证书有效期、TLS版本协商及库版本匹配。排查顺序应从基础网络问题到深层加密配置,最后通过服务端日志辅助定位问题根源。(149字)原创 2026-01-06 17:08:07 · 1186 阅读 · 0 评论 -
OpenSSL 签名验证详解:PKCS7* p7、cafile 与 RSA 验签实现
本文深入剖析 OpenSSL 中 PKCS7* p7 数据结构和 cafile 的作用及相互关系,详细讲解基于 OpenSSL 的 RSA 验签字符串的 C 语言实现,涵盖签名解析、证书加载、验证流程及关键要点,助力开发者掌握数字签名验证技术,确保数据完整性和来源可靠性。原创 2025-05-26 17:07:19 · 1938 阅读 · 0 评论 -
OpenSSL 签名格式全攻略:深入解析与应用要点
OpenSSL 支持多种数字签名格式,本文深入解析其常见格式及应用场景。涵盖 PEM、DER、PKCS#7/CMS、算法特定格式及 X.690 DER 编码,详述各格式结构特点,如 PEM 的 Base64 编码与文本标记,DER 的二进制紧凑表示与 TLV 结构。同时阐述签名生成验证流程及格式转换方法,助力开发者在不同场景下安全高效地利用数字签名,保障数据完整性与不可否认性。原创 2025-05-26 16:38:12 · 1348 阅读 · 0 评论 -
OpenSSL 文件验签与字符串验签原理及 C 语言实现详解
本文深入探讨了基于 OpenSSL 的文件验签与字符串验签原理及 C 语言实现方法。先阐述数字签名验证原理,包括基于非对称加密算法和哈希算法的签名生成与验证流程,着重介绍 OpenSSL 中利用 EVP 高级接口实现数字签名验证的关键函数及其作用。随后分别提供文件验签和字符串验签的完整 C 语言代码示例,详细解析各步骤要点,如公钥加载、数据读取、验证上下文初始化、更新验证数据及完成验证等,并给出代码步骤详解。此外,还涵盖错误处理与调试技巧,通过 OpenSSL 错误报告机制排查验证失败原因,列举常见错误类型原创 2025-05-26 16:09:54 · 1489 阅读 · 0 评论 -
AES加密模式详解及OpenSSL C库函数指南
AES(高级加密标准)是一种对称分组加密算法,支持多种工作模式以适应不同的安全需求和应用场景。以下是五种主要加密模式的详细说明原创 2025-05-23 17:02:32 · 1804 阅读 · 0 评论
分享