Сертификаты ssl исчезают IIS

Я пытаюсь импортировать сертификат в IIS. На MMC (Консоль Windows) все в порядке. Я закончил волшебников и, кажется, все в порядке. Но когда я обновляю список сертификатов или перехожу на другой экран IIS, сертификат исчезает из списка.

Я понятия не имею, в чем проблема. Что я могу сделать?

14 ответов

Эта проблема возникает, когда импортированный сертификат не имеет личного ключа. Если кто-то пытается импортировать сертификат уровня домена в IIS, мы не сможем импортировать, если сертификат не имеет закрытого ключа и приведет к исчезновению сертификата при обновлении.

Решением было бы импортировать файл.CER в вашу систему (откуда запрашивается сертификат) в хранилище персонала и экспортировать его с закрытым ключом. Затем скопируйте файл.pfx на нужный сервер и импортируйте его из опции сертификата сервера в IIS. Это решило бы проблему.

Многие люди придут сюда, не понимая, что они неправильно выполняют процесс сертификации для добавления SSL на свои общедоступные веб-сайты. Они скачают сертификат от кого-то вроде Годди и не осознают, что сделали это в неправильном порядке! Они не получат никаких сообщений об ошибках, все, что произойдет, это то, что сертификат в IIS исчезнет, ​​как только вы перейдете в другой раздел.

Правильный процесс заключается в следующем:

  1. В IIS вы запрашиваете сертификат (пропадает эта часть)
  2. Вы используете код, запрошенный IIS, чтобы запросить сертификат на общедоступном сайте (например, godaddy). Многие люди не выполняют первый шаг и используют случайно сгенерированный ключ
  3. Загрузите сертификаты, которые были созданы с использованием вашего кода запроса.
  4. Вы добавляете промежуточный сертификат в локальный центр сертификации (используйте MMC, чтобы туда попасть)
  5. Вы добавляете другой сертификат в IIS
  6. Вы настраиваете привязки

Вот ссылки. Создать запрос на сертификат

https://www.instantssl.com/ssl-certificate-support/csr-generation/iis-ssl-certificate-7x.html

https://uk.godaddy.com/help/iis-8-install-a-certificate-4951

У меня была эта проблема несколько раз. При использовании SSL NetworkSolutions исправление:

  1. Перейдите в диспетчер сертификатов MMC.
  2. Просмотрите личные сертификаты и удалите сертификат "Исчезающий".
  3. Затем просмотрите "Запросы на регистрацию сертификатов" и щелкните правой кнопкой мыши для экспорта.
  4. Выберите "Да, экспорт с закрытым ключом.

Это позволит вам экспортировать файл.pfx, который можно импортировать из диспетчера IIS 7. Не забудьте вернуться в диспетчер сертификатов MMC и выбрать "Персональные сертификаты", а в свойствах добавить "Дружественное имя", чтобы оно отображалось в Диспетчере IIS.

У меня была эта проблема, и я решил ее, используя OpenSSL для создания правильного файла.pfx. Инструкции для этого можно найти здесь

У меня возникла та же проблема этим утром, когда я смог добавить сертификат, но как только я нажал "Обновить", он исчез. Вот как я это решил:

Используйте следующие шаги для установки ssl сертификата на dev box-: используйте файл.pfx. Из вашего окна разработки перейдите в Администрирование-> Диспетчер IIS-> Сертификаты сервера. Нажмите Импортировать на правой панели. Перейдите к загруженному файлу.pfx, используйте пароль. Обязательно установите флажок "Разрешить экспорт этого сертификата", в противном случае, если вы получите сообщение об ошибке привязки позже. Перейдите на сайты, найдите свой сайт, нажмите на привязки и отредактируйте https, чтобы использовать новый сертификат SSL.

Если у сервера нет закрытого ключа, связанного с импортированным сертификатом, сертификат исчезает при обновлении (а также он не будет доступен для привязок).

Вы можете проверить в mmc - Сертификаты - Личное хранилище и подтвердить, что сертификат был установлен, но в нем отсутствует закрытый ключ.

