При подготовке нового сервера Windows 2012R2 к производству мне потребовалось установить SSL-сертификат (GlobalSign Domain) для веб-сайта, на котором работает наше приложение. Я сделал это, сгенерировав запрос на сертификат, отправив его в GlobalSign, а затем выполнив запрос, используя выданный сертификат в формате PEM.
Обычно мне также приходилось брать соответствующий промежуточный сертификат GlobalSign DomainSSL и также устанавливать его. Однако соответствующий промежуточный сертификат, похоже, установился автоматически, как только я настроил привязки к сайту IIS.
Я точно знаю, что промежуточного сертификата не было в хранилище сертификатов локального компьютера под:
Intermediate Certification Authorities -> Certificates
... в оснастке Certificates MMC.
Сначала я проверил, а затем, когда он волшебным образом появился, я прогнал свой сертификат SSL .pfx
import и конфигурацию привязки IIS на чистом сервере 2012R2 и подтвердили, что промежуточный сертификат действительно был установлен автоматически.
Я не помню, чтобы это происходило с Windows 2008 / R2. Это новая функция или что-то, что включено по умолчанию, чего раньше не было?
Обновить:
HBruijnОтвет объясняет появление промежуточного сертификата на моем втором "девственном" сервере, упомянутом выше. Я действительно экспортировал сертификат как .pfx
файл и импортировал его на другой сервер. Проверка с помощью openssl
инструмент выявляет наличие корневых и промежуточных сертификатов.
Тем не мение... на исходном сервере я завершил ожидающий запрос сертификата и загрузил только сертификат в формате «PEM». это не включает в себя корневые / промежуточные сертификаты (я проверил openssl
).
Файл ".pfx" - это PKCS # 12 архив: формат файла архива для хранения многих объектов криптографии в одном файле. Обычно он используется для связывания сертификата X.509 и всех участников цепочки доверия.
Вы импортировали промежуточный сертификат вместе с сертификатом SSL.
Я тоже видел это в прошлом, и мы столкнулись с некоторыми проблемами, заставившими меня взглянуть на это. Моя система Windows 7 (SP1, Enterprise) делает то же самое. И копаясь в Wireshark и Process Monitor от Sysinternals, можно увидеть следующее.
В одном из моих хранилищ сертификатов есть сертификат, подписанный COMODO, для которого сертификат в цепочке (b9b4c7a ...) недоступен ни в одном из моих хранилищ сертификатов. Но у сертификата есть свойство «Доступ к информации о полномочиях», которое содержит URL-адрес. http://crt.comodoca.com/COMODOHigh-AssuranceSecureServerCA.crt.
Открытие этого сертификата (через mmc.exe
оснастка Certificates), чтобы отобразить стандартный диалог Windows «Сертификат», запускает загрузку указанного выше URL-адреса, и полученный сертификат b9b4c7a ... помещается в хранилище промежуточных центров сертификации для текущего пользователя.
И он также кешируется в c:\users\<currentUser>\C:\Users\mklooste\AppData\LocalLow\Microsoft\CryptnetUrlCache
, с записью как в Metadata
и Content
папка.
Если я сейчас повторю то же действие (после удаления сертификата из хранилища промежуточных центров сертификации текущего пользователя), он снова будет восстановлен, но на этот раз он не будет загружен из COMODO, а скопирован из CryptnewUrlCache
.
Мне не удалось найти никакой документации по этой функции от Microsoft. Однако они, кажется, следуют RFC 5280, раздел 4.2.2.1, «Доступ к информации о полномочиях», в котором говорится:
Упомянутое описание издателей CA предназначено для помощи пользователям сертификатов в выборе пути сертификации, который заканчивается в точке, которой доверяет пользователь сертификата.
Все зависит от формата сертификата, который вы получили от вашего центра сертификации, GlobalSign, Comodo, Symantec (ранее VeriSign). Если вы получили сертификат в формате PKCS # 7, он будет включать корень и промежуточные звенья. Если вы получили сертификат в x.509, он обычно не включает корень и промежуточные звенья, поэтому вам нужно будет получить эти файлы с вашего сайта Cert Authority. Я установил сертификаты в Windows IIS 6,7 и 8, и, насколько мне известно, рекомендуемый формат - PKCS # 7. Я не использовал openssl. Корневая и промежуточная версии устанавливаются автоматически, когда вы проходите через мастер.
Вы можете просмотреть полученный файл сертификата, изменив его на файл .txt. Обычно вы увидите === Begin Certificate === и ==== End Certificate ===. Если вы видите 3 или 4 из них, то корень и / или промежуточные звенья объединены в этот файл сертификата. Если вы видите только один, то вам нужно будет получить root и промежуточное звено с вашего сайта Cert Authority.