阿联酋专家未找到 OPC UA 服务器证书

Posted

技术标签:

【中文标题】阿联酋专家未找到 OPC UA 服务器证书【英文标题】:UAExpert does not find OPC UA server certificate 【发布时间】:2020-04-28 11:22:23 【问题描述】:

我有一个基于 open62541 的 OPC UA 服务器,可以与 UnifiedAutomotion 的客户端UAExpert 正确连接。我尝试添加服务器证书,但UAExpert 找不到它,即使我将它添加到UAExpert>Certificate manager 的信任列表中也是如此。 是否正确加载?

UA_Server *server = UA_Server_new();
UA_ServerConfig *config = UA_Server_getConfig(server);
config->serverCertificate = loadCertificate(); // Returns UA_ByteString of the file certificate.der
if(config->serverCertificate.length > 0)
   UA_LOG_INFO(UA_Log_Stdout, UA_LOGCATEGORY_SERVER, "Certificate loaded");

UA_ServerConfig_setDefault(config);

我不知道UA_ServerConfig_setDefault的方法是否足以加载证书,因为我看到的例子使用UA_ServerConfig_setDefaultWithSecurityPolicies来设置服务器配置。我试图测试server_encrypted.c 的示例,但是当我编译它时会抛出库和glibc 版本的异常。

提前致谢。

【问题讨论】:

【参考方案1】:

欢迎使用 ***。

我没有使用 open6254 的经验,但是客户端使用以前从服务器读取的端点列表中的 端点 进行连接。选择的 endpoint 应该包含一个证书,并且在调用 createession 时服务器会重新发送证书,如果两个证书不相等,则客户端必须按照 OPC 的要求取消该过程UA 规范。

可能服务器未发送两个证书之一,或者它们不相等。

我想你最好在这里问https://groups.google.com/forum/#!forum/open62541

【讨论】:

以上是关于阿联酋专家未找到 OPC UA 服务器证书的主要内容,如果未能解决你的问题,请参考以下文章

基于open62541的OPC UA服务器建立

OPC-UA 服务器重启和订阅

Unity 的 OPC UA 客户端

NodeId 作为 ModelCompiler OPC UA 中的字符串

将主OPC UA服务器连接到辅助OPC UA服务器

如何将文件从 OPC UA 客户端传输到 OPC UA 服务器