Несколько месяцев назад я отправил клиенту CSR, и теперь они наконец отправили мне ответ CA. Однако существует несколько серверов Windows 2008R2, и я не помню, какой из них я использовал для генерации CSR, и, следовательно, я не знаю, какой сервер содержит закрытый ключ.
Как я могу узнать?
Обновить
На сервере, который, как я подозревал, был правильным, я вошел в управление сертификатами для локального компьютера с помощью MMC (certmgr.msc) и в разделе Certificates (Local Computer)> Certificate Enrollment Requests> Certificates я нашел закрытый ключ, связанный с CSR.
Однако моя проблема в том, что когда я пытаюсь выполнить запрос из IIS (где я создал CSR), он не связывает его с этим закрытым ключом. Я попытался certreq -accept -machine "c: \ cert.crt" но я получаю эту ошибку:
Certificate Request Processor: Cannot find object or property. 0x80092004 (-2146
885628)
2-е обновление
Я смог выяснить, что клиент использовал другой CSR, чем мы отправили ему для запроса сертификата. Я сделал это, сравнив информацию «Кому выдан» в их сертификате с той же информацией в CSR, которую я им отправил, и обнаружил, что города были разными. Надеюсь, что это поможет кому-то другому иметь дело с проблемными клиентами :)
Вы можете попробовать использовать набор инструментов openSSL для сравнения сертификатов: http://bogpeople.com/networking/openssl.shtml
Приносим извинения, если это не помогло - я работаю в Linux и не знаком с администрированием Windows. Есть бинарные дистрибутивы для винды, за что стоит => https://www.openssl.org/related/binaries.html
У меня есть способ узнать, создается ли csr с одного из серверов Windows.
в cmd: "certutil filename.csr" без кавычек
в атрибуте Machine вы получите то, где он сгенерирован.