У меня есть около 100 CSR для подписания на PKI Windows. Я хотел бы знать, можно ли отправлять, выпускать и экспортировать эти CSR в пакетном режиме с помощью пакетного сценария или сценария PowerShell, возможно, используя cert util, и как это сделать.
Мои поиски ничего не дали, но я все же думаю, что это возможно. Любая помощь будет принята с благодарностью.
Спасибо.
Я нашел этот вопрос, пытаясь сделать нечто подобное; У меня было несколько CSR в формате Base64, сгенерированных устройствами HP iLO, и я хотел подписать их все с помощью нашего корпоративного центра сертификации служб сертификации AD.
В конце концов мне удалось это сделать с помощью этой команды:
certreq -config "caserver01.mydomain.com\Name of My CA" -attrib "CertificateTemplate:CNOfMyCertificateTemplate" -submit c:\myCSR.csr c:\pathToSaveCertificate.cer
NB //
Вам необходимо указать CN шаблона сертификата, а не отображаемое имя. Я нашел CN, посмотрев здесь с помощью ADSIedit:
CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=mydomain,DC=com
Имя всех центров сертификации предприятия в домене можно найти, запустив
certutil -dump
Моя учетная запись пользователя не требует утверждения для использования этого шаблона сертификата, поэтому они выдаются автоматически и сразу же загружаются с помощью certreq. Я не уверен, как это было настроено в CA, и даже если это особенно хорошая идея. Если запрос должен быть одобрен, я считаю, что вам нужно будет запустить отдельную команду «certreq -retrieve», чтобы загрузить сертификат после его утверждения.
Надеюсь, это кому-то поможет!
Я использую инструменты командной строки в автономном ЦС Windows 2003, но я почти уверен, что они работают таким же образом и в более новых версиях.
Отправить запрос
certreq.exe -config .\MyCA -submit myhost1.req
Это возвращает что-то вроде этого:
RequestId: 555
Certificate request is pending: Taken Under Submission (0)
Затем вы можете отправить запрос:
certutil.exe -resubmit 555
и экспортируем в файл:
certreq.exe -config .\MyCA -Retrieve 555 myhost1.cer
Итак, с этими знаниями и 100 файлами запросов в каталоге вы можете использовать PowerShell:
certreq submit
, чтобы получить идентификатор запроса, который вам понадобится на следующих двух шагах.-config .\myCA
- указать используемый ЦС, в данном случае ЦС с именем «myCA» на локальном компьютере.
Если у вас уже есть запросы в системе, вам нужно перебрать все ожидающие, а затем выполнить последние два шага для каждого из них.