clojure https使用TLS 1.2协议进行连接

时间:2015-09-04 04:41:50

标签: https clojure tls1.2 clj-http

尝试使用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:收到致命警报:protocol_version”

openssl 1.0.1g,java 7。

任何想法出了什么问题?

1 个答案:

答案 0 :(得分:0)

不是你,而是他们:来自Qualys SSL Labs report

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,因为他们不容易受到this协议降级攻击。

这几乎总是一个改变nginx或apache配置的简单问题,虽然它可能需要一些小小的事情来确保所有设备仍然可以连接。 SSL实验室是一个很好的资源,可以解决这个问题。

从您的角度来看,是否使用Java 8?这将是最简单的方法。