Сертификат содержит открытый ключ пары ключей.Кто-то держит закрытый ключ пары ключей и хранит этот секрет.Он хранится отдельно от сертификата, если только вы не объедините их вместе для транспортировки, например, в файл PFX.
Когда на сервере есть «сертификат сервера», это сертификат с открытым ключом.Кроме того, на сервере также хранится секретный ключ.Он использует закрытый ключ для подписи чего-либо на рукопожатии SSLКлиенту нужен только сертификат сервера, который имеет только открытый ключ пары ключей сервера, чтобы проверить эту подпись, чтобы определить, действительно ли сервер хранит закрытый ключ пары ключей сервера.
Когдаклиент отправляет «клиентский сертификат» по SSL-соединению для аутентификации клиента, тогда у клиента будет собственный секретный ключ, который будет надежно храниться на его стороне.Можно пренебречь импортом закрытого ключа при импорте сертификата клиента на клиентский компьютер, когда сертификат был создан где-то еще.Но клиент должен иметь этот закрытый ключ клиента, чтобы что-то подписать в рукопожатии SSL, чтобы доказать серверу, что он хранит закрытый ключ пары ключей клиента.
Сервер видит только клиентасертификат, который имеет только открытый ключ.Открытый ключ вместе с тем, что клиент подписал, доказывает, что клиент держит закрытый ключ.Ни одна из сторон не отправляет свой закрытый ключ другой стороне.Они только отправляют сертификаты, которые содержат только открытый ключ вместе с материалом сертификата (общее имя, издатель и т. Д.)