1

尝试使用 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。

任何想法出了什么问题?

4

1 回答 1

0

不是你,是他们:来自他们的Qualys SSL Labs 报告

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 是一种选择吗?这将是最简单的方法。

于 2015-09-04T20:12:50.027 回答