В операційних системах Linux та Unix файли PEM та PFX є загальними форматами обміну сертифікатами та приватними ключами. Однак іноді може знадобитися конвертувати файли PEM у формат PFX для використання в інших системах або службах, які вимагають цей формат.
Файли PEM містять відкритий і закритий ключі, а також сертифікати, і використовують текстовий формат, який заснований на стандарті Base64. З іншого боку, файли PFX-це бінарний формат, який може містити кілька сертифікатів та приватний ключ у зашифрованому вигляді.
Для конвертації файлу PEM в формат PFX на Linux можна використовувати утиліту OpenSSL, яка є отрутою криптографії в Linux. Для цього можна скористатися командою:
openssl pkcs12 -export -out certificate.pfx -inkey private.key -in certificate.crt -certfile ca_certificate.crt
Де certificate.pfx - ім'я файлу PFX, який ви хочете створити, private.key - файл із закритим ключем, certificate.crt - файл з сертифікатом, а ca_certificate.crt - файл з кореневим сертифікатом, якщо він необхідний.
Після виконання цієї команди у вас з'явиться файл PFX, який можна використовувати в інших системах або службах, що підтримують цей формат.
Установка необхідних інструментів
Перш ніж почати конвертувати файл PEM у формат PFX на Linux, потрібно встановити кілька інструментів.
По-перше, переконайтеся, що у вас встановлений OpenSSL. Це відкрита бібліотека, яка надає набір криптографічних функцій. Ви можете встановити OpenSSL за допомогою менеджера пакетів дистрибуції, наприклад:
sudo apt-get install openssl
По-друге, нам знадобиться встановити утиліту OpenSSL для роботи з сертифікатами. Назва пакета може відрізнятися залежно від вашої дистрибуції, але зазвичай вона називається openssl-utils або openssl-tools . Ви можете встановити його таким чином:
sudo apt-get install openssl-utils
Після успішної установки цих інструментів, у вас буде все необхідне для конвертації файлу PEM в формат PFX на Linux.
Створення файлу PEM
Для створення файлу PEM, який містить відкритий і закритий ключі, необхідно виконати наступні кроки:
- Згенерувати приватний і відкритий Ключі.
- Об'єднати їх в один PEM-файл.
Нижче наведено докладні інструкції для кожного кроку.
Крок 1: генерація приватного та відкритого ключів
Для генерації приватного і відкритого ключів використовуйте програму OpenSSL.
Щоб створити приватний ключ, виконайте таку команду в терміналі:
| openssl genpkey -algorithm rsa -out private.key |
Для генерації відкритого ключа виконайте наступну команду:
| openssl rsa -pubout -in private.key -out public.key |
Крок 2: Об'єднання ключів у файл PEM
Щоб об'єднати приватний і відкритий ключі в один PEM-файл, виконайте таку команду:
| cat private.key public.key > combined.pem |
Тепер у вас є файл PEM, який містить приватні та відкриті ключі.
Зверніть увагу, що приватний ключ містить секретну інформацію і повинен зберігатися в безпечному місці. Ніколи не передавайте приватний ключ через незахищені канали.
Генерація закритого ключа
Для початку процесу перетворення файлу PEM у формат PFX на Linux потрібно створити приватний ключ.
Закритий ключ являє собою унікальну інформацію, яка використовується для розшифровки даних, захищених за допомогою відповідного відкритого ключа. Управління приватним ключем є надзвичайно важливим, оскільки його компрометація може призвести до порушення безпеки та витоку конфіденційної інформації.
Для генерації закритого ключа на Linux використовується утиліта OpenSSL.
| Команда | Опис |
|---|---|
| openssl genrsa -out private.key 2048 | Генерація закритого RSA ключа з довжиною 2048 біт і збереження його в файл private.key. |
В результаті виконання даної команди буде створено файл private.key, що містить закритий ключ.
Процес генерації приватного ключа вимагає вибору відповідної довжини ключа, яка залежить від рівня безпеки, необхідного у Вашому конкретному випадку. Зазвичай використовуються довжини 2048 біт і 4096 біт. Однак, довші Ключі вимагають більше обчислювальних ресурсів для роботи з ними.
Створення сертифіката
Для створення сертифіката PEM необхідно виконати кілька кроків:
- Згенерувати закритий ключ
- Створити запит на сертифікат (CSR)
- Підписати запит на сертифікат
Кроки створення сертифіката детально описані в наступній таблиці:
| Крок | Опис | Команда |
|---|---|---|
| 1 | Згенерувати закритий ключ | openssl genrsa -out private.key 2048 |
| 2 | Створити запит на сертифікат (CSR) | openssl req -new -key private.key -out csr.csr |
| 3 | Підписати запит на сертифікат | openssl x509 -req -in csr.csr -signkey private.key -out certificate.pem |
Після виконання цих команд буде створено сертифікат у форматі PEM, який можна використовувати для подальших операцій, включаючи конвертацію у формат PFX.
Перетворення PEM у формат PKCS#12
Для конвертації файлу PEM в формат PKCS # 12 на Linux можна використовувати команду openssl:
$ openssl pkcs12 -export -in certificate.pem -inkey privatekey.pem -out certificate.p12
- certificate.pem - шлях до файлу сертифіката у форматі PEM
- privatekey.pem - шлях до файлу приватного ключа у форматі PEM
- certificate.p12 - шлях для збереження отриманого файлу PKCS#12
При виконанні команди openssl знадобиться вказати пароль для захисту файлу PKCS # 12. Потім ви отримаєте файл certificate.p12, який можна використовувати для імпорту в інші програми або операційні системи.
Зверніть увагу, що при конвертації в формат PKCS#12 можуть бути проблеми з некоректно сформованими або несумісними сертифікатами і ключами. У цьому випадку рекомендується перевірити вхідні файли на помилки і, при необхідності, звернутися до фахівців з безпеки або сертифікації.
Встановлення файлу PFX
- Відкрийте термінал і перейдіть в директорію, де розташований файл PFX.
- Запустіть команду для встановлення файлу PFX: openssl PKCS12-in file.pfx -out file.pem -nodes
- В результаті буде створено файл file.pem, що містить відкритий ключ та сертифікати.
Тепер ви можете використовувати файл file.pem для подальших операцій з сертифікатами.