Co to jest format pliku P7M?
Pliki .p7m odpowiadają za przechowywanie zaszyfrowanych lub podpisanych cyfrowo wiadomości e-mail i dokumentów jako binarny kontener PKCS#7/CMS. W takim pliku treść, wszelkie załączniki, podpis kryptograficzny i łańcuch certyfikatów sygnatariusza są przechowywane razem. Format ten jest równie powszechny jako uniwersalne opakowanie dla podpisanych dokumentów: rzeczywisty plik - taki jak PDF lub faktura XML - jest osadzony dosłownie wewnątrz powłoki .p7m, która dodaje warstwę podpisu na wierzchu.
Kontener jest zazwyczaj binarny, kodowany w formacie DER (magic bytes ASN.1 0x30 0x82 pod offsetem 0); istnieje również wariant tekstowy Base64 tej samej struktury, który zaczyna się od MII.... W przeciwieństwie do .p7s, który jest podpisem odłączonym (detached signature) przechowującym dokument źródłowy oddzielnie, .p7m łączy oryginalny dokument i podpis w jeden samodzielny plik.
Dostęp do zaszyfrowanych wiadomości
Pliki .p7m mają jeden główny cel - ochronę informacji zawartych w wiadomości przed nieautoryzowanym dostępem osób trzecich. Aby odczytać zaszyfrowany plik .p7m, wymagane jest posiadanie klucza prywatnego pasującego do klucza publicznego, który został użyty do zapieczętowania wiadomości. Klucz prywatny odbiorcy pozostaje taki sam dla różnych wiadomości, więc docelowy odbiorca ma łatwy dostęp do każdej nowej wiadomości bez dodatkowej konfiguracji.
- Pliki
.p7msą często używane do przesyłania wrażliwych, chronionych danych w medycynie, finansach lub biznesie. - Pliki
.p7mwykorzystują standard Secure/Multipurpose Internet Mail Extensions (S/MIME) jako metodę podpisywania i szyfrowania; podstawową specyfikacją jest CMS (RFC 5652). - W UE - szczególnie we Włoszech -
.p7mjest standardowym kontenerem dla kwalifikowanych podpisów elektronicznych CAdES (CMS Advanced Electronic Signatures), które mają pełną moc prawną. - Wiadomości podpisane lub zaszyfrowane w plikach
.p7mzazwyczaj pojawiają się pod nazwą plikusmime.p7m.
Takie wiadomości e-mail .eml dostarczają jedynie informacji w nagłówku, z pustym polem treści widocznym dla klienta poczty. Tekst i pliki wiadomości znajdują się w samym zaszyfrowanym lub podpisanym załączniku. Aby wyodrębnić wewnętrzny dokument lub zweryfikować podpis bez dedykowanego oprogramowania, powszechnymi opcjami wiersza poleceń są openssl smime -verify lub openssl smime -decrypt.
Bezpieczeństwo
RYZYKO: MEDIUMPlik .p7m to dane, a nie program, więc nie może się samoczynnie uruchomić - niesie jednak ze sobą znaczenie zaufania, które jest istotne. W przypadku PODPISANYCH plików .p7m „otwieranie” jest bezpieczne, ale kluczowa jest WERYFIKACJA: ważny podpis mówi, kto podpisał dokument i że nie został on zmieniony; sprawdź, czy certyfikat sygnatariusza jest zaufany i nie wygasł/nie został odwołany, a nie tylko czy „podpis istnieje”. Wyodrębniony dokument wewnętrzny (np. PDF) nadal wymaga standardowej ostrożności. W przypadku ZASZYFROWANYCH plików .p7m potrzebujesz SWOJEGO klucza prywatnego do odszyfrowania - nigdy nie wysyłaj klucza prywatnego nikomu ani nie przesyłaj poufnego/zaszyfrowanego pliku .p7m do przypadkowych serwisów online. Do wrażliwych dokumentów preferuj oficjalne usługi weryfikacji (Aruba/Agid) i lokalne narzędzia (Dike/OpenSSL).
Szczegóły formatu
w pigułceProgramy otwierające pliki P7M
Szczegóły techniczne
specyfikacja| Format kontenera | PKCS#7 / CMS (Cryptographic Message Syntax) |
| Specyfikacja nadrzędna | IETF RFC 5652 (CMS); wcześniej RFC 2315 (PKCS#7 v1.5) |
| Typ MIME | application/pkcs7-mime |
| Domyślna nazwa pliku S/MIME | smime.p7m |
| Kodowanie binarne | DER (Distinguished Encoding Rules) - struktura binarna ASN.1 |
| Alternatywne kodowanie | Tekst Base64 (zaczyna się od „MII…”) - ta sama struktura CMS, inne kodowanie transportowe |
| Magic bytes (DER) | 0x30 0x82 pod offsetem 0 - znacznik ASN.1 SEQUENCE, po którym następuje 2-bajtowe pole długości |
| Typy treści CMS | SignedData, EnvelopedData (zaszyfrowane), SignedAndEnvelopedData, CompressedData |
| Profil podpisu UE | CAdES (CMS Advanced Electronic Signatures, ETSI EN 319 122) - wspiera poziom kwalifikowany zgodnie z eIDAS |
| Osadzone certyfikaty | Certyfikaty sygnatariusza X.509 i łańcuch pośrednich CA przechowywane wewnątrz kontenera |
| Algorytmy podpisu | RSA (PKCS#1 v1.5, PSS) i ECDSA; algorytmy skrótu SHA-256, SHA-384, SHA-512 |
| Algorytmy szyfrowania | AES-128 i AES-256 (CBC/GCM); Triple-DES dla kompatybilności wstecznej |
| Dokument wewnętrzny | Dowolny typ pliku (PDF, faktura XML, zwykły tekst itp.) osadzony dosłownie i możliwy do wyodrębnienia |
| Wymóg odszyfrowania | Klucz prywatny odbiorcy pasujący do certyfikatu klucza publicznego X.509 użytego podczas szyfrowania |
| Zastosowanie prawne | Standardowy format kwalifikowanego e-podpisu dla włoskiej administracji publicznej (PA), poczty certyfikowanej (PEC) i dokumentów transgranicznych UE |
| Wydano | PKCS#7 (1990s); S/MIME / CMS standardized in RFC 5652. Heavily used for EU/Italian legal e-signatures (CAdES) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.rfc-editor.org |