P7S
Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.
PKCS#7 / CMS Preview.
At a glance
| Purpose | A PKCS#7 / CMS message (.p7s, .p7m, .p7c): a signature, signed or enveloped data with certificates and signer information. |
| Extensions | .p7s |
| Poka parser | poka-p7s |
| Viewer | poka-tree-viewer |
| Depth tier | Parser with a shared viewer (see Depth tiers) |
| Breadth tier | B2 Broad (see Breadth tiers) |
How much Poka reads
B2 Broad. The common content of the current and the common older versions is decoded. Some named features or versions are not, and are listed.
Confidence: high (the reviewer read the code and a test that proves the claim). Basis: Reviewed 2026-10-26: read parsers/poka-p7s/src/main.rs (1051 lines) and plugin.json. Four unit tests, including parses_corpus_p7b over the corpus sample.p7b and generated SignedData in DER and PEM. Covers .p7s, .p7m and .p7c. The tree shows the content type, encoding, version, the encapsulated content type, whether the content is detached, the digest algorithms and CRL count, every certificate (subject, issuer, expiry, serial) and every signer (identity, digest and signature algorithms). Judgement: B2: the signature structure is decoded; the gaps are the content, attributes and verification.
What Poka does not read
- Signatures are not verified
- Signed attributes (signing time, message digest, content type) are not shown (judgement from the code)
- The encapsulated content (in .p7m) is not shown
- Enveloped (encrypted) data shows its type only; nothing is decrypted
Libraries
Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.
- der-parser (used; MIT OR Apache-2.0; Rust)
- x509-parser (used; MIT OR Apache-2.0; Rust)
- cms (RustCrypto formats) (candidate; Apache-2.0 OR MIT; Rust; https://lib.rs/crates/cms) — Pure Rust Cryptographic Message Syntax (RFC 5652) types including SignedData; latest stable 0.2.3, 0.3.0 is a pre-release.
- Bouncy Castle (bcpkix) (candidate; MIT; Java; https://github.com/bcgit/bc-java) — bcpkix covers CMS (CMSSignedData for PKCS#7-style signatures); repository says licence is based on MIT X Consortium.
Sources
- parsers/poka-p7s/src/main.rs
- parsers/poka-p7s/plugin.json