Как установить сертификат pem в windows

Обновлено: 08.07.2024

В этой статье описывается импорт сертификата веб-сайта в хранилище сертификатов локального компьютера и назначение сертификата веб-сайту.

Применяется к: Windows Server 2003
Исходный номер КБ: 816794

Установка сертификатов

Сервер Windows 2003 г. (IIS) 6.0 поддерживает связь secure Sockets Layer (SSL). Для целого веб-сайта, папки на веб-сайте или отдельного файла, расположенного в папке на сайте, может потребоваться безопасное подключение к SSL. Однако прежде чем веб-сервер сможет поддерживать сеансы SSL, необходимо установить сертификат веб-сайта.
Для установки сертификата в IIS 6.0 можно использовать один из следующих методов:

  • Сделайте запрос в Интернете с помощью мастера сертификата веб-сервера IIS и установите сертификат во время запроса.
  • Сделайте автономный запрос с помощью мастера сертификата веб-сервера IIS и получите и установите сертификат позже.
  • Запрос сертификата без использования мастера сертификата веб-сервера IIS.

Если используется второй или третий метод, необходимо установить сертификат вручную.

Чтобы установить сертификат веб-сайта, необходимо выполнить следующие задачи:

  • Импорт сертификата в хранилище сертификатов компьютера.
  • Назначение установленного сертификата веб-сайту.

Импорт сертификата в локальный магазин компьютеров

Чтобы импортировать сертификат в локальный компьютерный магазин, выполните следующие действия:

  1. На веб-сервере IIS 6.0 выберите Начните и выберите Выполнить.
  2. В поле Открыть введите mmc и выберите ОК.
  3. В меню File выберите добавление и удаление привязки.
  4. В диалоговом окне Add/Remove Snap-in выберите Добавить.
  5. В диалоговом окне Добавить автономный диалоговое окно Snap-in выберите Сертификаты, а затем выберите Добавить.
  6. В диалоговом окне "Сертификаты" выберите учетную запись Computer и выберите Далее.
  7. В диалоговом окне Выберите компьютер выберите локальный компьютер: (на компьютере эта консоль запущена) и выберите Finish.
  8. В диалоговом окне Добавить автономный диалоговое окно Snap-in выберите Close.
  9. В диалоговом окне Add/Remove Snap-in выберите ОК.
  10. В левой области консоли дважды щелкните Сертификаты (Локальный компьютер).
  11. Правой кнопкой мыши Личный, указать на все задачи, а затем выберите Импорт.
  12. На странице Welcome to the Certificate Import Wizard выберите Далее.
  13. На странице Файл импортировать выберите Просмотр, найдите файл сертификата, а затем выберите Далее.
  14. Если сертификат имеет пароль, введите пароль на странице Пароль, а затем выберите Далее.
  15. На странице Хранилище сертификатов выберите Место всех сертификатов в следующем магазине, а затем выберите Далее.
  16. Выберите Готово, а затем выберите ОК, чтобы подтвердить успешное импортное импортное решение.

Назначение импортного сертификата веб-сайту

Теперь можно настроить элементы веб-сайта для использования безопасных коммуникаций.

В приведенном ниже примере используется последняя версия OpenSSL для ОС Windows. Предполагается использование конфигурации с сервером безопасности, настроенном на веб-сервере IIS. В примере продемонстрированы шаги для создания трех сертификатов:

корневой сертификат - используется для подписи других сертификатов;

сертификат клиента - предоставляется пользователем для проверки на сервере.

Для настройки двухфакторной аутентификации необходимо выполнить все этапы данной инструкции.

1. Предварительные настройки OpenSSL

Для выполнения примера были заданы следующие предварительные настройки OpenSSL:

Создана папка « C:\iis » и « C:\iis\newcerts ».

В папке « C:\iis » создано два файла: пустой « index.txt » и файл без расширения « serial », содержащий значение « 01 ».

2. Создание и установка корневого сертификата

Корневой сертификат необходим для подписания сертификата клиента и сервера.

Создание корневого сертификата

Для создания корневого сертификата:

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

cd C:\Program Files\OpenSSL-Win64

openssl req -new -x509 -days 1000 -out c:\iis\ca.crt -keyout c:\iis\ca.key -config .\bin\cnf\openssl.cnf

При выполнении команды будут запрошены дополнительные данные: PEM пароль и пользовательские данные о владельце сертификата.

