Clojure HTTPS подключиться по протоколу TLS 1.2

Попытка подключения к серверу https ( https://3dsecure.kkb.kz/) с использованием TLS 1.2.

(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 ответ

Это не вы, а они: из отчета 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 labs - удивительный ресурс для выяснения этого.

С вашей точки зрения, использование Java 8 вариант? Это будет самый простой способ преодолеть это.

Другие вопросы по тегам