首页
/ open62541 v1.4.9版本发布:OPC UA开源库的重要更新

open62541 v1.4.9版本发布:OPC UA开源库的重要更新

2025-06-17 18:23:29作者:侯霆垣

项目概述

open62541是一个开源的OPC UA(OPC统一架构/IEC 62541)实现,采用C语言编写。该项目提供了实现专用OPC UA客户端和服务器的必要工具,也可将OPC UA通信集成到现有应用中。作为一个平台无关的库,open62541通过可交换插件实现所有平台特定功能,便于移植到不同的嵌入式目标平台。

核心改进

v1.4.9版本在证书验证方面进行了重要增强,增加了对额外证书验证状态码的屏蔽处理。这一改进提升了安全通信的健壮性,特别是在处理ERR响应时能够更准确地识别和处理证书问题。

线程安全方面,该版本为客户端、服务器和发布订阅(PubSub)功能实现了递归锁机制,解决了多线程环境下的潜在竞争条件问题。同时修复了UA_KeyValueMap_remove()函数中可能导致双重递减的错误。

服务器端优化

在服务器功能方面,v1.4.9版本改进了mDNS服务发现机制,现在使用".local"域名发布记录,这符合现代网络服务发现的标准实践。同时解决了Windows架构标志使用不一致的问题,提升了跨平台兼容性。

服务器配置方面,增强了JSON配置插件的功能,新增了对Aes256_Sha256_RsaPss安全策略的支持,使安全配置更加灵活全面。

客户端改进

客户端功能在此版本中获得了更完善的证书处理能力。现在能够正确处理服务器在非对称头部中不发送ServerCertificate的情况(适用于#None安全模式)。这一改进使得客户端能够更灵活地适应不同的安全配置场景。

发布订阅(PubSub)增强

PubSub子系统在此版本中获得了多项重要改进:

  • 完善了SKS(安全密钥服务)密钥轮换回调处理机制
  • 修复了UA_PubSubKeyStorage_addKeyRolloverCallback中定时回调更新的问题
  • 确保密钥轮换过程更加可靠和稳定

安全插件改进

安全相关插件在此版本中获得了多项增强:

  • 自动将PEM格式转换为DER格式以支持RSA安全策略
  • 修复了MbedTLS插件中私钥格式生成错误的问题
  • 改进了UA_AccessControl_default()中清除先前插件的处理
  • 移除了CTT(一致性测试工具)不支持的authorityKeyIdentifier/subjectKeyIdentifier比较

技术细节

在底层实现上,v1.4.9版本继续完善了基于事件循环(EventLoop)的控制流模型,这是1.4系列版本引入的重要架构改进。同时保持了对OpenSSL 3.0的支持,并增强了各种安全策略的实现。

对于开发者而言,该版本进一步提升了API的线程安全性,所有主要组件(服务器、客户端和PubSub)现在都通过内部锁机制实现了线程安全访问。

总结

open62541 v1.4.9版本作为1.4系列的第九个补丁版本,主要聚焦于稳定性改进和安全增强。虽然没有引入重大新功能,但对现有功能的完善和问题修复使得整个框架更加健壮可靠。特别是安全相关的改进,如证书处理、密钥轮换和线程安全等方面的优化,使得这个版本成为生产环境中值得升级的选择。

对于正在使用open62541的项目,特别是那些对安全性和稳定性有较高要求的应用场景,建议考虑升级到这个版本以获得最佳的性能和安全保障。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
docsdocs
暂无描述
Markdown
832
5.52 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
496
521
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
808
1.16 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
797
1.6 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
981
2.31 K
kernelkernel
deepin linux kernel
C
33
16
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.04 K
782
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
486
315
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.21 K
1.26 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
665
308