Создание PFX сертификата из отдельных файлов с открытым и закрытым ключом
Очень часто при покупке коммерческого сертификата провайдер услуги предоставляет нам сертификат в PEM формате, т.е. отдельно предоставляется файл, содержаший сам сертификат (открытй ключ) и отдельной файл с закрытым ключом. Для того, чтобы импортировать такой сертификат в хранилище сертификатов Windows компьютера предварительно необходимо создание PFX сертификата. При этой процедеру открытый и закрытый ключ сертификата “склеиваются” в один файл, который в последующем можно без проблем импортировать в хранилище сертификатов сервера Windows.
Ниже мы рассмотрим один из способов конвертирования сертификата из PEM формата в PFX. В качестве инструмента для конвертирования мы будем использовать OpenSSL.
Необходимый инструмент
Создание PFX сертификата а из PEM сертификата штатными средствами Windows “из коробки” не поддерживается. Соответственно, мы будем использовать сторонее решение – OpenSSL for Windows.
Переходим по указанной выше ссылки и загружаем дистрибутив программного продукта:

Копия дистрибутива от 03.09.2021 доступна ниже:
Выполняем установку дистрибутива. В случае успешной установки в директории, которую вы указали при установке будет примерно следующий набор файлов:

Процедура создания PFX сертификата
Для того, чтобы выполнить непосредственную конвертацию PEM сертификата в PFX выполните следующие действия:
1. Запустить командную строку от имени администратора.
2. Перейдите в директорию bin в папке с установленным дистрибутивом OpenSSL:

3. Выполните следующую команду:
in – путь до файла с открытым ключом,
inkey – путь до файла с закрытым ключом,
out – путь до файла, в который будет конвертирован сертификат.
4. Если ваш PEM файл был защищен парольной фразой, то openssl напишем вам соответствующее сообщение. Далее вам будет необходимо указать вашу парольную фразу, которой был защищен закрытый ключ:
5. Указываем парольную фразу, которой будет защищен наш итоговый PFX файл:
6. Дожидаемся окончания процедуры конвертирования сертификата.

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

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

