Пакет PKCS #12 (.p12)

IETF Стандарт

PKCS #12 (P12, також відомий як PFX) - це зашифрований, захищений паролем архівний формат, розроблений для безпечного зберігання та передачі приватних ключів разом із відповідними публічними сертифікатами X.509 та ланцюжками центру сертифікації (CA).

Конвертувати з P12 у PEM

Безкоштовний конвертер з P12 у PEM у браузері. Миттєво конвертуйте файли на своєму пристрої.

Аналіз та метадані

Операційні системи та аналізатори файлів ідентифікують файли P12, перевіряючи початкову послідовність бінарних байтів:

Виберіть або перетягніть файли сюди

100% приватна конвертація у браузері - файли ніколи не покидають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності з нульовою передачею мережею: 0 байт завантажено на зовнішні сервери. Уся обробка виконується локально в пісочниці вашого браузера.

Сигнатура заголовка на байтовому рівні (Magic Bytes)

Операційні системи та аналізатори файлів ідентифікують файли P12, перевіряючи початкову послідовність бінарних байтів:

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):

30 82

ASCII-УЯВЛЕННЯ: 0\x82

Стандартизація: IETF RFC 7292 / PKCS #12 v1.1

Технічні характеристики

Архітектура контейнераPassword-encrypted ASN.1 PFX structure encapsulating SafeBags holding private keys, certificates, and CRLs
СтисненняUncompressed cryptographic data
Порядок байтів (Endianness)Big-Endian ASN.1 DER
Колірні просториN/A (Encrypted Key Store)
Канали та структураPrivate keys, Public certificates, Intermediate CA chains, and Root CA certificates
Максимальні розміриTypically 5 KB to 25 KB
ПрозорістьEncrypted container (password-protected)
Потокове та прогресивне завантаженняAtomic encrypted archive extraction

Технічна матриця порівняння: P12 проти конкурентів

Технічний атрибутP12 (Поточний)PEMCRTDER
Можливість об'єднання в пакетПриватний ключ + Ланцюжок сертифікатів в одномуМожна комбінувати в тексті, незашифрований ключЛише сертифікатОдин двійковий ключ або сертифікат
ШифруванняЗахищено паролем (AES-256)Додаткова кодова фраза для приватного ключаНезашифрований публічний сертифікатНезашифрований двійковий файл
Apple iOS та macOSСтандарт експорту рідних ідентифікаторівВикористовується через командний рядокІмпортовано як сертифікатІмпортовано як сирий ключ
Взаємозамінний з.pfx (ідентичний формат).crt, .key.cer.asn1

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

Помилка вилучення: 'Mac verify error: invalid password' незважаючи на введення правильного пароля.

Першопричина: Налаштування OpenSSL 3.0 за замовчуванням відмовляються від застарілих алгоритмів шифрування 3DES/RC2 усередині старих файлів P12.

Відновлення: Повторно зашифруйте за допомогою сучасного AES-256 за допомогою інструменту сертифікатів File2File.

Аналіз безпеки та векторів атак на парсери

Контейнери P12 містять важливі приватні ключі; застарілі шифри шифрування необхідно оновити до сучасних стандартів AES.

Відомі вектори атак

  • Атаки грубої сили (brute-force) на паролі проти слабко зашифрованих архівів P12 із низькою кількістю ітерацій.
  • Експлуатація застарілих слабких шифрів RC2-40-CBC у старих файлах P12.
  • Витік розшифрованих приватних ключів у неадаптованих буферах пам'яті.

Захисні найкращі практики:

Історичне походження та віхи

2014IETF публікує RFC 7292, стандартизуючи сучасний PKCS #12 v1.1 із шифруванням AES.
2000Apple macOS Keychain та Microsoft Windows роблять PKCS #12 стандартним для передачі цифрових ідентифікаторів користувачів.
1999RSA Laboratories випускає PKCS #12 v1.0, витісняючи попередній формат PFX від Microsoft.

Головні переваги та плюси

  • Пакет «все в одному»: об'єднує приватний ключ, публічний сертифікат і повний ланцюжок проміжного центру сертифікації в єдиному безпечному файлі.
  • Шифрування з захистом паролем: приватні ключі зашифровані за допомогою алгоритмів AES-256 або 3DES, що робить їх безпечними для передачі.
  • Стандартний формат клієнтського сертифікату для аутентифікації у веб-переглядачі та профілів підписування коду розробника Apple iOS.

Технічні обмеження та мінуси

  • Для вилучення потрібен пароль: забуття пароля робить приватний ключ остаточно невідновлюваним.
  • Застарілі файли P12 використовували слабкі алгоритми шифрування 3DES або RC2, які викликають попередження в сучасному OpenSSL 3.0.
  • Двійковий формат неможливо візуально перевірити без інструментів криптографічного вилучення.

Цікаві технічні факти

  • Розширення файлів '.p12' та '.pfx' є на 100% взаємозамінними та посилаються на той самий формат.
  • Сертифікати розробника Apple iOS і профілі надання (provisioning profiles) поширюються як файли .p12 для підписування додатків для iPhone.
  • OpenSSL 3.0 застаріло застарілі алгоритми PKCS#12 (RC2-40-CBC), що вимагає прапорця '-legacy' для відкриття старих файлів P12.

Поширені технічні запитання

У чому різниця між .p12 та .pfx?

Різниці немає. .pfx був попереднім форматом від Microsoft, який був стандартизований лабораторіями RSA як PKCS #12 (.p12). Сьогодні обидва розширення посилаються на той самий формат.

Як витягти приватний ключ із файлу .p12?

Ви можете витягти приватний ключ та публічний сертифікат у чисті файли .pem за лічені секунди за допомогою File2File.app безпосередньо у вашому веббраузері.

Чому для файлу P12 потрібен пароль?

Оскільки файли P12 містять ваш конфіденційний приватний ключ, вони зашифровані паролем, щоб запобігти викраденню вашої цифрової ідентичності сторонніми особами.