EclipseMilo中的java身份验证clientserver
在EclipseMilo中,客户端是否可以使用以下身份验证参数连接到服务器:“证书+私钥”? 还有参数“安全策略”和“消息安全模式”
(与UAExpert客户端一样:http://documentation.unified-automation.com/uaexpert/1.4.0/html/connect.html)
如果是的话,怎么办
我有:
- 一个“.perm”文件格式的私钥李>
- 一份“.der”文件格式的证书李>
- 服务器的一个CA,文件格式为“.der”李>
- 以及服务器的CA(4096位at“.der”文件格式)李>
# 1 楼答案
是的,目前这是可能的,尽管它不像现在使用用户名/密码那样“简单”
客户端SDK公开了一个名为
IdentityProvider
的接口,该接口在客户端连接时被委托给,并被赋予端点和服务器nonce。它返回一个包含UserIdentityToken
和SignatureData
的2元组您需要为
X509IdentityToken
案例实现此接口,并返回您的证书(在X509IdentityToken
)以及您拥有该证书密钥的证明(在SignatureData
)一旦有了这个
IdentityProvider
,您就可以在构建OpcUaClientConfig
对象时通过调用setIdentityProvider
告诉客户机在配置它时使用它因为这有点麻烦,而SDK的目的是减轻用户的负担,所以我也将把它作为Milo的功能标签。如果你自己不能实现它,我可以在本周开始
# 2 楼答案
在Kevin Herron的帮助下,我通过使用他的类X509IdentityProvider解决了我的问题
以下是解决方案代码: