(1) Эта веб-страница датирована 2014 годом; неограниченная политика больше не используется для версий Oracle Java после 2017 года, а до этого (например, 7u80) это имело значение только для симметричного шифрования более 128 бит что здесь повлияет только на наборы AES256, а не на AES128. (Это было никогда применимо к OpenJDK, хотя OpenJDK ниже 8 в основном был доступен только в основных дистрибутивах Linux, таких как RedHat и Debian, которые могли выделить персонал для сборки и упаковки; вы не говорите, что вы используете.)
(2) Ява (1.)7 делает поддерживать шифровальные наборы CBC, которые вы показываете (не GCM, а для версий Oracle ниже 7u171, AES256 требуют неограниченной политики), но ТОЛЬКО при TLS1.2 (эти наборы шифров не существовали в протоколах более низких версий) и по умолчанию j7 отключает клиентскую часть TLS1.2 (и 1.1).
Если вы явно выполняете подключение к этому API с помощью HttpsURLConnection
(например. новый URL("https://что-то").openConnection()
) вы можете настроить socketfactory для использования SSLContext.getInstance("TLSv1.2")
и/или явно setEnabledProtocols
на розетке. Если вы используете другое промежуточное ПО, например. Apache HttpComponents обычно имеют похожие методы, но они различаются в деталях; вам нужно будет показать нам код, и он, вероятно, будет принадлежать StackOverflow, а не здесь. Если вы вызываете библиотеку, которая выполняет внутреннее соединение, у нее могут быть параметры или нет.
Для всех или многих методов вызова вы можете изменить значения по умолчанию, например SSLContext.setDefault()
или же HttpsURLConnection.setDefaultSSLSocketFacfory()
если эти значения по умолчанию не переопределяются в соответствующем коде и внесение такого глобального изменения не создает проблем для чего-либо еще, работающего в той же JVM.
В качестве альтернативы (и многое другое по теме!), Если у вас достаточно недавнее обновление j7, я почти уверен, что они перенесли системное свойство jdk.tls.client.протоколы
который вы можете установить, например. TLSv1, TLSv1.1, TLSv1.2
изменить значение по умолчанию без изменения кода (но опять же, только если оно не переопределено и не вредит чему-либо еще). Я не помню точно, когда это было, но определенно после 7u80, поэтому у вас было бы это только с платной поддержкой Oracle или OpenJDK, поддерживаемым кем-то еще за плату или бесплатно. Это легко попробовать и май работай.