Прежде всего, не все версии jvm поддерживают версию 1.2 TLS.Если вы используете Oracle JVM, это должен быть Java 1.6.0.121 или более поздней версии, если на Java 1.6, Java 1.7.95 или более поздней версии, если на Java 1.7 или любая более высокая версия jvm (т.е. java8, Ява 9 и т. Д.).
Предполагая, что об этом позаботились, вам нужно установить системное свойство:
System.properties['jdk.tls.client.protocols'] = 'TLSv1.2'
Из чтения документов видно, что настройка https.protocols
также должна работать, но я знаю,от настройки большого числа серверов jvms, используя jdk.tls.client.protocols
, чтобы он работал.Обратите внимание, что это сделано для того, чтобы сервер jvms использовал TLSv1.2 при отправке запросов в Интернет, т. Е. Когда они действуют как клиенты.Итак, мы здесь говорим о настройке клиентской части запроса.Я предполагаю, что сторона сервера должна быть настроена по-другому.
Кроме того, в вашем коде выражение:
println "protocol in bootstrap = "+System.getProperty("https.protocols")
, вероятно, интерпретируется как
println("protocol in bootstrap = ")+System.getProperty("https.protocols")
, что означает:
null+System.getProperty("https.protocols")
поскольку println возвращает ноль.Это напечатает protocol in bootstrap =
, но не системное свойство.
Попробуйте вместо этого явные символы:
println("protocol in bootstrap = "+System.getProperty("https.protocols"))