What is a .p7m file?
A .p7m file is a digitally signed envelope. Inside are the original document (usually a PDF or an XML file), the signer’s digital signature and their certificate. The format is called CAdES, defined by the European standard ETSI EN 319 122; technically it is a CMS “SignedData” structure.
The .p7m extension is added to the end of the original name: contract.pdf.p7m is a signed PDF, invoice.xml.p7m a signed e-invoice. A file signed twice in a row gets the suffix twice (contract.pdf.p7m.p7m).
In Italy, where most .p7m files come from, a digital signature made with a qualified certificate has the same legal effect as a handwritten signature, as it does across the EU under the eIDAS Regulation (Article 25).
Why did you receive one?
If you deal with Italian companies, courts or public bodies, signed files are routine there:
- Italian e-invoices (FatturaPA): many suppliers sign the XML before sending it through the national exchange system, so it arrives as .xml.p7m.
- Contracts, minutes and certificates from Italian companies, notaries and public administrations.
- Court and legal documents filed electronically and forwarded by certified email (PEC).
- Signed emails: a file called smime.p7m is an email signed with S/MIME that your mail program could not display.
How to open a .p7m file
Here, in your browser. No software, no account. The file is processed on your own device and never uploaded.
With signing software. Italian signature providers ship free desktop verifiers (for example InfoCert’s Dike). Use one if you need an official verification report, because they also check certificate revocation.
Not with Adobe Reader. Acrobat opens PDFs with an embedded signature (PAdES) but not .p7m envelopes: the PDF has to be extracted first, which is what we do.
What we check, and what we do not
For each signature we show every check separately instead of a single “valid” badge:
- Integrity: we recompute the document’s hash and compare it with the signed one. If even one character changed, you see it.
- Signature: we verify the cryptographic signature with the certificate’s public key (RSA or elliptic curves).
- Certificate binding: we check that the signature names exactly the certificate included in the file.
- Dates: we check the certificate was valid when the document was signed, using a timestamp when there is one.
- Issuer: we check the certificate was issued by a provider on the public trusted lists of Italy (AgID) and Romania, by verifying the certificate authority’s signature, not just its name.
- Revocation: not checked. Knowing whether a certificate was revoked needs an online request to the certificate authority. For a full check with evidential value, use the signing provider’s software.
Expired certificate: is the signature still valid?
Signing certificates usually last three years. What matters is whether the certificate was valid when the document was signed.
The signing time written in the file comes from the signer’s computer clock, so it proves nothing. A timestamp from a third-party authority does: if the file has one and the certificate was valid at that moment, the signature stays valid after expiry. We always show which of the two times we used.
Italian e-invoices (.xml.p7m)
If the envelope holds an Italian e-invoice in FatturaPA format, we show it as a readable invoice: supplier and customer, lines, VAT summary, withholding tax, payment due dates and IBAN. Amounts are shown exactly as in the file, without rounding.
Attachments inside the invoice (often a courtesy PDF) download with one click, and you can print the invoice or save it as a PDF from the browser’s print dialog. The format is documented at fatturapa.gov.it (in Italian).
Where does your file go?
Nowhere. Your browser reads and checks the file with code running on your device. The site’s security rules (Content Security Policy) block connections to other sites, and we send neither the file nor its name to our own domain. Close the tab and nothing is left.