我正在尝试设置一个示例服务器,该服务器将在使用SignAndEncrypt模式时提供正确的证书链。
使用提供的示例,服务器将仅传递证书,而不传递到根证书的链,即使我在 .pfx 文件中包含根证书(未使用中间)。
我努力使用OpcUaServer.java并包含证书链,但是OpcUaServer.java调用:
UaStackServer addEndpoint(String endpointUri,
String bindAddress,
X509Certificate certificate,
SecurityPolicy securityPolicy,
MessageSecurityMode messageSecurity);
它不会重载以采用证书链,所以我有点卡住了。
如何设置(示例)OPC UA Milo服务器来提供完整的证书链,而不仅仅是提供服务器证书?
从版本 0.1.4 开始,客户端和服务器都可以配置证书链。
客户端的链可以通过在构建配置对象时调用setCertificateChain()
来配置。
服务器的链可以通过使用接受链的DefaultCertificateManager
的构造函数来配置,或者如果您使用自己的CertificateManager
实现,则通过实现getCertificateChain
来配置。
实现这一点的 PR 在这里。