- Windows pfx сертификат что такое
- Примеры сценариев при импорте и экспорте сертификата
- Импорт сертификата в Windows
- Экспорт сертификата Windows
- Windows pfx сертификат что такое
- Для чего нужно преобразование сертификатов
- Как получить PFX ключ на IIS
- Установка OpenSSL для Windows
- Преобразование PFX в PEM
- Преобразование PEM в KEY
- Получаем PFX ключ для импорта в IIS
- Что делать если нет сертификата в запросах заявок на сертификат
- Преобразование p7b в pem
- Преобразование CRT в PEM
Windows pfx сертификат что такое
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов рунета Pyatilistnik.org. В прошлый раз мы с вами успешно настроили сеть на CentOS 7.6, двигаемся вперед. В сегодняшней публикации я вам хочу продемонстрировать, как вы можете выполнить экспорт сертификата или импорт сертификата из хранилища Windows. Уверен, что вы сами с легкостью можете найти кучу разных сценариев при которых вы можете использовать мою инструкцию.
Примеры сценариев при импорте и экспорте сертификата
Если вы мой постоянный читатель, то вам уже должны быть знакомы понятие SSL сертификата, его виды и назначение. Сейчас уже сложно себе представить работу юридических лиц, ИП и обычных граждан без сертификатов и ЭЦП. Многие программы используют их для шифрования трафика, например при документообороте или при доступе к сервису, очень частый пример, это кабинет клиент-банка.
В большинстве случаев у людей на компьютере установлена операционная система Windows, она не идеальна и бывают частые случаи ее выхода из строя. При таком раскладе у вас легко могла возникать ситуация по восстановлению вашего сертификата из хранилища Windows, или при обновлении вашего компьютера на более новый, где так же производили перенос сертификатов, я приводил такой пример для КриптоПРО. Переходим к практике.
Импорт сертификата в Windows
Ранее я вам рассказывал, где в операционной системе Windows хранятся сертификаты и вы помните, что там есть два глобальных контейнера:
- Первый, это для компьютера
- Второй для пользователя
Я в своем примере буду импортировать сертификат в раздел локального компьютера, в личное расположение. И так у меня есть Wildcard сертификат имеющий формат PFX архива. Существует два метода импорта сертификата в операционных системах Windows:
- Через графический мастер импорта сертификатов
- Через использование утилиты командной строки certutil
Давайте начнем с самого простого метода, через графический интерфейс. У меня есть файл pyatilistnik.pfx. Я щелкаю по нему двойным кликом и запускаю мастер импорта сертификатов.
Я указываю, что буду копировать сертификат в хранилище локального компьютера, нажимаю далее.
Мастер импорта сертификата попытается удостовериться, какой файл вы будите копировать, поддерживаются форматы PFX, P12, p7b и SST.
На следующем этапе вы указываете пароль от данного сертификата, при желании можете поставить галку «Пометить этот ключ как экспортируемый, что позволит сохранить резервную копию ключа и перемещать его». Данная галка полезна при использовании сертификата их реестра, ну и потом можно будет его при необходимости перенести, но это МЕНЕЕ БЕЗОПАСНО, не не смертельно если есть пароль.
Далее вы выбираете куда вы будите помещать сертификат при импорте, я выберу ручное помещение в личное хранилище.
Завершаем мастер импорта сертификатов.
В результате импортирование сертификата успешно выполнено.
Давайте удостоверимся, что у вас появился ваш сертификат, тут вы можете воспользоваться оснасткой mmc «сертификаты» или же утилитой certutil. Я покажу оба варианта, откройте командную строку или оболочку PowerShell и выполните:
В итоге у вас будет список всех ваших сертификатов, если знаете его CN, то можете отфильтровать по findstr. Второй вариант, это в окне выполнить открыть mmc и добавить там оснастку «Сертификаты» (Подробнее по ссылке выше про mmc).
В контейнере «Личное — Сертификаты» я вижу свой Wildcard SSL сертификат, и по значку я вижу, что в нем есть закрытый ключ. Я его удалю, чтобы импортировать его с помощью certutil.
Для импорта сертификата вам нужно через команду cd перейти в каталог, где хранится pfx архив. В моем примере, это каталог C:\Temp\wildcard.
Далее импортируем наш сертификат. пишем команду:
Где -p, это пароль, а pyatilistnik.pfx имя файла.
Все с копированием сертификата в ваше локальное хранилище мы разобрались, переходим к экспорту.
Экспорт сертификата Windows
Давайте теперь проделаем процедуру обратного порядка. Первым делом я произведу экспорт сертификата из графического интерфейса. В оснастке «Сертификаты» найдите нужный вам. Щелкните по нему правым кликом и выберите «Все задачи — Экспорт’.
У вас откроется окно мастера экспорта сертификатов, нажимаем далее.
Если есть возможно и закрытый ключ экспортируемый, то можете выставить режим «Да, экспортировать закрытый ключ».
Вам будет предложено выбрать формат выгрузки, тут могут быть расширения cer DER, cer Base-64, p7b, PFX. Так как у меня сертификат Wildcard, то я могу выгрузить в «Файл обмена личной информацией -PKCS # 12(.PFX)». Если вы планируете после экспорта удалить из личного хранилища ваш сертификат, то можете тут выставить соответствующую галку. Так же может выгрузить все расширения, после чего нажимаем далее.
Задаем обязательный пароль два раза, лучше сразу задавать стойкий пароль.
В следующем окне мастера по экспорту сертификатов, вы задаете его имя и где он будет сохранен.
Завершаем процедуру экспорта pfx архива из нашего хранилища сертификатов.
Экспорт успешно выполнен.
Теперь давайте произведем экспорт с помощью утилиты certutil. Перед тем, как это сделать, нам необходимо вычислить серийный номер сертификата.Для этого выполните команду:
Находим поле «Серийный номер» у нужного сертификата и копируем его.
Далее пишем команду для экспорта сертификата;
Все успешно отработало.
На выходе я получил файл export-cert-2.pfx. Открыть архив с сертификатом вы легко сможете через утилиту keytool или Key Store Explorer.
Windows pfx сертификат что такое
Добрый день уважаемые читатели, в прошлый раз я вам рассказывал, о том, что такое csr запрос и мы его генерировали на IIS сервере, далее нам его нужно было передать в удостоверяющий центр для выпуска основного сертификата сервера, мы выбрали для этих целей сертификат comodo на 3 года от компании Emaro. Все замечательно, сертификат прислали, но есть одно но, когда вы попытаетесь импортировать сертификат в формате crt в IIS сервере, то получите предложение, только на импорт pfx формата, и если его не, то ошибку, что сертификат не содержит закрытого ключа. Давайте смотреть как это решить.
Для чего нужно преобразование сертификатов
Тут ответ, очень простой, все дело в формате работы с ними у каждой программы, будь то IIS или же Apache сервер. Более подробно про виды сертификатов и их назначение, я вам посоветую прочитать вот эту статью.
Давайте я подробнее покажу как выглядит ошибка импортирования сертификата. Во первых когда вы получаете от comodo ваш архив с сертификатами, то там будет два файла:
- с расширением .ca-bundle
- с расширением .crt
Попытавшись на сервере IIS произвести их импорт вы увидите вот такую картинку.
И тут нет ничего удивительного, так как это не pfx архив, то в нем нет нужного приватного ключа. Для его получения придется слегка постараться.
Как получить PFX ключ на IIS
нажимаем сочетание клавиш WIN+R и вводим mmc, для вызова оснастки. Я вам уже рассказывал о ее применении и удобстве для системного администратора.
Далее вам необходимо через меню «Файл» добавить новую оснастку.
Находим сертификаты и нажимаем кнопку «Добавить»
В следующем окне выбираем «для учетной записи компьютера»
подтверждаем, что нас интересует локальный компьютер.
Далее находим пункт «Запросы заявок на сертификат», тут вы обнаружите ваш запрос, находите его и через правый клик экспортируете его.
У вас откроется мастер экспорта сертификатов
Далее вы выбираете «Да, экспортировать закрытый ключ»
Ставим галку «Включить по возможности все сертификаты в путь сертификации» и начинаем наш экспорт PFX архива.
Теперь мастер экспорта, просит вас указать два раза нужный вам пароль, для защиты pfx архива.
Через кнопку обзор, указываем место сохранения вашего файла.
Как видим, все успешно выгружено.
Установка OpenSSL для Windows
Теперь нам необходимо наш файл pfx переделать в pem, Pem преобразовать в key:
- с расширением .ca-bundle
- с расширением .crt
- key
Вы получите из этих трех файлов, нужный для импорта pfx архив. Во всем этом нам поможет утилита OpenSSL для Windows.
В итоге у вас будет архив, распакуйте его куда вам будет угодно. Далее выберите вашу папку, зажмите SHIFT и щелкните по ней правым кликом, в открывшемся контекстном меню, выберите пункт «Открыть окно команд».
В результате чего у вас откроется командная строка Windows, но уже в нужной папке содержащей утилиту openssl.exe, она нам и поможет все сделать красиво.
Преобразование PFX в PEM
Теперь приступаем к получению фала в формате Pem. Положите в папку с дистрибутивом файл в формате pfx.
openssl.exe pkcs12 -in api.pyatilistnik.ru.pfx» -nocerts -out key.pem
Вас попросят указать пароль от Pfx архива, вы его задавали при экспорте, после чего нужно придумать пароль на pem файл.
В папке с дистрибутивом OpenSSL вы обнаружите файл key.pem, он нам нужен будет для следующего этапа.
Преобразование PEM в KEY
Теперь получим файл с расширением key, для этого есть вот такая команда:
openssl rsa -in key.pem -out api.pyatilistnik.ru.key
Вас попросят указать пароль от pem ключа.
В итоге я получил закрытый ключ в формате key.
Осталась финишная прямая.
Получаем PFX ключ для импорта в IIS
Теперь когда у вас есть все составляющие, вы можете выполнить последнюю команду для создания PFX файла для IIS сервера.
openssl.exe pkcs12 -export -out api.pyatilistnik.ru.pfx -inkey api.pyatilistnik.ru.key -in api.pyatilistnik.ru.crt -certfile api.pyatilistnik.ru.ca-bundle
Задаем пароль для pfx файла, потребуется при импортировании.
В итоге вы получаете нужный вам файл, который можно загружать на ваш почтовый сервер.
Что делать если нет сертификата в запросах заявок на сертификат
Бывают ситуации, что на вашем сервере по каким-то причинам, в папке запросы на сертификат, может не оказаться вашего, в этом случае вам необходимо будет перейти в этой же mmc в раздел «Личное-Сертификаты». Выбираем нужный и делаем экспорт.
Появится мастер экспорта сертификатов.
Обратите внимание, что в pfx выгрузить не получится, но это не страшно, нам подойдет и p7b, но с включенной галкой «Включить по возможности все сертификаты в путь сертификации»
Указываем путь сохраняемого файла.
Видим, что все успешно выполнено.
Преобразование p7b в pem
Попробует такое преобразование.
openssl.exe pkcs7 -in new.pyatilistnik.ru.p7b -inform DER -print_certs -out new.pyatilistnik.ru.pem
В итоге я получил файл new.pyatilistnik.ru.pem
Ну, а дальше уже по инструкции сверху. Если у вас выскочит ошибка, по типу
То наш вариант это .crt в .der и уже .der в .pem
Преобразование CRT в PEM
Кладем так же все в одну папку, файл crt вам должны были прислать вместе с ca-bundle.