clojure https连接使用TLS 1.2协议



尝试使用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是一种选择吗?这是最简单的解决办法。

最新更新