2 сценария, которые работают немного иначе:
СЦЕНАРИЙ 1:
Веб-браузер (клиент) обращается к веб-странице (серверу) через HTTPS с использованием SSL.
На сервере есть файл .PFX, содержащий оба ключа. Клиент подключается к веб-сайту на сервере, и сервер отправляет копию своего открытого ключа (файл .CER) Клиенту в рамках подтверждения SSL. Затем Клиент генерирует «SESSION-Key» и шифрует его, используя открытый ключ, полученный от сервера. Затем сеансовый ключ отправляется обратно на сервер и расшифровывается для подтверждения его подлинности. В случае успеха и клиент, и сервер теперь совместно используют «сеансовый ключ» для связи с использованием симметричного шифрования (то есть и клиент, и сервер, теперь оба шифруют И дешифруют все сообщения между собой, используя один и тот же сеансовый ключ. Все это выполняется за кулисами в фоновом режиме веб-браузера, между моментом ввода URL-адреса в адресной строке и появлением веб-страницы.
СЦЕНАРИЙ 2:
Приложение (клиент) подключается к FTP-сайту (серверу)
или
удаленному рабочему столу (клиент-сервер) с помощью SSH
(применимы оба примера)
В этом случае, как клиент и сервер будут иметь свои собственные частные и государственные пары ключей
(в отличии от других примеров , приведенных в этой теме, что только объяснить , когда сервер имеет оба ключа, и клиент имеет только открытый ключ)
Теперь в целях объяснения - давайте обозначим пары ключей примерно так:
A1 и A2 = как закрытый и открытый ключи серверов соответственно
B1 и B2 = как закрытый и открытый ключи клиента соответственно.
Используя эту модель, в предыдущих сообщениях в этой ветке говорилось о том, что Сервер имеет A1 и A2 ( файл .PFX ) и предоставляет клиентам только копию A2 ( .CER ).
В то время как соединения FTP или SSH (есть и другие примеры) состоят из ключей A1 , A2 , B1 и B2 во всем взаимодействии клиент-сервер. Например,
- Клиент подключается к FTP-серверу.
- Сервер отправляет клиенту копию своего открытого ключа (A2).
- Клиент отправляет свой собственный открытый ключ (B2) обратно на сервер, завершая рукопожатие.
- Теперь будет использоваться асимметричное шифрование.
Теперь у сервера есть A1 ( собственный частный ), A2 ( собственный публичный ) и копия B2 ( общедоступный
клиент ). У клиента теперь есть B1 ( собственный частный ), B2 ( собственный публичный ) и копия A1 ( общедоступный сервер). Общедоступный )
Связь между
клиентом и сервером: клиент использует A2 (открытый ключ сервера) для шифрования сообщений, привязанных к серверу, сервер дешифрует их, используя A1 (закрытый ключ сервера)
Связь между
сервером и клиентом: сервер использует B2 (открытый ключ клиента) для шифрования сообщений, привязанных к клиенту, клиент расшифровывает их, используя B1 (закрытый ключ клиента)
Что касается типов файлов .CER и .PFX, сервер не имеет своего собственного .PFX, который не должен распространяться за пределами вашей организации, вместо этого вы должны распространять файл .CER среди клиентов.
дополнительную информацию можно найти здесь:
https://www.digicert.com/ssl-cryptography.htm
и здесь:
/server/107433/why-does-a-ssh-public-key-sit-on-the-server-and-not-with-the-client