尝试使用TLS 1.2连接到https服务器(https://3dsecure.kkb.kz)。
(defn- http-request-clojure [xml req-type]
(let [url-info (url-map req-type)
(prepare-response (.toString (:body (client/get
(str (:url url-info) "?"
(and (:name url-info)
(str (:name url-info) "="))
(URLEncoder/encode xml))
{:insecure? true
:socket-timeout 10000
:conn-timeout 10000}))))))
获取错误"javax.net.ssl.SSLException: Received fatal alert: protocol_version"
openssl 1.0.1g, Java 7.
你知道哪里出错了吗?
不是你的问题,是他们的问题:来自他们的Qualys SSL实验室报告:
Java 6u45 No SNI 2 Protocol or cipher suite mismatch Fail3
Java 7u25 Protocol or cipher suite mismatch Fail3
Java 8u31 TLS 1.2 TLS_RSA_WITH_3DES_EDE_CBC_SHA (0xa) No FS 112
至少从今天开始。他们可以在任何时候修复这个问题,所以希望你有一个足够密切的关系,礼貌地鼓励他们遵循这个链接,也许更新openssl,使他们不容易受到这个协议降级攻击。
这几乎总是一个简单的问题,改变nginx或apache的配置,虽然它可以花一点时间来确保所有设备仍然可以连接。SSL实验室是解决这个问题的一个了不起的资源。
从你的角度来看,使用Java 8是一种选择吗?这是最简单的解决办法。