2017-06-21 69 views
0

在Play 2.4.3 web應用程序中,我需要使用WSClient通過HTTPS調用其他服務。我跟着the article但出現錯誤:WSClient和SSL

play.api.libs.ws.ssl.CompositeCertificateException:沒有信任管理器 能夠驗證這個證書鏈:異常#= 1

的裏面CompositeCertificateException例外:

sun.security.validator.ValidatorException:PKIX路徑建設失敗: sun.security.provider.certpath.SunCertPathBuilderException:無法 找到有效的認證路徑要求的目標

application.conf負責SSL部分:

play.ws.ssl { 
    trustManager = { 
    stores = [ 
     { type : "PEM", path : "C:/A/B/globalsign.crt" } 
    ] 
    } 
} 

有什麼不對嗎?

回答

0

我解決了通過以下步驟的問題:

  • 運行InstallCert.java產生jssecacerts文件。
  • application.conf中添加文件的路徑。

配置例子:

play.ws.ssl { 
    trustManager = { 
    stores = [ 
     {path: "C:/A/B/jssecacerts"} 
     {path: ${java.home}/lib/security/cacerts} 
    ] 
    } 
}