2017-10-12 135 views
0

我試圖設置一個示例服務器,它將在使用SignAndEncrypt模式時提供正確的證書鏈。日食Milo服務器上的證書鏈

使用提供的示例,即使我在.pfx文件中包含了根證書(沒有中間使用),服務器也只會將證書傳遞給根證書,但不會傳遞給根證書。

我的工作我的方式來OpcUaServer.java並和包括證書鏈,但OpcUaServer.java來電:

UaStackServer addEndpoint(String endpointUri, 
          String bindAddress, 
          X509Certificate certificate, 
          SecurityPolicy securityPolicy, 
          MessageSecurityMode messageSecurity); 

這是不超載拿證書鏈,所以我有點卡住。

如何設置一個(示例)OPC UA Milo服務器來提供完整的證書鏈,而不僅僅是提供服務器證書?

回答

0

從版本0.1.4開始,客戶端和服務器都可以配置證書鏈。

構建配置對象時,可以通過調用setCertificateChain()來配置客戶端的鏈。

服務器的鏈可以通過使用接受鏈的DefaultCertificateManager的構造函數進行配置,或者如果您使用自己的CertificateManager實現,則可以通過執行getCertificateChain進行配置。

執行此操作的PR是here

+0

謝謝。我嘗試了這個服務器,但監測wireshark連接,根證書不傳輸到客戶端(UaExpert,但這應該不重要)。如果我找出原因,我會更新。 – Niklas

+0

服務器在非對稱安全頭中發送配置的鏈,這是最重要的地方,但它當前不返回它返回的EndpointDescriptions的ServerCertificate字段中的鏈。我需要看看這是否是正確的行爲。這是否符合你所看到的? –