2017-08-13 36 views
1

我有一個彈簧啓動應用程序爲此我編寫集成測試獲取X509的錯誤,而在拍攝模式下使用食蚜蠅

我試圖用食蚜蠅的Java捕捉流量我使用的是外部系統。我的測試運行正常,當我不加食蚜蠅,但加入這一行:

@ClassRule 
public static HoverflyRule hoverflyRule = HoverflyRule.inCaptureOrSimulationMode("simulation.json"); 

我的外部系統將返回一個500,我看到下面的錯誤

POST ABC /登錄:X509:證書署名未知權威

如何更新我的resttemplate來解決這個問題?

+0

Hoverfly在客戶端和自身之間使用自簽名證書,然後在自身和外部服務之間使用服務器證書。它本質上是一個mitm攻擊。您不應該得到錯誤的原因是因爲Java綁定在測試運行期間臨時將Hoverflies自簽名證書添加到信任存儲。所以你的錯誤不應該發生。您的外部服務是否也使用自簽名證書? – mogronalol

+0

@mogronalol如何確定我的外部服務是否使用自簽名證書?它工作得很好,沒有hoverfly – usr1234

+0

這是否工作? echo | openssl s_client -showcerts -servername gnupg.org -connect gnupg.org:443 2>/dev/null | openssl x509 -inform pem -noout -text – mogronalol

回答

0

Actally,而不是我問的問題,我可以猜測,如果它是被自簽名,您可以在這裏記錄的使用-tls-verification命令食蚜蠅嘗試的情況下:

http://hoverfly.readthedocs.io/en/v0.13.0/pages/reference/hoverfly/hoverflycommands.html?highlight=tls

然而,我注意到這不能通過Hoverfly Java來配置。嘗試直接使用Hoverfly二進制文件來證明它確實是修復,如果是這種情況引發GitHub問題,我們將在Java綁定中對其進行配置。

+0

同上errpr。 -tls驗證無效 – usr1234

+0

您連接的服務器是什麼?它在公共互聯網上可用嗎? – mogronalol

+0

不是,它是我公司的內部,它是avamar實例 – usr1234

0

禁用Tls驗證解決了我的問題。 可能是你沒有嘗試正確的命令。

嘗試hyperfly -tls-verification=false

您應該看到TLS certificate verification has been disabled 在日誌中。 希望這有助於。