Допустим, я пытаюсь подключиться к веб-серверу по протоколу HTTPS, используя HttpsURLConnection. Теперь, если я установлю / ограничу шифры на Клиенте, используя:
System.setProperty("https.cipherSuites", myCustomCipherSuites);
Я хочу знать, как шифр будет согласован между моим клиентом Java и веб-сервером. Например, если мои комплекты шифров включают [средний, сильный] и веб-сервер поддерживает [слабый, средний, сильный, сильный] ...
1- Будет ли выбран «сильный», т. Е. Самый сильный из доступных на клиенте и сервере?
2- Определен ли веб-сервером приоритет, а затем проверка доступности на клиенте, чтобы найти шифр с наивысшим приоритетом (на веб-сервере) И взаимно доступный (как на клиенте, так и на сервере)?
Кроме того, если у меня есть список шифров "a", "b", "c" и "d", а веб-сервер поддерживает только "e", "f" и "g" ... могу ли я убедитесь, что клиент и сервер исчерпали бы все возможности согласования соединения с попыткой найти общий шифр перед тем, как сдаться (так как нет общего доступного шифра). Я почти уверен, что ответом на это будет «да» ... но я просто хочу это подтвердить. * * 1010