2-сторонняя конфигурация SSL / TLS

Если я правильно понимаю SSL / TLS при проверке подлинности только на сервере, после подтверждения сервер отправляет клиенту открытый ключ и сертификат с цифровой подписью, подписанный ЦС. Если у клиента есть открытый ключ этого CA, он может расшифровать сертификат и установить доверительные отношения с сервером. Если он не доверяет ЦС, связь прекращается. В двухстороннем SSL, когда клиенту необходимо пройти аутентификацию обратно на сервер, после того, как клиент получит открытый ключ и сертификат с цифровой подписью, клиент отправит серверу свой открытый ключ и сертификат с цифровой подписью. Сервер проверит, есть ли у него открытый ключ для сертификата клиента, и если он есть, он сможет установить доверительные отношения с клиентом. Я настраиваю взаимную аутентификацию [2-сторонний ssl] на сервере weblogic [в данном случае клиент, вызывающий исходящий запрос к веб-службе], и третья сторона отправила мне сертификат с цифровой подписью и цепочку сертификатов. Зачем они мне нужны. Разве это не то, чем сервер отвечает после рукопожатия?


person Bart Stough    schedule 27.07.2016    source источник


Ответы (1)


сервер отправляет клиенту свой открытый ключ и сертификат с цифровой подписью, подписанный центром сертификации.

Сертификат содержит открытый ключ. Ключ дополнительно не высылается.

Если у клиента есть открытый ключ этого ЦС, он может расшифровать сертификат.

Сертификат не зашифрован, он подписан ЦС. Таким образом, дешифрование не выполняется, но клиент может проверить эту подпись, если у клиента есть сертификат CA (и, следовательно, его открытый ключ). Но обычно сертификат не подписывается напрямую центром сертификации, которому доверяет браузер, но существуют промежуточные сертификаты. В этом случае сервер отправит не только сертификат сервера, но и все промежуточные сертификаты, необходимые для создания доверительная цепочка.

затем клиент отправит серверу свой открытый ключ и сертификат с цифровой подписью.

Опять же, открытый ключ является частью сертификата.

третья сторона прислала мне сертификат с цифровой подписью и цепочку сертификатов. Зачем они мне нужны.

Первый сертификат - это сертификат клиента. Сертификаты цепочки необходимы для построения цепочки доверия, поскольку сервер выполняет не доверять ЦС, выдавшей сертификат клиента, напрямую и поэтому ему нужны промежуточные сертификаты.

person Steffen Ullrich    schedule 27.07.2016
comment
Спасибо, Штеффен, я вижу, что неправильно понял, как обрабатывались сертификаты. Если сервер отправляет клиенту сертификаты [серверные и промежуточные] как часть рукопожатия, зачем мне сертификаты, присланные мне третьей стороной? Нужно ли им идти в магазин доверия, чтобы установить доверие? Если да, то зачем мне их хранить, если они отправляются через рукопожатие? Я ценю вашу помощь. - person Bart Stough; 28.07.2016
comment
@BartStough: сервер отправляет клиенту сертификат и цепочку, соответствующую сертификату сервера. Клиент отправляет свой сертификат и цепочку, соответствующую сертификату клиента, на сервер. Это могут быть разные цепочки. - person Steffen Ullrich; 28.07.2016