У меня есть вопрос относительно клиента ssl в java. В случае браузера инициируется запрос приветствия клиента, который поддерживает номера шифров, номер версии и т. Д., И сервер отвечает сервером привет, имеющим набор шифров, который будет использоваться для этого сеанса.Имитировать SSL-клиент в java
Я думаю, что сеанс (jsessionId
) создается в это время (сервер привет), если один не присутствует в клиенте привет (что означает jsessionId
посылается клиенту незащищенного (?))
После завершения этого процесса браузер делает запрос https по мере необходимости, и браузер шифрует его с помощью алгоритма шифрования, упомянутого в наборе шифров, который возвращается на сервере приветствия.
Если я должен сделать это в java, я могу использовать SSLSocket для установления рукопожатия и связать обработчик в методе addHandshakeCompletedListener
.
Итак, после того, как рукопожатие завершено, управление приходит в addHandshakeCompletedListener
метод обратного вызова.
Итак, если теперь мне нужно сделать запрос ssl, мне придется использовать HttpsURLConnection
(?) И создать запрос.
Мой вопрос: -Как HttpsURLConnection знает о алгоритме шифрования и затем шифрует его с помощью этого?
Могу ли я сам его зашифровать, используя алгоритм шифрования в наборе шифров и опубликовать его через обычное http-соединение (HttpURLConnection
(?)). Это будет работать?
Я знаю, что это сложная структура - нам нужно вычислить mac и затем добавить, прежде чем мы зашифруем данные. Делает ли это HttpsURLConnection
?
Как работает сеанс? Как HttpsURLConnection
знает, что это соединение уже было начато, а процедуры установления связи уже завершены?
Я не могу сопоставить все это? Любая помощь будет оценена! Если возможно, укажите пример для объяснения.
jsessionID является объектом верхнего уровня и находится за пределами ssl рукопожатия (сервер привет). Он находится на уровне http (s), но не в сокетном слое (ssl) – Antoniossss
В вашем названии говорится: «имитировать SSL-клиент в Java». Что это значит? Почему вы хотите имитировать то, что Java уже может сделать? – EJP