SSLParameters
поддерживает следующие свойства (согласно нотации Spring): cipherSuites
, protocols
, wantClientAuth
, needClientAuth
, algorithmConstraints
, endpointIdentificationAlgorithm
, serverNames
, SNIMatchers
, useCipherSuitesOrder
.
Однако в SSL{Socket, ServerSocket, Engine}.setSSLParameters
очевидно, что используются только cipherSuites
, protocols
, wantClientAuth
, needClientAuth
. Для чего остальные SSLParameters
?
Они предназначены только для нестандартных реализаций, таких как клиенты HTTPS, и как таковые вообще не используются JVM? Поддержка этих функций находится в другом месте, если да, то где? useCipherSuitesOrder
поддерживается JVM, где? Это действительно желаемая функция?
Другой вопрос заключается в том, что SSLParameters
имеет protocols
, но они применяются, например, к. SSLSocket
уже создан с использованием SSLContext
, для которого уже выбран один протокол. В каких контекстах это имеет смысл? Можете ли вы предварительно подать заявку SSLParameters
на SSLContext
? Можете ли вы иметь максимально широкий SSLContext
, а затем ограничить его с помощью SSLParameters
? Например. имеет ли смысл иметь SSLContext протокола "TLS"
и затем использовать SSLParameters протоколов {"TLSv1.1", "TLSv1.2"}
, чтобы иметь только подмножество наборов шифров TLS? Является ли «TLS» надмножеством всех «TLSv1. x »?