What is the P7C file format?
A .p7c file is a PKCS#7 certificate bundle - a digital certificate file encoded as a "degenerate" PKCS#7 SignedData structure containing one or more X.509 certificates but no signed payload. It is used to distribute a certificate or a full certificate chain (end-entity plus intermediate CAs) as a single portable file.
Technically, .p7c and .p7b are the same format: both wrap certificates in a PKCS#7 SignedData structure (OID 1.2.840.113549.1.7.2) with an empty SignerInfos field. The distinction is by convention - .p7c is the extension Microsoft associates with the certs-only form for S/MIME and email-identity purposes. Windows CryptoAPI and the Certificate Manager (certmgr.msc) handle both identically.
Files can be encoded two ways: DER (binary, starting with bytes 30 82) or PEM (Base64-encoded DER wrapped in -----BEGIN PKCS7----- / -----END PKCS7----- header lines).
.p7c files hold only public certificates - no private keys are included. For files that bundle a certificate with its private key, see .pfx (PKCS#12). The underlying standard has been superseded by CMS (Cryptographic Message Syntax, RFC 5652), but .p7c files remain in wide use for S/MIME certificate distribution, code-signing chains, and enterprise PKI workflows.
openssl pkcs7 -in file.p7c -print_certs extracts the certificates from the bundle.
Security & safety
RISK: LOW.p7c holds only public certificates - no private keys. Safe to share and distribute. No executable content. Risk: always verify the certificate's issuer/thumbprint after importing to confirm it is from a legitimate CA; malicious certificates could be used in MITM attacks if imported into Trusted Root CAs.
Format details
in a nutshell- S/MIME signed-and-enveloped mail attachment - application/pkcs7-mime with smime-type=enveloped-data wraps encrypted email body; same extension, different content type.
Programs that open P7C files
Technical details
deep spec| Standard | PKCS#7 v1.5 (RFC 2315, 1998); functionally identical to CMS SignedData (RFC 5652, 2009) |
| PKCS#7 OID | 1.2.840.113549.1.7.2 (id-signedData) |
| DER magic bytes | 30 82 - ASN.1 SEQUENCE tag followed by 2-byte length encoding |
| PEM header | -----BEGIN PKCS7----- / -----END PKCS7----- |
| Encoding | Binary (DER) or text (PEM - Base64-encoded DER) |
| Container | ASN.1 BER/DER - same encoding used by all X.509 and PKCS formats |
| Certificates included | One or more X.509 v3 DER certificates (end-entity plus chain) |
| Private keys | Not included - certs-only format; use .pfx/.p12 for certificate+key bundles |
| SignerInfos field | Empty (degenerate SignedData - no signed content, only certificates) |
| MIME type | application/pkcs7-mime; smime-type=certs-only |
| Typical file size | 1 KB - 20 KB (scales with certificate chain length) |
| OpenSSL command | openssl pkcs7 -in file.p7c -print_certs |
| Operating systems | Windows, macOS, Linux, iOS, Android |
| Released | 1993 (PKCS#7 v1.5 by RSA Laboratories; RFC 2315 published 1998) |
| Latest version | CMS (Cryptographic Message Syntax) RFC 5652, 2009 - successor standard |
| Open standard | Yes · royalty-free |
| Specification | datatracker.ietf.org |
P7C conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about P7C files.