使用Eclipse Milo了解OPC-UA安全性

时间:2017-09-25 18:30:41

标签: opc-ua milo

我是OPC-UA世界和Eclipse Milo的新手。 我不明白安全如何在这里工作, 讨论eclipse-milo提供的客户端示例

我看到很少使用安全性来连接OPCUA服务器:

SECURITYPOLICY, MessageSecurityMode, clientCertificate, clientKeyPair, setIdentityProvider,

  1. 上述配置如何相互关联?
  2. 我试图运行客户端示例 - > BrowseNodeExample。 此示例在内部运行ExampleServer。 ExampleServer配置为使用Anonymous和UsernamePassword Provider运行。它还必须接受SecurityPolicy.NoneBasic128Rsa15Basic256Basic256Sha256 MessageSecurityMode作为SignandEncryptSecurityPolicy.NoneMessageSecurityMode {1}}也是None

    1. 问题在于AnonymousProvider我可以使用上面提到的所有SecurtiyPolicyMessageSecurityMode对连接到服务器(没有提供客户端证书)。 但我无法对UsernameProvider执行相同的操作,仅UsernameProviderSecurityPolicy MessageSecurityModeNone对成功运行。 所有其他对抛出安全检查失败异常(提供证书时)否则拒绝用户访问(未提供客户端证书时)。如何使这项工作?
    2. 最后,如果有人能指出Eclipse Milo的正确用户文档,那将是非常好的。由于除了示例代码之外我看不到任何文档,因此没有记录。

1 个答案:

答案 0 :(得分:4)

SecurityPolicyMessageSecurityMode齐头并进。安全策略规定了将用于签名和加密的算法集(如果有)。消息安全模式确定消息是否将被签名,签名和加密,或者在没有使用安全性的情况下都不会。

如果您打算使用安全性,则必须配置

clientCertificateclientKeyPair。毕竟,如果您没有证书和私钥,则无法使用加密或签名。

IdentityProvider用于提供标识会话用户的凭据(如果有)。

ExampleServer启动时,它使用临时安全目录记录它,如下所示:security temp dir: /var/folders/z5/n2r_tpbn5wd_2kf6jh5kn9_40000gn/T/security。当客户端使用任何类型的安全性进行连接时,服务器最初不会信任其证书,从而导致您发现Bad_SecurityChecksFailed个错误。在此目录中,您将找到一个文件夹rejected,其中存储了被拒绝的客户端证书。如果您将证书移动到trusted文件夹,则客户端应该能够使用安全性进行连接。