Проверка подлинности клиента SSL с использованием сертификатов - это сложная тема, и я думаю, что я выучил достаточно, чтобы сделать ее еще более сложной.
Вот мое основное понимание: открытый и закрытый ключи генерируются центром сертификации. Эта информация может быть сохранена в «сертификате», а затем использована клиентом для аутентификации.
Почему можно получить сертификат без закрытого ключа? Я знаю, что при экспорте сертификата из хранилища сертификатов Windows вы можете экспортировать его без закрытого ключа. Как используется сертификат без закрытого ключа? Я всегда думал, что вам нужны оба, если вы собираетесь перенести их на другой компьютер / устройство для использования.
Можно ли запросить закрытый ключ в любое время, если открытый ключ и CA уже известны?
Открытый и закрытый ключи генерируются центром сертификации.
Вы можете разрешить центру сертификации сгенерировать для вас закрытый ключ, но это не обязательно. Вы можете сгенерировать закрытый ключ в своей системе, а затем отправить запрос на подпись сертификата в центр сертификации. Центру сертификации никогда не нужно знать ваш закрытый ключ. Если вы действительно параноидально относитесь к безопасности, не позволяйте им генерировать закрытый ключ за вас.
Эта информация может быть сохранена в «сертификате» и затем использована клиентом для аутентификации. Почему можно получить сертификат без закрытого ключа?
Чтобы служба могла подтвердить, что ваш ключ действителен, им необходимо либо доверять корневому ключу для центра сертификации, который сгенерировал ваш сертификат, либо им нужна копия вашего сертификата с открытой частью ключа. Службе, которая аутентифицирует вас, не нужен ваш закрытый ключ.
Как используется сертификат без закрытого ключа?
Некоторые службы могут не доверять каждому ключу, выданному ЦС. Таким образом, они могут захотеть сохранить общедоступную версию вашего ключа, чтобы они знали, что вы и есть вы. Конечно, если они доверяют СА помещать достоверную информацию в субъект, тогда
Можно ли в любое время запросить закрытый ключ, если открытый ключ и CA уже известны?
Никогда не должно быть возможности получить закрытый ключ, если у вас есть только открытый ключ.
Если вы разрешите своему ЦС сгенерировать для вас ваш закрытый ключ, и они сохранят закрытый ключ в своей системе и имеют слабую защиту, я предполагаю, что ЦС может быть атакован и закрытый ключ получен. Открытая часть ключа будет содержать информацию о СА. Однако это кажется маловероятным.