Analyze PKCS#7 structure (streaming, >5MB files)

Introspects PKCS#7/CMS binary data of ANY size and returns structured metadata, parsing incrementally.

Returns metadata including signers, recipients, algorithms, certificates, and conversion feasibility.

Supports:

  • SignedData (1 signer)
  • EnvelopedData (1 recipient)
  • SignedAndEnvelopedData (1 signer + 1 recipient)

Current support: Single signer and single recipient only
Multi-actor support: Planned for future release

Input: multipart/form-data with a metadata part followed by a file part
(binary PKCS#7).

Part order is enforced, as on every other streaming endpoint: metadata
MUST precede file. The parse is sequential and single-pass, so the payload
cannot be reached without consuming what precedes it and there is nothing to go
back to; a file-first body is refused with
400 .../errors/multipart-part-order before any payload byte is read.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Sequential multipart body: the metadata part FIRST, then file.

Part order is enforced (PRD §130, OQ-130.2). The seam parses the body single-pass and streams file straight through, so it cannot reach the payload without consuming what precedes it and cannot rewind to pick up a metadata part that arrives later. A file-first body — and a body carrying no metadata part at all — is refused with 400 .../errors/multipart-part-order, before any payload byte is read.

metadata is therefore REQUIRED on this endpoint, where the pre-streaming handler accepted its absence. The tightening is deliberate: silently analysing a payload while dropping the caller's decryptionKid is the failure this ordering rule exists to make impossible.

file has no size limit: the parse is incremental, so heap is a function of the chunk size and not of the payload.

metadata
object
required

Optional metadata for streaming PKCS#7 analysis

file
required

Binary PKCS#7/CMS data. No size limit.

Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Bearer
JWT
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/problem+json