Совет . При необходимости можно поменять срок действия сертификата в команде или в настройках OpenSSL по умолчанию.

Установка созданного сертификата

Созданный сертификат необходимо установить в хранилище доверенных центров:

Вызовем консоль управления, выполнив (горячая клавиша WIN+R) команду « mmc ».

Добавим (горячая клавиша CTRL+M) оснастку сертификаты для учетной записи локального компьютера.

Импортируем, ранее созданный сертификат, в папку « Доверенные корневые центры сертификации > Сертификаты »:


3. Создание и установка сертификата сервера

Сертификат сервера используется веб-сервером IIS для проверки подлинности сертификатов клиентов, для создания и подписания сертификата сервера выполните следующие шаги:

Создание запроса сертификата


В диспетчере служб IIS перейдем на страницу настройки сертификатов, нажав кнопку « Сертификаты сервера ».

Выполним команду « Создать запрос сертификата » контекстного меню или боковой панели.

Заполним поля о пользователе сертификата.

При запросе имени файла сохраним запрос в папке « C:\iis » под именем « server.csr ».

Подписание запроса сертификата

Созданный запрос необходимо подписать корневым сертификатом. Откроем консоль OpenSSL и введем команду:

openssl ca -days 1000 -policy policy_anything -keyfile c:\iis\ca.key -cert c:\iis\ca.crt -in c:\iis\server.csr -out c:\iis\server.cer -config openssl.cnf

При выполнении команды будет получен запрос PEM пароля и уточняющие вопросы. После введения данных будет создан сертификат.

Установка сертификата сервера в IIS

Подписанный файл сертификата сервера необходимо установить на веб-сервер IIS:


В диспетчере служб IIS перейдем на страницу настройки сертификатов, нажав кнопку « Сертификаты сервера ».

Выполним команду « Запрос установки сертификата » контекстного меню или боковой панели.

Укажем путь до подписанного сертификата « C:\iis\server.cer ».

В результате на веб-сервер IIS будет установлен подписанный сертификат сервера.

Сохранение сертификата в формате PEM

Сохранение сертификата server.cer в формате PEM необходимо в том случае, если выполняется настройка входа через OAuth, при которой используется утилита PP.Util для сохранения сгенерированного сертификата в репозиторий. Откроем консоль OpenSSL и введем команду:

openssl x509 -in c:\iis\server.cer -out c:\iis\server.pem

После выполнения команды сертификат будет сохранен в формате PEM и доступен для использования утилитой PP.Util.

4. Настройки параметров подключения

В диспетчере служб IIS перейдем на страницу сайта, например « Default Web Site ».

Выполним команду « Привязки » контекстного меню или боковой панели.

Параметры SSL

Включим параметры SSL для используемого веб-сайта/приложения:


В диспетчере служб IIS перейдем на страницу настройки параметров SSL, нажав кнопку « Параметры SSL ».

Установим флажок « Требовать SSL » и переключатель « Требовать сертификат клиента ».

Настройка параметров подключения

В настройках подключения пользователя к серверу безопасности необходимо указать адрес до веб-сервиса с учетом защищенного протокола:

5. Создание сертификата клиента

Создание запроса сертификата клиента

Для создания запроса в консоли OpenSSL введем команду:

openssl req -new -days 1000 -keyout c:\iis\client.key -out c:\iis\client.csr -config openssl.cnf

При выполнении команды будет предложено задать PEM пароль и дополнительную информацию и владельце сертификата.

После введения всех данных будет создан ключ и запрос на сертификат клиента.

Подписание запроса сертификата

Созданный запрос необходимо подписать корневым сертификатом. Откроем консоль OpenSSL и введем команду:

openssl ca -days 1000 -policy policy_anything -keyfile c:\iis\ca.key -cert c:\iis\ca.crt -in c:\iis\client.csr -out c:\iis\client.cer -config openssl.cnf

При выполнении команды будет получен запрос PEM пароля и уточняющие вопросы. После введения данных будет создан сертификат.

Сохранение сертификата в контейнере

Для возможности импортировать сертификат в хранилище сертификатов вместе с ключом, необходимо конвертировать сертификат с ключом в контейнер *.pfx.

Введем в консоли OpenSSL команду:

openssl pkcs12 -export -inkey c:\iis\client.key -in c:\iis\client.crt -out c:\iis\client.pfx

При выполнении команды будет получен запрос PEM пароля.

После создания контейнера его необходимо передать на компьютер клиента и импортировать в хранилище сертификатов.

6. Привязка сертификата к пользователю

Привязка сертификата к конкретному пользователю производится на вкладке «Общие свойства» в свойствах пользователя:

Выполним команду « Из файла » раскрывающегося меню кнопки « Добавить » и укажем созданный для клиента сертификат.

В результате доступ пользователя к репозиторию будет разрешен только при предъявлении сертификата пользователя.

7. Проверка работы сертификатов

Перед проверкой работы сертификатов перезагрузим веб-сервер IIS.

Для проверки работы запросов сертификатов проверим доступ к веб-сервису сервера безопасности. В браузере перейдем по адресу:

При корректной настройке будет показано окно выбора сертификата для аутентификации на сайте.

Если сертификат был указан корректно, будет отображена страница с доступными операциям веб-сервиса.

1. Если у вас возникает ошибка доступа к сайтам, в связи с истечением сертифика IdenTrust DST Root CA X3 на старых системах.


2. Если вы получаете ошибки git:

3. Ошибка CERTIFICATE_VERIFY_FAILED

ОС Ubuntu 16.04

Пропишите новые сертификаты в конфигурационном файле:

После выполнения команды должно вывести информацию об успешной установки трех новых сертификатов:

Сборка всех сертификатов находится в файле /etc/ssl/certs/ca-certificates.crt

ОС Centos 7

Установите программу для работы с сертификатами:

Сборка всех сертификатов находится в файле /etc/ssl/certs/ca-bundle.crt

Перезапуск сервисов

После настройки корневого сертификата следует перезапустить некоторые программы.

Windows 7

Контрольные суммы сертификата:

MD5: 118ecd744d864b32ffdb48b2e29f1d7f
SHA1: 4de9627fe9ace4acce27eaa1a0837cd3db55704b
SHA256: 22b557a27055b33606b6559f37703928d3e4ad79f110b407d04986e1843543d1


3.Откройте пункт Конфиденциальность и Безопасность и выберите раздел безопасность


4. Откройте пункт Настроить сертификаты


5. Выберите пункт Доверенные корневые центры сертификации


6. Нажмите на кнопку Импорт

7. Нажмите обзор и выберите загруженный файл.


8. В выпадающем списке нужно выбрать все файлы




8. Убедитесь что установка идет в Доверенные корневые центры сертификации.

image

Сертификат сервера направлялся Вам по электронной почте после его выпуска в GlobalSign. Также Вы можете получить его в своей учётной записи GlobalSign, нажав на кнопку
«Edit» слева от номера заказа и скопировав сертификат в формате PEM.

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

2. Откройте для редактирования конфигурационный файл Apache.
В зависимости от типа операционной системы путь директории конфигурационного
файла может быть разным:

3. Настройте виртуальный хост для работы сертификата.

Найдите раздел VirtualHost и добавьте (или отредактируйте, если они уже имеются) следующие директивы, указав актуальные пути к файлам сертификатов и ключа:

Убедитесь в правильности путей SSLCertificateFile, SSLCertificateKeyFile, SSLCertificateChainFile, каждый из них должен указывать на соответствующий файл.

Примечание: Начиная с версии Apache 2.4.8, вместо директивы SSLCertificateChainFile следует использовать директиву SSLCertificateFile, которая была расширена для поддержки промежуточных сертификатов. Добавление промежуточного сертификата в конец файла сертификата сервера создаст необходимую доверенную цепочку.

4. Протестируйте созданную конфигурацию сервера.
В зависимости от операционной системы, выполните команду:


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

5. Перезапустите сервер Apache.
Для более старых версий дистрибутива Red Hat Enterprise Linux используйте скрипты:


Для дистрибутивов Red Hat Linux 7 или CentOS 7.0 используйте следующие команды:


Примечание: некоторые конфигурации Apache могут отображать директиву SSLCACertificateFile.
Данное поле необходимо только, если сервер Apache используется для аутентификации клиента.

Директива SSLCACertificateFile будет указывать на сертификат удостоверяющего центра или директорию сертификатов, которые в свою очередь служат для выпуска сертификатов, принимаемых вами для аутентификации клиента.

Читайте также: