Що таке файл PFX?
Формат файлу .pfx, скорочено від Personal Information Exchange, в основному використовується для безпечного зберігання сертифікатів, приватних ключів та пов’язаних публічних сертифікатів в одному зашифрованому файлі. Він часто використовується в середовищах Windows для керування SSL/TLS сертифікатами для додатків, веб‑серверів та поштових клієнтів.
Огляд файлів PFX
- Формат: Файли PFX базуються на стандарті PKCS#12 (Public Key Cryptography Standards #12).
- Вміст: Вони зберігають:
- Приватні ключі (необхідні для розшифрування)
- Публічні сертифікати (підтверджують особу власника сертифіката)
- Проміжні сертифікати (використовуються для перевірки ланцюжків сертифікатів)
- Шифрування: Файли PFX захищені паролем і зашифровані для безпеки конфіденційної інформації.
Використання файлів PFX
- SSL/TLS сертифікати: Часто файл .pfx використовується для встановлення SSL/TLS сертифікатів на веб‑сервери, такі як Microsoft IIS.
- Шифрування електронної пошти та цифровий підпис: Клієнти електронної пошти, такі як Microsoft Outlook, використовують файли PFX для захищеного обміну електронною поштою.
- Підпис коду: Розробники можуть використовувати файли PFX для підпису коду або програмного забезпечення з метою підтвердження їх автентичності.
Що таке PKCS #12?
PKCS #12 (Public Key Cryptography Standards #12) — це безпечний контейнерний формат для об’єднання криптографічних об’єктів, таких як приватні ключі та сертифікати, в один файл. Часто використовується в налаштуваннях SSL/TLS, він дозволяє безпечно передавати як сертифікат, так і його приватний ключ, зазвичай з розширеннями .pfx або .p12. Файли PKCS #12 захищені паролем і зашифровані, що забезпечує безпечне управління конфіденційною інформацією на різних платформах. Цей формат особливо популярний для SSL/TLS сертифікатів, підпису коду та безпеки електронної пошти, де конфіденційність і цілісність ключів і сертифікатів є критичними для автентифікації та шифрування.
Ключові характеристики файлів PFX
| Характеристика | Опис |
|---|---|
| Розширення файлу | .pfx (і функціонально взаємозамінний з .p12) |
| Основні варіанти | Синтаксис обміну особистою інформацією PKCS#12 (v1.0 / RFC 7292), застарілий формат Microsoft PFX |
| Тип формату | Захищений паролем, двійковий криптографічний архівний контейнер |
| Основне використання | Передача та резервне копіювання SSL/TLS сертифікатів разом із приватними ключами, розгортання сертифікатів підпису коду та забезпечення ідентифікацій S/MIME для автентифікації клієнтів |
| Головна особливість | Зашифроване об’єднання публічних сертифікатів X.509, повних проміжних ланцюжків довіри та приватних криптографічних ключів у єдиному файлі, захищеному паролем |
| Профіль безпеки | Контейнер високої безпеки; вимагає сильних паролів для захисту від офлайн-атак словником; ніколи не слід публічно ділитися або комітити в систему контролю версій через вбудовані приватні ключі |
| Сумісність | Нативно підтримується Windows Certificate Manager, Microsoft IIS, Exchange та macOS Keychain; повністю керується в Linux та Unix за допомогою OpenSSL |
Порівняння: PFX проти CER
| Функція / Показник | Файл PFX (.pfx) | Файл CER / CRT (.cer) |
|---|---|---|
| Стандарт формату | Криптографічний архів PKCS#12 | Стандартний цифровий сертифікат X.509 |
| Включення приватного ключа | Так (зашифровано всередині контейнера) | Ні (зберігає лише дані публічного сертифікату) |
| Механізм захисту | Захищено паролем за допомогою симетричного шифрування (наприклад, AES або 3DES) | Зазвичай не зашифровано; доступно у вигляді простого тексту або публічних бінарних даних |
| Обсяг розповсюдження | Внутрішнє та конфіденційне: Зберігається виключно на сервері хостингу; ніколи не передається зовнішнім сторонам | Публічне: Поширюється вільно до веб-браузерів, клієнтів та довірених сторін під час рукостискань |
| Типові випадки використання | Міграція серверів, повне резервне копіювання SSL-облікових даних, підписання коду та прив’язка веб-сервера IIS | Перевірка особистості, встановлення кореневих/проміжних довірчих якорів CA та верифікація токенів |
| Кодування файлу | Тільки у бінарному форматі | Бінарний (DER) або Base64-кодований ASCII (PEM) |
Хоча файл .cer представляє публічну ідентифікаційну картку, яку ви відкрито передаєте підключеним клієнтам, файл .pfx є повним сейфом, що містить як цю ідентифікаційну картку, так і секретний ключ, необхідний для підтвердження власності.
Як відкрити файл PFX?
Ви можете відкривати або використовувати файли PFX наступними способами.
- Windows Certificate Manager: Ви можете імпортувати файли PFX у Windows, відкривши Certificate Manager через
certmgr.msc. - Command Line: У Windows ви можете використовувати команду
certutilдля роботи з файлами .pfx. - Third-Party Tools: Програми, такі як OpenSSL, можуть конвертувати файли PFX в інші формати (наприклад, PEM).
Конвертація файлів PFX
Щоб конвертувати файл .pfx у інший формат, наприклад .pem, ви можете використовувати інструменти, такі як OpenSSL:
openssl pkcs12 -in file.pfx -out file.pem -nodes
Міркування щодо безпеки
Оскільки файли .pfx містять конфіденційну інформацію, зберігайте їх у безпеці, бажано використовуючи складні паролі та надійні рішення для зберігання.
Поширені запитання
| Питання | Відповідь |
|---|---|
| Яка основна функція файлу .pfx? | Він безпечно об’єднує SSL/TLS сертифікат, його проміжний ланцюжок та пов’язаний приватний ключ в один зашифрований файл. |
| Чи є файл .pfx функціонально ідентичним файлу .p12? | Так, обидва розширення реалізують стандарт PKCS#12 і зазвичай можуть бути взаємозамінними за допомогою сучасних криптографічних інструментів. |
| Чи можу я безпечно надсилати файл .pfx через публічні або незашифровані канали? | Ні, оскільки він містить ваш секретний приватний ключ, його розкриття може дозволити зловмисникам видавати себе за ваш домен або підписувати шкідливий код. |
| Як я можу перетворити файл .pfx у читабельні файли сертифіката та ключа? | Ви можете використовувати інструменти командного рядка OpenSSL, щоб витягти публічний сертифікат та розшифрований приватний ключ у окремі файли у форматі PEM. |
| Чому Windows запитує пароль під час імпорту файлу .pfx? | Контейнер зашифровано за допомогою шифрування на основі пароля, щоб запобігти несанкціонованому витягненню вбудованого приватного ключа. |