Заключение
В текущей статье мы рассмотрели процедуру конвертирования сертификата из PEM формата (с отдельными файлами для открытого и закрытого ключа) в PFX формат (файл, который включает в себя как открытый, так и закрытый ключ). Для конвертирования сертификата мы использовали утилиту OpenSSL.
Пароль на pfx файл что это
Авторизуясь в LiveJournal с помощью стороннего сервиса вы принимаете условия Пользовательского соглашения LiveJournal
- February 2022
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 |
Проблема:
При попытке импортировать свежеэкспортированный файл сертификата PFX, получаем отлуп «неверный пароль».
При этом имеется уверенность, что:
— пароль 100% верен
— унитаз приносил
— жопу показывал
— имеется справка от психиатра
Причина:
На целевой машине нет требуемых модулей шифрования/хэширования (чаще всего это AES256-SHA256).
Проблеме больше двух лет
Решение:
1) Установить обновления безопасности, которые добавят необходимые модули.
2) (Мой случай) Установить отечественный криптопровайдер, с помошью которого и был сгенерирован тот сертификат, который и требуется импортировать.
PS: Все заценили информативность сообщения об ошибке?
Да у Майкрософта всегда была информативность сообщений об ошибках уровня: «Не получилось».
Причём, это «не получилось» чаще всего ещё и зашифровано каким-нибудь цифровым кодом. Ты этот код полчаса ищешь, что он значит, а там «не получилось».
Записки IT специалиста
Форматы сертификатов X.509 (SSL) и преобразования между ними
- Автор: Уваров А.С.
- 19.12.2022
SSL-сертификаты все плотнее входят в нашу жизнь и трудно представить современного администратора, никогда не имевшего с ними дело. Но, как показывает практика, работа с сертификатами все еще вызывает затруднение у многих наших коллег и виной тому недостаточный объем теоретических знаний. Наиболее частые сложности возникают с форматами сертификатов, поэтому мы сегодня решили внести ясность в этот вопрос и разобрать какие форматы сертификатов бывают и как можно выполнять преобразования между ними.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Форматы сертификатов
Начнем с того, что термин сертификат не является полностью корректным. Если мы говорим об инфраструктуре открытых ключей (PKI), то в ее основе лежит понятие ключевой пары — открытого и закрытого ключа. Сертификат — это средство распространения открытого ключа, которое содержит сам открытый ключ и ряд дополнительной информации. Сертификат является публичным и общедоступным. Закрытый ключ, наоборот, секретная информация и должен храниться в безопасном месте.
Но, как говорится, из песни слов не выкинешь и понятие сертификат широко используется и специалистами, и простыми пользователями в самом широком смысле: подразумевая и сам сертификат, и ключ сертификата, и полностью ключевую пару. Поэтому, каждый раз, когда вам встречается это слово, то нужно, прежде всего определиться в каком контексте оно употребляется и что именно значит.
Также при работе с сертификатами вам обязательно встретится аббревиатура X.509, это стандарт для сертификатов и ключей PKI, определяющий их формат, структуру и способы работы с ними. Поэтому, когда речь идет о X.509, то мы понимаем, что это сертификаты PKI.
Но перейдем к форматам. Серьезную путаницу вносит то, что расширения сертификатов и ключей не всегда четко указывают на формат, точнее даже наоборот и точно убедиться с чем именно вы имеете дело можно только ознакомившись с содержимым. Мы не будем рассматривать все возможные варианты форматов, ограничимся только самыми ходовыми.
Формат DER
Это бинарный формат для сертификатов и ключей, фактически он является исходным, так как изначально ключи — это некоторые бинарные сущности. Чаще всего используется на платформе Java и в Windows, там это формат по умолчанию. Могут использовать расширения .der и .cer, но ничего не мешает дать такому файлу другое широко используемое расширение.
Поэтому для выяснения формата файла следует просмотреть его содержимое или воспользоваться командой file в Linux:
Если сертификат бинарный, то в ответ вы получите:
Все тоже самое справедливо и для закрытого ключа, который чаще всего имеет расширение .key.
Формат PEM
Данный формат наиболее популярен и распространен, особенно в открытом ПО. Представляет кодированный при помощи Base64 формат DER и по сути является обычным текстовым файлом. Характерными особенностями являются обязательные строки, между которыми находится содержимое сертификата или ключа:
А команда file определяет такой файл как:
Контейнер в формате PEM может содержать один или несколько сертификатов, закрытый ключи или сертификат(ы) и закрытый ключ одновременно. В этом случае каждый из них обрамляется обязательными строками BEGIN и END. Кроме расширения .pem могут также использоваться .cer, .crt и .key для ключа. Поэтому определять формат следует по типу содержимого.
Формат PKCS #7
Специальный контейнер, предназначенный для хранения сертификатов и/или списков отзыва (CRL), может иметь расширения .p7b или .p7c. Важной особенностью является то, что данный формат не предназначен для хранения закрытого ключа и используется только для сертификатов. Чаще всего используется в Windows системах.
Может иметь как DER, так и PEM формат, в последнем случае файл имеет обязательные строки:
Данный контейнер в основном определяется по расширению, а его внутренний формат по содержимому.
Формат PKCS #12
Данный формат предназначен для хранения закрытого ключа и сертификата, кроме них может содержать полную цепочку доверия и список отзыва. Часто используется для распространения и хранения ключевой пары. Наибольшее распространение имеет в Windows системах и является дальнейшим развитием контейнера PFX от Microsoft, в настоящий момент эти аббревиатуры употребляются как синонимы.
Имеет бинарный формат и защищен паролем (можно оставить пустой пароль), определяется по расширениям .pfx, .p12, .pkcs12.
Преобразование форматов
Для всех дальнейших действий мы будем использовать OpenSSL на платформе Linux, для работы в среде Windows вам потребуется несколько изменить синтаксис в части определения путей. Все команды выполняются от имени того пользователя, который является владельцем сертификата. Также помним, что форматом по умолчанию для OpenSSL является PEM.
PEM в DER
Для преобразования сертификата из PEM в DER выполните:
Для закрытого ключа:
Для получения нужного результата мы явно указываем выходной формат — DER.
DER в PEM
Синтаксис команд схож, для сертификата:
Для закрытого ключа:
Обратите внимание, что в данной команде мы, наоборот, явно указываем входной формат.
Для примера объединим два сертификата: собственно наш сертификат и сертификат удостоверяющего центра.
Ключ -nocrl указывает, что мы не включаем в контейнер список отзыва. Каждый включаемый в контейнер сертификат задается отдельной опцией -certfile.
Для создания контейнера с CRL используем команду:
Так как мы не указывали ни входной, ни выходной форматы, то на входе используем сертификаты формата PEM и получаем контейнер с тем же форматом. Для получения файла в формате DER укажите:
Преобразовать сертификаты в формате DER сразу в PKCS #7 нельзя, их следует сначала преобразовать в формат PEM.
PEM в PKCS #12
Создадим контейнер, в который поместим собственно ключевую пару и дополнительный сертификат CA:
В ключе -in указываем сертификат, связанный с закрытым ключом, в -inkey — закрытый ключ, затем добавляем нужное количество опций -certfile для включения дополнительных сертификатов, которые будут формировать цепочку доверия.
PKCS #7 в PEM
Мы можем вывести все сертификаты файла PKCS #7 в PEM командой:
Если исходный файл в формате DER, то добавьте:
Напоминаем, что определять формат PKCS #7 следует по содержимому.
Данный контейнер может содержать как ключевую пару, так и дополнительные сертификаты, чтобы вывести их все в формат PEM используйте команду:
Последний ключ -nodes указывает на то, что не нужно шифровать закрытый ключ.
Но что, если нам нужно получить только отдельные части контейнера? Ничего сложного.
Для вывода только сертификата и закрытого ключа используйте:
Так как мы не извлекаем ключ, то опция -nodes как бы не нужна, но она подавляет появления запроса на пароль для экспортируемого файла.
Для вывода только сертификата(ов) CA:
Только закрытого ключа:
Как видим, при помощи OpenSSL не составляет никакого труда разобрать контейнер PKCS #12 на составляющие.
Установить / снять пароль с закрытого ключа
Еще одна часто встречающаяся задача: снять пароль с закрытого ключа, для этого используйте команду:
openssl rsa -in privkey.key -out privkey-nopass.key
Обратная операция выполняется командой:
openssl rsa -des3 -in privkey.key -out privkey-pass.key
Где -des3 указывает на алгоритм шифрования, допустимы значения: -aes128, -aes192, -aes256, -aria128, -aria192, -aria256, -camellia128, -camellia192, -camellia256, -des, -des3, -idea. Перед их использованием следует уточнить, какие именно из них поддерживает тот софт, с которым вы собираетесь использовать ключ.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
![]()
Или подпишись на наш Телеграм-канал: ![]()
Создание файла PFX / P12 для Azure в Windows
Из этого туториала Вы узнаете, как сгенерировать файл PFX / P12 в Windows и IIS для загрузки SSL /TLS сертификат вместе с его закрытым ключом и полной цепочкой доверия. Файл PFX этого типа полезен при установке сертификата веб-сайта в веб-приложениях Azure.
-
Сгенерируйте закрытый ключ и CSR.