Если у вас есть PFX (закрытый ключ) и пароль, вы можете импортировать его (как уже говорили другие), но если вы только что сделали запрос на сертификат, вероятно, у вас его не будет.

Предположим, что вы находитесь на правильном сервере (там же, где вы запрашивали сертификат), возможно, закрытый ключ как-то поврежден. Вы можете открыть открытый сертификат, получить серийный номер и попытаться восстановить закрытый ключ из хранилища ключей, как описано здесь.

Как сказал Сандип, IIS удаляет ваш сертификат, если у него нет закрытого ключа. Это часто происходит, если вы используете IIS для создания запроса сертификата от CA. Ваш CA не имеет вашего личного ключа (вы его имеете), поэтому файл не содержит личного ключа. Он является точными шагами, которые вам нужно сделать:

Первоначально вы создали запрос сертификата от IIS на вашем сервере. Вы отправили файл запроса TXT в свой центр сертификации, чтобы они могли создать сертификат для вас.

Центр сертификации отправил вам обратно файл.CRT. На том же Windows Server, который вы использовали для создания запроса на сертификат. В проводнике Windows щелкните правой кнопкой мыши файл.CRT, отправленный вам центром сертификации.

Выберите Установить сертификат. Запустится мастер импорта сертификатов.

В мастере импорта сертификатов в разделе "Расположение магазина" выберите "Локальный компьютер".

Далее выберите Поместить все сертификаты в следующее хранилище и выберите Доверенные корневые центры сертификации.

OK Это заставляет Windows импортировать сертификат в Windows (не в IIS). Теперь вам нужно получить файл PFX, содержащий закрытый ключ:

Запустите Mmc

Файл - Добавить / Удалить оснастку…

Сертификаты (локальный компьютер)

Из сертификатов (локальный компьютер) - расширенная сертификация доверенного корня

Папка Authorities

Selected Certificates

Noticed my imported certificate with a key logo displayed on it

Откройте сертификат

Обратите внимание, что отображается "У вас есть закрытый ключ, соответствующий этому сертификату".

Хорошо

Щелкните правой кнопкой мыши на сертификате.

All Tasks --> Export

следующий

На странице мастера "Экспорт закрытого ключа" выберите "Да, экспортировать закрытый ключ"

следующий

Мастер экспорта сертификатов предложит вам - Экспорт файла формата PKCS #12 (.PFX)

следующий

Мастер экспорта сертификатов требует защиты файла паролем:

Введите пароль для защиты файла.

следующий

Найдите местоположение и укажите имя файла. Файл будет иметь расширение.PFX.

Затем откройте IIS 7

Выберите свой IIS Server в левой панели (Соединения)

Нажмите "Открыть сертификаты сервера" в представлении "Функции".

В правой части панели "Действия" нажмите Импорт…

Выберите файл PFX, который вы экспортировали

Укажите пароль, который вы использовали для его защиты

Нажмите ОК

Это в IIS 6 или IIS 7? Вы импортировали его в консоль MMC или в IIS? Попробуйте сначала импортировать его в консоль MMC, а затем выбрать его в IIS. Также убедитесь, что импортируемый вами файл - это файл.pfx, содержащий закрытый ключ.

Используйте менеджер сертификатов для импорта файла. Оттуда попробуйте экспортировать. Если вы не можете экспортировать как файл PFX, я думаю, это означает, что в сертификате нет закрытого ключа. Возможно, вы скачали неправильный файл с вашего CA. Сейчас я имею дело с нашей CA, так что я не уверен на 100% об этом.

Итак, после нескольких часов борьбы с этим, повторной загрузки сертификата, проводящего время по телефону с технической поддержкой, и просмотра каждого блога, который я смог найти, я был озадачен. Я попытался повторно отправить запрос сертификата, чтобы восстановить сертификат (не повезло). С последним усилием я регенерировал запрос сертификата и повторно ввел сертификат, и теперь он работает нормально. Я не знаю, что случилось, и я оба раза очень тщательно вводил свои данные. Мое решение состояло в том, чтобы просто сгенерировать новый запрос и повторно ввести сертификат.

