在docs和here提供設置HostnameVerifierClass,我嘗試使用下面的代碼來改變HostnameVerifierClass
:如何AkkaSSLConfig
val sslConfig = AkkaSSLConfig().mapSettings { s =>
s.withHostnameVerifierClass(java.lang.Class[NoopHostnameVerifier])
s
}
val badCtx = Http().createClientHttpsContext(sslConfig)
Http().superPool[RequestTracker](badCtx)(httpMat)
但我得到下面的錯誤與此:
Error:(83, 31) object java.lang.Class is not a value s.withHostnameVerifierClass(JJClass[NoopHostnameVerifier])
獲取從這個幫助answer,我把它改成:
val sslConfig = AkkaSSLConfig().mapSettings { s =>
s.withHostnameVerifierClass(classOf[NoopHostnameVerifier])
s
}
但是,這也不能編譯說:
Error:(83, 38) type mismatch;
found : Classorg.apache.http.conn.ssl.NoopHostnameVerifier
required: Class[javax.net.ssl.HostnameVerifier]
Note: org.apache.http.conn.ssl.NoopHostnameVerifier <: javax.net.ssl.HostnameVerifier, but Java-defined class Class is invariant in type T.
You may wish to investigate a wildcard type such as
_ <: javax.net.ssl.HostnameVerifier
. (SLS 3.2.10)s.withHostnameVerifierClass(classOf[NoopHostnameVerifier])
我如何解決這個搞定,NoopHostnameVerifier
實現接口HostnameVerifier
,但還是這個錯誤來。
你見過[這個問題(https://開頭github.com/lightbend/ssl-config/issues/46),它似乎是一回事。你使用的是最新版本的'ssl-config'嗎? – Kraylog