Поддержка SSLParameters с помощью SSLSocket, SSLServerSocket, SSLEngine и SSLContext - PullRequest
0 голосов
/ 03 мая 2018

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 »?

...