Microsoft Active Ответ служб сертификации каталогов от certsrv

Я пытаюсь использовать сертификаты и закрытые ключи во встроенных системах, которые были созданы из служб сертификатов Microsoft Active Directory. NDES и SCEP в настоящее время не входят в сферу охвата, поэтому он должен быть полуавтоматическим.

Я использую веб-инструмент Microsoft на нашем сервере AD CA по адресу https: // server / certsrv . Я могу пройти и сгенерировать ответ без CSR и экспортировать закрытый ключ с сертификатом. Ответ - это страница, которая просит меня «Установить этот сертификат» или «Сохранить ответ».

Если я запустил опцию «Установить этот сертификат», приложение Windows Certmgr покажет, что я импортировал сертификат и у меня есть закрытый ключ. Затем его можно экспортировать как файл PKCS # 12, который можно использовать или преобразовать в PEM. Однако, если я использую «Сохранить ответ» вариант и сохраните файл как p7b (как указано certutil при изучении файла ответов), а затем я использую файл p7b для импорта сертификатов, закрытый ключ недоступен. Это согласовано, поскольку я не ожидал, что файл PKCS # 7 будет хранить закрытые ключи.

Мой вопрос:

Формат файла PKCS # 7 не поддерживает закрытые ключи, а OpenSSL не поддерживает извлечение закрытых ключей из файла PKCS # 7. Есть ли способ использовать веб-инструмент certsrv и получить как сертификат, так и закрытый ключ, не устанавливая этот сертификат в Windows? Кроме того, WTF позволяет MS устанавливать закрытые ключи, которые я не могу получить? Я просмотрел сценарии в файле https: //dakota.main.lab/certsrv/certfnsh. asp , и они, похоже, используют те же данные pkcs # 7, которые представлены в выходных данных «сохранить ответ».

Заранее спасибо.

Динсдейл

2
задан 17 February 2016 в 20:19
1 ответ

Когда вы генерируете запрос на сертификат с помощью веб-регистрации, закрытый ключ генерируется локально с помощью вашего браузера. Запрос на подпись сертификата отправляется в ЦС (без закрытого ключа), после чего он подписывается. Сертификат затем представлен вам на веб-странице со ссылкой на «Установить этот сертификат».

В этот момент вы не сможете сохранить его как PKCS # 12 (игнорируя тот факт, что вы не можете щелкнуть правой кнопкой мыши и выберите «Сохранить как»), поскольку это просто сертификат на сервере.

Когда вы «Установить этот сертификат», он сохраняется в вашем хранилище сертификатов, после чего связывается с закрытым ключом. Если бы вы открыли MMC сертификатов, вы бы увидели там этот сертификат, и он показал бы, что у вас также есть закрытый ключ. Только на этом этапе вы можете экспортировать оба файла как файл PKCS # 12.

В качестве альтернативы вы можете использовать MMC Certificates для запроса сертификата, а затем экспортировать его с его закрытым ключом как PKCS # 12, но даже это таким образом, чтобы сертификат был сначала установлен на вашем компьютере (чтобы связать его с его закрытым ключом), прежде чем вы сможете его экспортировать.

Вы можете выполнить аналогичную процедуру в командной строке, но, опять же, вам необходимо установить сертификат, прежде чем вы сможете экспортировать его как PKCS # 12.

Итак, я полагаю, что ответ на ваш вопрос будет следующим: 'Нет, ты не можешь. Закрытый ключ всегда является локальным и должен быть связан с сертификатом, возвращаемым из ЦС, прежде чем вы сможете экспортировать его как PKCS # 12. '

1
ответ дан 3 December 2019 в 12:42

Теги

Похожие вопросы