2017-02-20 32 views
0

在我的開發和qa環境中,我將使用內部簽名的證書打擊休息端點。我工作的策略是在我們的Linux服務器上將內部證書放在一個單獨的包中。與Scala或Java中的--cacerts等價的是什麼?

下工作得很好的捲曲:

curl -X GET -H "Content-Type: application/json" -H "Accept: application/json" --negotiate --cacert /etc/pki/tls/out-internal-bundle.pem -u : "https://<dev or qa root>/api/profile/8461869a8b6e4558b20b14411337440b"

我對這個端點實際的客戶是用Scala編寫的,但是。目前我正在使用scala.io.Source我的電話:

val url = s"$baseUrl/data-profiler/$id" 
using(Source.fromURL(url)) { source => { 
    val result = source.mkString 
    val jsonAst = result.parseJson 
    jsonAst.convertTo[Job] 
}} 

我想弄清楚如何,在我的開發和QA環境,用我們的內部包。任何人在Scala或Java中都這樣做?

回答

1

您需要配置JVM使用的「truststore」和「javax.net.ssl.trustStore」選項,當您啓動Java,即

java -Djavax.net.ssl.trustStore=/etc/pki/tls/out-internal-bundle.jks ... 

sbt如果您正在使用SBT啓動您的應用程序將採取相同的-D參數)

你需要讓你的CA證書到JKS格式。

請參見:

-2

我會完全推薦你使用加特林這種事情。 Gatling是一個非常酷的負載測試框架,它支持許多協議,如jms,jdbc,當然還有http等等。請在此處查看http://gatling.io/#/(此框架構建於Scala上),它爲您正在搜索的內容提供支持

+0

這並沒有真正回答這個問題。如果他切換到Gatling,他仍然需要配置Gatling客戶端以提供內部CA配置。 – Rich

+0

取決於負載測試框架是一個非起動器。 – Stuart

相關問題