2016-07-27 3 views
0

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

ответ

0

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

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

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

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

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

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

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

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

+0

Спасибо, Стефен, я вижу, что я неправильно понял, как был обработан сертификат. Если сервер отправляет клиенту сертификаты [сервер и промежуточное звено] как часть рукопожатия, зачем мне нужны сертификаты, отправленные мной третьим лицом? Нужно ли им заходить в магазин доверия, чтобы установить доверие? Если да, зачем мне хранить их, если они отправляются через рукопожатие? Я ценю вашу помощь. –

+0

@BartStough: сервер отправляет клиенту сертификат и цепочку, соответствующие сертификату сервера. Клиент отправляет свой сертификат и цепочку, соответствующую сертификату клиентов на сервер. Это могут быть разные цепи. –

Смежные вопросы