我正在为 OPC UA 服务器开发 C# 客户端。我不是 OPC 基金会的付费成员(member),因此我无法访问 SDK。我正在使用免费提供的示例应用程序和 .NET 堆栈。
我面临的问题之一是我没有安全证书。我的客户端可以连接到服务器,但它以不安全的模式连接。这导致无法访问服务器上的数据库。我相信我缺少客户端(也可能是服务器端)证书。
我可以完全访问服务器的管理,但我一直无法弄清楚如何检索/生成证书。
我该怎么做呢?
最佳答案
通常,如何获取客户端证书是 OPC UA 客户端应用程序的责任。
通常,如果没有生成和配置证书,则 SDK 会创建默认的自签名证书。如果您查看.NET UA 应用程序的xml 配置文件,那么您应该找到定义证书参数的位置,并且可以自动生成。
为了通过安全模式进行通信,客户端和服务器都应该信任彼此的证书。如果证书存储在文件系统中,则可以通过将客户端证书复制到服务器的受信任文件夹来设置对自签名证书的信任,反之亦然。
您可以通过 GetEndpoints 调用以编程方式获取服务器证书。
服务器可以从 OpenSecureChannel 请求中获取客户端的证书。
关于.net - 如何获取 OPC UA 客户端证书 (.NET),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37430890/