Во-первых, здесь секретный ключ CA здесь не имеет значения, поскольку по определению он является закрытым, и, следовательно, у вас его никогда нет, кроме случаев, когда вы делаете самозаверяющие сертификаты.
Рукопожатие TLS:
- сервер, к которому вы подключаетесь, отправляет вам свой сертификат и, необязательно, список промежуточных сертификатов вплоть до корневого (ЦС), последний из которых также является необязательным и часто не отправляется, так как предполагается, что клиент уже имеет его вего доверенное хранилище
- , если сервер запрашивает сертификат клиента, он отправляет список CA, которые он примет для сертификата клиента (это подсказка, чтобы помочь клиенту выбрать правильный сертификат для отправки)
- поэтому, если это необходимо, клиент отправляет свой сертификат и, как в первом пункте, потенциальный список промежуточных сертификатов вплоть до некоторого корня.
В зависимости от клиента у вас может быть несколько конфигурацийitems: - список сертификатов для отправки как промежуточный (либо как путь к некоторому каталогуили один файл со всеми ними в нем) вместе со своим собственным клиентским сертификатом - список сертификатов, которые вы используете (снова каталог или файл) как полностью доверенные для проверки сертификата сервера.
Часто этидва значения - только одно.
Теперь:
Если сертификат подписан центром сертификации, то он уже содержит достаточно информации для определения местоположения центра сертификации (например, имени домена).
Не уверен, что понимаю вас, но в целом нет.Во-первых, сертификат не обязательно / только для доменного имени, он может быть для других вещей.Затем сертификат обычно подписывается посредником, а не непосредственно СА.Так что я не уверен, как вы хотите найти CA?