You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于open62541的OPC UA服务器与OPC UA Commander证书配置问题

问题解答

1. 证书正确配置步骤

客户端(OPC UA Commander)侧

OPC UA Commander的PKI目录结构为 .config/opcua-commander-nodejs/pki/,核心目录分工:

  • own/certs/:存放客户端自身证书(首次连接时自动生成opcua_commander_certificate.pem)
  • own/private/:存放客户端私钥
  • trusted/certs/:存放信任的服务端证书
  • rejected/certs/:存放拒绝的证书

操作要点:

  • 若需手动信任服务端证书,直接将服务端证书(.der或.pem格式)复制到trusted/certs/目录,重启客户端即可
  • 客户端证书默认是PEM格式,而open62541服务端要求信任列表证书为DER格式,需先转换:
    openssl x509 -in opcua_commander_certificate.pem -out opcua_commander_certificate.der -outform DER
    

服务端(open62541)侧

服务端启动参数要求信任列表传入DER格式证书,而非PEM格式:

  • 将转换后的opcua_commander_certificate.der作为启动命令的最后一个参数传入,替换之前的.pem文件
  • 若服务端自身证书是PEM格式,也需转换为DER:
    # 转换服务端证书
    openssl x509 -in server-cert.pem -out server-cert.der -outform DER
    # 转换服务端私钥
    openssl rsa -in server-key.pem -out server-key.der -outform DER
    

2. OPC UA Commander官方文档获取

OPC UA Commander的官方文档集中在项目仓库的README和docs目录,常用参数可通过命令直接查询:

node dist/index.js --help

比如自定义PKI目录的参数为--pki,示例:

node dist/index.js --pki ./my-custom-pki -e opc.tcp://localhost:4840 -P=Basic256Sha256 -s SignAndEncrypt

3. 服务端代码是否需要修改?

无需修改代码,只需确保启动参数和配置项正确:

  • 确认服务端配置中已启用Basic256Sha256安全策略,且安全模式设置为UA_MESSAGESECURITYMODE_SIGNANDENCRYPT
  • 启动参数严格遵循格式:<server-certificate.der> <private-key.der> [<trustlist1.der>, ...],信任列表必须传入DER格式证书

4. 当前证书问题排查

  • 验证客户端证书有效性:
    openssl x509 -in opcua_commander_certificate.pem -text -noout
    
  • 查看服务端日志:open62541会输出证书验证相关的错误信息(如“Certificate not in trust list”),根据日志定位具体问题
  • 简化测试:先将安全模式改为Sign(仅签名不加密),或暂时关闭客户端证书验证,确认基础连接正常后再逐步恢复安全策略

内容的提问来源于stack exchange,提问作者ArthurShelby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 10:05:10