Что такое формат файла P12?
Файл .p12 представляет собой архив PKCS #12, который объединяет один или несколько сертификатов X.509 вместе с соответствующими им закрытыми ключами в один защищенный паролем бинарный файл. Формат был первоначально определен RSA Laboratories и в настоящее время регулируется IETF RFC 7292 (2014). Он широко используется для передачи учетных данных между системами - например, при экспорте сертификата TLS/SSL с одного сервера и его импорте на другой, или при распространении идентификатора для подписи кода или электронной почты.
Бинарное содержимое закодировано в DER (Distinguished Encoding Rules) и структурировано как вложенные объекты ASN.1. Файл начинается с байтов DER 30 82, которые обозначают SEQUENCE ASN.1, хотя сами по себе эти байты не являются уникальными для PKCS #12. Шифрование на основе пароля (PBE) защищает как закрытый ключ, так и, опционально, сертификаты. Современные реализации предпочитают AES-256-CBC или 3DES-CBC; старое программное обеспечение все еще может создавать архивы на основе RC2.
.p12 и .pfx взаимозаменяемы - оба имеют идентичную структуру PKCS #12; название .pfx предшествовало RFC и происходит от Microsoft. В Windows двойной щелчок по файлу .p12 открывает «Мастер импорта сертификатов». В macOS импорт нативно обрабатывается приложением «Связка ключей». В Linux стандартным инструментом командной строки является openssl pkcs12.
Связанные форматы включают .pem (сертификаты в текстовой кодировке, не объединенные в пакет), .cer (только сертификат, без закрытого ключа) и .jks (Java KeyStore - эквивалент в экосистеме Java).
Безопасность и защита
РИСК: HIGHФайл .p12 содержит ЗАКРЫТЫЙ КЛЮЧ, что делает его одним из самых конфиденциальных типов файлов: любой, у кого есть файл и пароль к нему, может выдавать себя за владельца сертификата - подписывать код или документы от его имени, отправлять/расшифровывать почту S/MIME или запускать сервер с его идентификатором. Никогда не отправляйте .p12 по почте без защиты, не фиксируйте его в системах контроля версий (частая утечка в репозиториях CI/CD), используйте надежный пароль экспорта и удаляйте файл после импорта. Относитесь к неожиданным вложениям .p12 как к подозрительным. Работайте с файлами .p12 только с помощью доверенных инструментов (мастера ОС, OpenSSL, Keychain) - никогда не используйте случайные сайты «просмотра сертификатов», которые могут похитить ваш ключ.
Детали формата
в двух словахПрограммы, открывающие файлы P12
Технические подробности
глубокая спецификация| Тип контейнера | Зашифрованный пакет из нескольких объектов, хранящий цепочку сертификатов и закрытые ключи в одном файле |
| Бинарная кодировка | DER (Distinguished Encoding Rules), структурированная как вложенные объекты ASN.1 |
| MIME-тип | application/x-pkcs12 |
| Магические байты | 30 82 со смещением 0 - тег DER ASN.1 SEQUENCE, за которым следует 2-байтовое поле длины; не уникально только для .p12 |
| Защита паролем | Обязательна для контейнеров с закрытыми ключами; опционально применяется к контейнерам сертификатов независимо |
| Симметричное шифрование | AES-256-CBC (современный стандарт); 3DES-CBC и RC2 в устаревших реализациях |
| Функция формирования ключа | PKCS #12 KDF (вариант PBKDF1) согласно RFC 7292; PBKDF2 и PBMAC1 добавлены в RFC 9579 (2024) |
| Целостность MAC | HMAC, вычисляемый по структуре AuthenticatedSafe; SHA-1 (классический) или SHA-256 (современный) |
| Хранение сертификатов | Поддерживает полную цепочку: конечный сертификат, промежуточные ЦС и корневой ЦС в одном архиве |
| Поддерживаемые типы закрытых ключей | RSA, DSA, ECDSA; на практике чаще всего RSA-2048 или ECDSA P-256/P-384 |
| Понятное имя | Отображаемый псевдоним для каждой записи, хранящийся как атрибут SafeBag localKeyId или friendlyName (OID 1.2.840.113549.9.20) |
| Взаимозаменяемый формат | .pfx - это название, предложенное Microsoft для той же бинарной структуры PKCS #12; содержимое файлов идентично |
| Поддержка платформ | Нативная в Windows (certutil, оснастка MMC «Сертификаты»), macOS («Связка ключей»), iOS и Android |
| Типичные сценарии использования | Экспорт и импорт сертификатов TLS/SSL, подпись кода, идентификация электронной почты S/MIME, клиентская аутентификация |
| Типичный размер файла | 1-10 КБ для одного ключа и сертификата; больше, если включена полная цепочка сертификатов |
| Выпущен | PKCS #12 v1.0 published 1999 by RSA Laboratories; now RFC 7292 (2014) |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.rfc-editor.org |
Конвертации P12
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах P12.