Я администрирую несколько серверов Windows (в основном 2008 R2 или 2012 R2), и мне приходится обрабатывать много обновлений сертификатов SSL. Когда мы продлеваем подписку у нашего поставщика Globalsign, они автоматически генерируют запрос на сертификат, используемый для продления. Когда я устанавливаю заполненный сертификат через раздел «Сертификаты сервера» в IIS, он без проблем принимает сертификат. Однако, когда я пытаюсь использовать certreq -accept "C: \ certpath.cer" для установки заполненного сертификата, он возвращает ошибку, подобную следующей:
Обработчик запроса сертификата: не удается найти объект или свойство. 0x80092004 (-2146885628 CRYPT_E_NOT_FOUND)
Есть ли способ обойти это без предварительной генерации запроса сертификата на сервере, или есть другая команда, которая будет работать лучше? Вышеупомянутая команда действительно работает, если запрос был сгенерирован на сервере вручную, но тот факт, что я все еще могу получить сертификат, установленный с закрытым ключом через графический интерфейс, означает, что это должно быть возможно и через командную строку.
Вы написали:
... они автоматически генерируют запрос сертификата, используемый для ...
Но тогда вы спросите:
Есть ли способ обойти это без создания запроса сертификата на сервере ...
Если вы ищете №3 и №5 (возможно, №1) ...
Использовать CERTUTIL.EXE
https://technet.microsoft.com/en-us/library/cc732443.aspx#BKMK_addstore
CertUtil -addstore CertificateStoreName InFile
CertUtil -addstore My C:\certpath.cer
certutil -addstore -?
Certutil -addstore По умолчанию я использую персональный магазин компьютера. Добавьте «-user», чтобы установить сертификат в личное хранилище текущего пользователя.
Или используйте Import-Certificate
cmdLet для серверов с ОС с достаточно новой версией powershell, где этот cmdLet доступен.
https://technet.microsoft.com/en-us/%5Clibrary/hh848630%28v=wps.630%29.aspx