Как указать шифры TLS при подключении к HTTP-серверам в ближайшем будущем - PullRequest
0 голосов
/ 26 июня 2018

Когда я использую `slurp ', чтобы получить страницу HTML из" https://clojuredocs.org/clojure.core/slurp",, я всегда получаю исключение, например:

SSLHandshakeException Received fatal alert: handshake_failure  sun.security.ssl.Alerts.getSSLException (Alerts.java:192) 

Но при использовании' wget проблем не возникает"Загрузите ту же страницу. После сравнения pcaps я обнаружил, что проблема может быть вызвана выбранными клиентом комплектами шифров. Когда я использую" slurp ", выбирается 22 комплекта шифров, а wget выбирает 66.наборы шифров (я не могу перечислить все наборы шифров здесь).

Итак, мой вопрос: есть ли способ настроить наборы шифров по умолчанию для JVM, чтобы заставить работать взлом с "https://clojuredocs.org"?

1 Ответ

0 голосов
/ 26 июня 2018

Возможно, вы хотите решить эту проблему на уровне JVM.Например, на моей машине это просто работает:

(subs (slurp "https://clojuredocs.org") 0 10)
"<!DOCTYPE "

Я пробовал это как с IBM Java:

java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 8.0.5.11 - pxa6480sr5fp11-20180326_01(SR5 FP11))
IBM J9 VM (build 2.9, JRE 1.8.0 Linux amd64-64 Compressed References 20180309_380776 (JIT enabled, AOT enabled)

, так и с Oracle Java:

java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

Звучит вМне нравится, вам нужна последняя версия Java, и все будет хорошо.Какую версию вы используете?

...