1

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

Разве это не неожиданно? Обычно у разных ЦС разные ключи на стороне клиента и сервера? Является ли openSSL генерирует закрытый ключ на лету для каждого сеанса и не зависит от клиента? Кто-нибудь имеет представление о том, как эти ключи / сертификаты работают на стороне сервера и на стороне клиента, и имеют ли эти ключи и сертификаты какую-либо связь / зависимость между ними ..?

1 ответ1

1

Для большинства соединений SSL клиент не предоставляет сертификат. Только сервер аутентифицирован.

Но если отправляется сертификат клиента, он не должен совпадать с сертификатом сервера. Это полностью зависит от сервера, чтобы решить, как он будет аутентифицировать клиентов; Например, он может включать определенные CA в белый список, или конкретные отпечатки сертификатов, или просто принимать что-либо.

В комплектах шифрования DH и ECDH также используются открытые ключи, но не одни и те же: каждая сторона генерирует временную пару ключей DH и либо подписывает ее парой ключей сертификата, либо отправляет ее без подписи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .