Как установить сертификат pem в windows
В этой статье описывается импорт сертификата веб-сайта в хранилище сертификатов локального компьютера и назначение сертификата веб-сайту.
Применяется к: Windows Server 2003
Исходный номер КБ: 816794
Установка сертификатов
Сервер Windows 2003 г. (IIS) 6.0 поддерживает связь secure Sockets Layer (SSL). Для целого веб-сайта, папки на веб-сайте или отдельного файла, расположенного в папке на сайте, может потребоваться безопасное подключение к SSL. Однако прежде чем веб-сервер сможет поддерживать сеансы SSL, необходимо установить сертификат веб-сайта.
Для установки сертификата в IIS 6.0 можно использовать один из следующих методов:
- Сделайте запрос в Интернете с помощью мастера сертификата веб-сервера IIS и установите сертификат во время запроса.
- Сделайте автономный запрос с помощью мастера сертификата веб-сервера IIS и получите и установите сертификат позже.
- Запрос сертификата без использования мастера сертификата веб-сервера IIS.
Если используется второй или третий метод, необходимо установить сертификат вручную.
Чтобы установить сертификат веб-сайта, необходимо выполнить следующие задачи:
- Импорт сертификата в хранилище сертификатов компьютера.
- Назначение установленного сертификата веб-сайту.
Импорт сертификата в локальный магазин компьютеров
Чтобы импортировать сертификат в локальный компьютерный магазин, выполните следующие действия:
- На веб-сервере IIS 6.0 выберите Начните и выберите Выполнить.
- В поле Открыть введите mmc и выберите ОК.
- В меню File выберите добавление и удаление привязки.
- В диалоговом окне Add/Remove Snap-in выберите Добавить.
- В диалоговом окне Добавить автономный диалоговое окно Snap-in выберите Сертификаты, а затем выберите Добавить.
- В диалоговом окне "Сертификаты" выберите учетную запись Computer и выберите Далее.
- В диалоговом окне Выберите компьютер выберите локальный компьютер: (на компьютере эта консоль запущена) и выберите Finish.
- В диалоговом окне Добавить автономный диалоговое окно Snap-in выберите Close.
- В диалоговом окне Add/Remove Snap-in выберите ОК.
- В левой области консоли дважды щелкните Сертификаты (Локальный компьютер).
- Правой кнопкой мыши Личный, указать на все задачи, а затем выберите Импорт.
- На странице Welcome to the Certificate Import Wizard выберите Далее.
- На странице Файл импортировать выберите Просмотр, найдите файл сертификата, а затем выберите Далее.
- Если сертификат имеет пароль, введите пароль на странице Пароль, а затем выберите Далее.
- На странице Хранилище сертификатов выберите Место всех сертификатов в следующем магазине, а затем выберите Далее.
- Выберите Готово, а затем выберите ОК, чтобы подтвердить успешное импортное импортное решение.
Назначение импортного сертификата веб-сайту
Теперь можно настроить элементы веб-сайта для использования безопасных коммуникаций.
В приведенном ниже примере используется последняя версия 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. Убедитесь что установка идет в Доверенные корневые центры сертификации.
Сертификат сервера направлялся Вам по электронной почте после его выпуска в 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 будет указывать на сертификат удостоверяющего центра или директорию сертификатов, которые в свою очередь служат для выпуска сертификатов, принимаемых вами для аутентификации клиента.
Читайте также: