шифрует дайджест с использованием личного ключа отправителя
Каждый раз, когда вы видите что-то о «шифровании с помощью закрытого ключа», ожидайте, что объяснение будет ошибочным.Не существует такого понятия, как «шифрование с помощью закрытого ключа».Автор имеет в виду, что подписывает дайджест, используя закрытый ключ отправителя .Называть подпись «шифрование» происходит из-за очень ограниченного понимания криптографии: эти два понятия имеют разные свойства, и они используют разные алгоритмы.Например, не всегда возможно «расшифровать» подпись и восстановить подписанный дайджест (это возможно с некоторыми алгоритмами подписи и невозможно с другими);все, что вы можете сделать, это проверить , имеет ли определенный дайджест определенную подпись.
При этом, да, есть две подписи.
- Подпись в сертификате связывает открытый ключ сервера с именем сервера.Точнее, это означает, что центр сертификации гарантирует, что сервер с определенным именем имеет определенный открытый ключ.Это гарантирует клиенту, что сертификат является подлинным.Кто-нибудь может отправить вам действительный сертификат для некоторого имени сервера, но центр сертификации подписывает сертификат только в том случае, если ему известно, что владелец имени также является владельцем закрытого ключа, связанного с открытым ключом всертификат.
- Подпись дайджеста в рукопожатии связывает открытый ключ сервера с этим конкретным рукопожатием.Любой может подписать рукопожатие своим личным ключом, но не другим личным ключом.
Из второй подписи клиент знает, что рукопожатие было подписано тем, кто владеет определенным секретным ключом.Из первой подписи клиент знает, что владелец определенного закрытого ключа является владельцем определенного доменного имени.Соединяя их вместе, клиент знает, что рукопожатие было подписано владельцем доменного имени.
На самом деле при типичном рукопожатии может быть больше подписей.Как клиент решает довериться CA?Ведь каждый может подписать сертификат своим личным ключом.В общем случае существует цепочка сертификатов: сертификат сервера подписан центром сертификации, центр сертификации имеет собственный сертификат, подписанный другим центром сертификации, и т. Д.Это заканчивается небольшим набором сертификатов CA, которые жестко запрограммированы в операционной системе или браузере клиента.Эти сертификаты известны как корни цепи.Их часто называют «корневыми ЦС», но обратите внимание, что наличие корневого ЦС не является свойством ЦС, поскольку разные системы могут иметь разные наборы корневых ЦС.
Для получения дополнительной информации о TLS см. Как работает SSL / TLS? .