Почему ExtendedMastersEcret не предлагается, используя JSSE с OpenJDK17 (в контейнере под K8S, CRI-O)JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Почему ExtendedMastersEcret не предлагается, используя JSSE с OpenJDK17 (в контейнере под K8S, CRI-O)

Сообщение Anonymous »

У меня есть простая программа тестирования Java, которая открывает SSL -соединение с сервером. Это в системе Redhat Linux, на самом деле контейнер UBI 9.5. Контейнер работает в системе RHEL 9.5, с криптополитикой, установленной на FIP: NO-ENFORCE-EMS. Я попробовал контейнер, построенный с крипто-политикой, набор для FIP и FIP: NO-ENFORCE-EMS. Подключить из RH Linux 9.2, или, может быть, подключение к более старым системам, или что -то в этом роде. Для этой отладки я пытаюсь подключиться к серверу в самом контейнере. JVM openjdk17 < /p>
Я понимаю, что крипто-политика является FIPS или FIPS: No-enforce-EMS, которые клиент предложит EMS. Клиент Java, использующий JSSE, должен поддерживать EMS, который поддерживался с JDK 11. < /p>
(1) Почему клиент Java не предлагает расширение EMS? < /P>
Но java -тест -клиент запускается с отладкой от отладки отчеты: < /p>
java -Djavax.net.debug=ssl,handshake -cp . SSLTest 127.0.0.1 8095

ExtendedMasterSecretExtension.java:123|Ignore unavailable extended_master_secret extension
< /code>
больше информации: < /p>
$ java --version
openjdk 17.0.14 2025-01-21 LTS
OpenJDK Runtime Environment (Red_Hat-17.0.14.0.7-1) (build 17.0.14+7-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-17.0.14.0.7-1) (build 17.0.14+7-LTS, mixed mode,
sharing)
$ update-crypto-policies --show
FIPS
$ cat /etc/redhat-release
Red Hat Enterprise Linux release 9.5 (Plow)
< /code>
Программа тестирования, которую я использую, ниже. Я составляю его и передаю файл класса в контейнер. Это также нуждается в запуске SSL -сервера. Я могу обновить этот вопрос с помощью некоторых команд для запуска сервера SSL, но я надеюсь, что у кого -то просто есть объяснение. < /P>
import javax.net.ssl.*;

public class SSLTest {
public static void main(String[] args) {
if (args.length != 2) {
System.err.println("Usage: java -cp . SSLTest crowd 8095");
}
var host = args[0];
var port = Integer.parseInt(args[1]);

try {
System.out.println("Connecting to " + host + ":" + port);
// Use the default SSL socket factory (ensure your truststore is set up if needed)
SSLSocketFactory factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
try (SSLSocket socket = (SSLSocket) factory.createSocket(host, port)) {
// Start the handshake manually to see detailed debug info.
socket.startHandshake();
System.out.println("SSL handshake completed successfully.");
}
} catch (Exception e) {
System.err.println("SSL handshake failed: " + e.getMessage());
e.printStackTrace();
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/794 ... k17-in-con
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»