Что такое формат файла P7C?
Файл .p7c - это пакет сертификатов PKCS#7, файл цифрового сертификата, закодированный как «вырожденная» структура PKCS#7 SignedData, содержащая один или несколько сертификатов X.509, но без подписанной полезной нагрузки. Он используется для распространения сертификата или полной цепочки сертификатов (конечный субъект плюс промежуточные центры сертификации) в виде единого переносимого файла.
Технически .p7c и .p7b - это один и тот же формат: оба упаковывают сертификаты в структуру PKCS#7 SignedData (OID 1.2.840.113549.1.7.2) с пустым полем SignerInfos. Различие носит условный характер - расширение .p7c Microsoft связывает с формой «только сертификаты» для целей S/MIME и идентификации электронной почты. Windows CryptoAPI и диспетчер сертификатов (certmgr.msc) обрабатывают оба расширения идентично.
Файлы могут быть закодированы двумя способами: DER (двоичный формат, начинающийся с байтов 30 82) или PEM (Base64-кодированный DER, заключенный в строки заголовка -----BEGIN PKCS7----- / -----END PKCS7-----).
Файлы .p7c содержат только открытые сертификаты - закрытые ключи не включаются. Для файлов, объединяющих сертификат с его закрытым ключом, см. .pfx (PKCS#12). Базовый стандарт был заменен на CMS (Cryptographic Message Syntax, RFC 5652), но файлы .p7c по-прежнему широко используются для распространения сертификатов S/MIME, цепочек подписи кода и рабочих процессов корпоративных PKI.
Команда openssl pkcs7 -in file.p7c -print_certs извлекает сертификаты из пакета.
Безопасность и защита
РИСК: LOWФайл .p7c содержит только открытые сертификаты - без закрытых ключей. Безопасен для обмена и распространения. Не содержит исполняемого контента. Риск: всегда проверяйте издателя/отпечаток сертификата после импорта, чтобы подтвердить, что он получен от законного ЦС; вредоносные сертификаты могут быть использованы в атаках типа MITM, если они импортированы в «Доверенные корневые центры сертификации».
Детали формата
в двух словах- Вложение почты S/MIME signed-and-enveloped - application/pkcs7-mime с smime-type=enveloped-data упаковывает зашифрованное тело письма; то же расширение, но другой тип контента.
Программы, открывающие файлы P7C
Технические подробности
глубокая спецификация| Стандарт | PKCS#7 v1.5 (RFC 2315, 1998); функционально идентичен CMS SignedData (RFC 5652, 2009) |
| PKCS#7 OID | 1.2.840.113549.1.7.2 (id-signedData) |
| Магические байты DER | 30 82 - тег ASN.1 SEQUENCE, за которым следует 2-байтовое кодирование длины |
| Заголовок PEM | -----BEGIN PKCS7----- / -----END PKCS7----- |
| Кодировка | Двоичная (DER) или текстовая (PEM - Base64-кодированный DER) |
| Контейнер | ASN.1 BER/DER - та же кодировка, что используется всеми форматами X.509 и PKCS |
| Включенные сертификаты | Один или несколько сертификатов X.509 v3 DER (конечный субъект плюс цепочка) |
| Закрытые ключи | Не включены - формат только для сертификатов; используйте .pfx/.p12 для пакетов сертификат+ключ |
| Поле SignerInfos | Пустое (вырожденная структура SignedData - без подписанного содержимого, только сертификаты) |
| MIME-тип | application/pkcs7-mime; smime-type=certs-only |
| Типичный размер файла | 1 КБ - 20 КБ (зависит от длины цепочки сертификатов) |
| Команда OpenSSL | openssl pkcs7 -in file.p7c -print_certs |
| Операционные системы | Windows, macOS, Linux, iOS, Android |
| Выпущен | 1993 (PKCS#7 v1.5 by RSA Laboratories; RFC 2315 published 1998) |
| Последняя версия | CMS (Cryptographic Message Syntax) RFC 5652, 2009 - successor standard |
| Открыть стандартное | Да · без роялти |
| Спецификация | datatracker.ietf.org |
Конвертации P7C
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах P7C.