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

IETF Стандарт

Формат PKCS #12 (P12/PFX) може містити приватні ключі, сертифікати та пов’язані дані. Залежно від способу створення файл може бути захищений паролем або не зашифрований.

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

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

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

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

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

Приватно - файли ніколи не залишають ваш пристрій

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

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

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

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

30

ПОДАННЯ В ASCII: 0

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

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

Архітектура контейнераСтруктура PFX у форматі ASN.1, зашифрована паролем і збережена в контейнері SafeBags, який містить приватні ключі, сертифікати та списки відкликаних сертифікатів (CRL)
СтисненняКриптографічні дані без стиснення
Порядок байтів (Endianness)ASN.1 DER зі старшим байтом першим (Big-Endian)
Колірні просториНе застосовується (зашифроване сховище ключів)
Канали та структураПриватні ключі, відкриті сертифікати, ланцюжки проміжних центрів сертифікації та сертифікати кореневих центрів сертифікації
Максимальні розміриЗазвичай від 5 до 25 КБ
ПрозорістьЗашифрований контейнер (захищений паролем)
Потокове та прогресивне завантаженняАтомарне вилучення зашифрованого архіву

Технічна матриця порівняння: 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.app Certificate Tool.

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

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

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

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

Рекомендації щодо захисту: Завжди використовуйте надійні паролі та сучасне шифрування AES-256 із PBKDF2/SHA-256 для файлів 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 містять ваш конфіденційний приватний ключ, вони зашифровані паролем, щоб запобігти викраденню вашої цифрової ідентичності сторонніми особами.