Очень часто при покупке коммерческого сертификата провайдер услуги предоставляет нам сертификат в PEM формате, т.е. отдельно предоставляется файл, содержаший сам сертификат (открытй ключ) и отдельной файл с закрытым ключом. Для того, чтобы импортировать такой сертификат в хранилище сертификатов Windows компьютера предварительно необходимо создание PFX сертификата. При этой процедеру открытый и закрытый ключ сертификата “склеиваются” в один файл, который в последующем можно без проблем импортировать в хранилище сертификатов сервера Windows.
Ниже мы рассмотрим один из способов конвертирования сертификата из PEM формата в PFX. В качестве инструмента для конвертирования мы будем использовать OpenSSL.
Необходимый инструмент
Создание PFX сертификата а из PEM сертификата штатными средствами Windows “из коробки” не поддерживается. Соответственно, мы будем использовать сторонее решение – OpenSSL for Windows.
Переходим по указанной выше ссылки и загружаем дистрибутив программного продукта:
Копия дистрибутива от 03.09.2021 доступна ниже:
Выполняем установку дистрибутива. В случае успешной установки в директории, которую вы указали при установке будет примерно следующий набор файлов:
Процедура создания PFX сертификата
Для того, чтобы выполнить непосредственную конвертацию PEM сертификата в PFX выполните следующие действия:
1. Запустить командную строку от имени администратора.
2. Перейдите в директорию bin в папке с установленным дистрибутивом OpenSSL:
cd "C:\Program Files (x86)\GnuWin32\bin"
3. Выполните следующую команду:
openssl pkcs12 -export -in "C:\tmp\vpn\vpn.itproblog.ru-crt.pem" -inkey "C:\tmp\vpn\vpn.itproblog.ru-key.pem" -out "C:\tmp\vpn\vpn.itproblog.ru.pfx"
где параметр:
in – путь до файла с открытым ключом,
inkey – путь до файла с закрытым ключом,
out – путь до файла, в который будет конвертирован сертификат.
4. Если ваш PEM файл был защищен парольной фразой, то openssl напишем вам соответствующее сообщение. Далее вам будет необходимо указать вашу парольную фразу, которой был защищен закрытый ключ:
Enter pass phrase for C:\tmp\vpn\vpn.itproblog.ru-key.pem:
5. Указываем парольную фразу, которой будет защищен наш итоговый PFX файл:
Enter Export Password:
Verifying - Enter Export Password:
6. Дожидаемся окончания процедуры конвертирования сертификата.
После завершения процедуры конвертирования в указанной нами папке будет сгенерирован сертификат в PFX формате:
Проверка PFX сертификата
Для того, чтобы проверить правильно ли было выполнено конвертирование сертификата в PFX формат, вы можете импортировать его либо в личное хранилище сертификатов текущего пользователя, либо импортировать сертификат в хранилище локального компьютера.
В результате успешного импорта мы увидим сертификат в том хранилище, куда вы выполнили импорт. Дополнительно с свойствах сертификата будет сообщение о том, что в нем присутствует закрытый ключ:
Заключение
В текущей статье мы рассмотрели процедуру конвертирования сертификата из PEM формата (с отдельными файлами для открытого и закрытого ключа) в PFX формат (файл, который включает в себя как открытый, так и закрытый ключ). Для конвертирования сертификата мы использовали утилиту OpenSSL.