Вы можете автоматически регистрировать сертификаты компьютеров в среде Active Directory с помощью служб сертификации Microsoft Active Directory.
Но как в этом случае производится генерация сертификатов, предназначенных для клиентов?
Какой из следующих двух вариантов верен:
Номер один - самый безопасный, поскольку закрытый ключ существует только на клиенте.
Номер два наименее безопасен, поскольку закрытый ключ также существует в AD CS, даже если он может быть кратковременным.
Первый вариант правильный.
В Microsoft ADCS сервер CA подписывает только запросы, подготовленные клиентами. Клиенты используют клиентский API для создания закрытого ключа и CSR (например, CertEnroll библиотека), а затем вызвать ICertRequest :: SubmitRequest для отправки запроса в CA. При подписании клиент получает выпущенный сертификат, вызывая ICertRequest :: GetCertificate метод.
CA не имеют доступа к закрытым ключам клиента. Однако существует возможность, когда реализована функция архивации ключей. Клиент безопасно передает свой ключ серверу CA, и CA использует сертификаты агента восстановления ключей для шифрования ключа в базе данных CA.