Создайте новый закрытый ключ и CSR следуя инструкциям в Создать запрос на подпись сертификата (CSRв Windows IIS 10.

Откройте свой новый CSR в текстовом редакторе для отправки на SSL.com.
• Если вы заказываете новый сертификат, следуйте инструкциям в Заказ и получение SSL /TLS Сертификаты. На шаге 11 скопируйте и вставьте CSR в CSR поле.
• Если вы повторно обрабатываете существующий заказ на сертификат, следуйте инструкциям в Повторная обработка сертификата. На шаге 3 не проверять использовать предыдущий csr. Скопируйте и вставьте новый CSR в CSR поле.

Когда сертификат будет выдан, выберите апаш ссылка для скачивания из вашего заказа сертификата. Разархивируйте файл после загрузки.

Дважды щелкните сертификат с доменным именем вашего веб-сайта. Щелкните значок Откройте кнопку, чтобы отклонить предупреждение системы безопасности, если оно появляется. Когда Сертификация появится окно, нажмите кнопку Установить сертификат кнопка. в Мастер импорта сертификатов, выберите Локальная машина местонахождение магазина, тогда Автоматически выбирать хранилище сертификатов в зависимости от типа сертификата.

Повторите шаг 5 с файлом с именем ca-bundle-client.crt .
Запустите MMC (вы можете найти эту программу, набрав «mmc» в строке поиска Windows).

Выберите Файл> Добавить / удалить оснастку… в меню, затем выберите Сертификаты оснастку и щелкните Добавить кнопку.

Выберите Учетная запись компьютера, А затем нажмите Далее кнопку.


Выберите Локальный компьютер, А затем нажмите Завершить кнопка. Нажмите OK уволить Добавить или удалить оснастки окно.
Двойной клик Сертификаты (локальный компьютер).


Дважды щелкните Персонал папку, чтобы открыть ее.
Дважды щелкните Сертификаты папку, чтобы открыть ее.

Найдите сертификат своего веб-сайта в списке. Если существует несколько сертификатов с одним и тем же доменным именем, дважды щелкните их и проверьте даты действия последнего выданного сертификата.

Щелкните сертификат правой кнопкой мыши и выберите Все задачи> Экспорт.

Компания Мастер экспорта сертификатов откроется. Щелкните значок Далее кнопку.

Выберите Да, экспортировать закрытый ключ, А затем нажмите Далее кнопку.

Проверьте Если возможно, включите все сертификаты в путь сертификации и Экспорт всех расширенных свойств, Вы также можете проверить Включить конфиденциальность сертификата если вы хотите, чтобы сертификаты в вашем PFX-файле были зашифрованы. (В любом случае закрытый ключ будет зашифрован.) Когда вы закончите настройку параметров, нажмите кнопку Далее кнопку.

Проверить Пароль кнопку, создайте и подтвердите пароль для вашего PFX-файла, затем щелкните Далее кнопку.

Создайте имя файла, заканчивающееся на .pfx для вашего PFX-файла, затем щелкните Далее кнопку.


Нажмите Завершить , затем OK , чтобы закрыть всплывающее сообщение об успешном экспорте. Вы также можете закрыть MMC на этом этапе.
Теперь у вас должен быть PFX-файл с полной цепочкой доверия и закрытым ключом для установка в веб-приложениях Azure (или любой другой хостинг, требующий файл PFX для установки сертификата).