Решение Ника Олсена сработало для меня (сертификат RapidSSL), и я приведу точные шаги здесь (есть несколько ссылок, одна сломана):

  1. Установите OpenSSL отсюда
  2. Создайте следующие файлы в установочном каталоге OpenSSL (по умолчанию C:\OpenSSL-Win32\bin):

    • privatekey.txt - копирует и вставляет содержимое закрытого ключа
    • Certificate.txt - скопировать и вставить текст раздела сертификата
    • промежуточный текст - скопируйте и вставьте текст промежуточного раздела (необязательный шаг)
  3. Создайте файл.pfx, используя следующую команду

    openssl pkcs12 -export -out certificate.pfx -inkey privatekey.txt -in certificate.txt -certfile intermediate.txt
    
  4. Импортируйте файл в сертификаты сервера (IIS)

Процесс, если сертификат активирован.

  1. Войдите в свой Go Daddy VPS через удаленный рабочий стол.
  2. Откройте диспетчер IIS / выделите узел сервера (левая панель, IP-адрес вашего VPS)/ дважды щелкните "Сертификаты сервера" (центральная панель) / щелкните "Создать запрос на сертификат" / "Заполнить" (общее имя - полное доменное имя, yourdomain.com)/ выберите "Microsoft RSA SChannel" и Длина 2048 бит / сохранить как файл yourdomain.txt на рабочий стол.
  3. Откройте файл yourdomain.txt, который вы только что создали / Скопируйте весь текст.
  4. Войдите в Go Daddy из браузера на VPS через удаленный рабочий стол / Мои продукты /SSL/ Используйте активированный кредит SSL / кликните по центру серого квадрата. Повторно введите ключ и управляйте / Вставляйте текст в текстовое поле / Сохраняйте / Отправляйте сохраненные изменения.
  5. После подтверждения владельца домена вернитесь в раздел "Перейти к папке" / "Мои продукты" / "Сертификаты SSL" / выберите домен, к которому применяется сертификат / выберите тип сервера (IIS)/ загрузить / извлечь на рабочий стол.
  6. Запустите mmc / Файл / Добавить удалить Snap-In/ Сертификаты / Добавить / Учетная запись компьютера / Локальный компьютер / Готово /OK
  7. Разверните Сертификаты (локальный компьютер) / щелкните правой кнопкой мыши Промежуточные центры сертификации / щелкните правой кнопкой мыши / Все задачи / Импортируйте / импортируйте файл с PKCS7#7 из раскрывающегося списка, и этот файл отобразится в окне / Далее / Установите флажок "Поместить все сертификаты в следующий магазин". Выберите "Промежуточный центр сертификации" / "Завершить" / "Закрыть" / "Сохранить" "Нет" / "Закрыть консоль MMC".
  8. Вернитесь в IIS Manager/ выберите веб-сайт, назначенный сертификату (левая панель) / Привязки (правая панель) / Добавить / Тип (https),IP-адрес (IP-адрес вашего VPS), Порт (443), добавьте свое доменное имя (ваш домен).com) / сертификат должен отображаться в раскрывающемся списке с именем yourdomain.com.

Примечание: я также хотел бы проверить на YouTube / Sachin Sammy, как сделать скрипт перенаправления с http на https.

У меня та же проблема с сертификатом IIS (с личным ключом, .pfx) после импорта в узел MMC Local/Personal/Certificate на компьютере с Windows Server 2008R2.

Сертификат импортирует нормально, говорит, что это хорошо с CA, что тоже хорошо. Затем я могу настроить свой прокси-сервер (TMG 2010) на использование сертификата в веб-прослушивателе. Все отлично работает, и веб-слушатель и последующие правила, которые используют слушателя, работают нормально.

Через некоторое время я еще не пытался рассчитать время, сертификат исчезает из узла MMC L/P/C. Мой слушатель TMG по-прежнему показывает, что этот сертификат настроен для использования, но фактический сертификат исчез.

Я обнаружил, что проблема может быть воспроизведена, если листовой сертификат был установлен в промежуточных центрах сертификации. Удаление его (и оставление любого реального промежуточного звена, если применимо), а затем завершение мастера устраняет проблему.

Другие вопросы по тегам