P7S ファイル形式とは?
.p7s ファイルは、デジタル署名で保護されたメールの添付ファイルです。これにはメール本文自体は含まれず、暗号化された署名と送信者の X.509 証明書のみが含まれます。メッセージ本文はメールの別の読み取り可能な部分として残ります。
デジタル署名は、メールが転送中に変更されていないことを保証し、送信者が主張通りの人物であることを検証します。これにより、転送中に第三者によってメッセージが改ざんされる可能性を排除します。
デジタル署名のサポート
メールメッセージは、PKCS #7(Public-Key Cryptography Standard)技術を使用してデジタル署名されます。これは現在、IETF によって CMS(Cryptographic Message Syntax, RFC 5652)として標準化されています。.p7s ファイルは DER バイナリエンコーディング、または稀に -----BEGIN PKCS7----- で始まる PEM Base64 テキストとして保存されます。MIME タイプは application/pkcs7-signature です。
このようなメッセージを検証するには、この標準をサポートするメールクライアントを使用する必要があります。Microsoft Outlook、Apple Mail、Mozilla Thunderbird を含むほとんどのメールアプリケーションは、デジタル署名を自動的に認識します。メールクライアントが S/MIME をサポートしていない場合、.p7s ファイルは smime.p7s という名前の可視の添付ファイルとして表示され、読み取り可能なテキストではなく生のバイナリまたは Base64 データが表示されます。コマンドラインから内容を確認するには、openssl pkcs7 -in smime.p7s -print_certs -noout を使用します。
密接に関連する形式として .p7m があります。これはメッセージと署名の両方を、単一の署名済みまたは暗号化されたバンドルにラップします。
セキュリティと安全性
リスク: LOWp7s ファイル自体は無害です。実行コードを含まない署名/証明書データであり、メッセージやドキュメントが真正で未改ざんであることを証明することでユーザーを保護します。本当の落とし穴は感染ではなく解釈にあります:(1) 「署名済み」は「暗号化」ではありません。署名されたメールの本文は平文で送信されます。(2) 有効な署名は送信者の身元と完全性を証明しますが、内容が信頼できることを保証するものではありません(悪意のある者が有効な証明書で悪意のあるメッセージに署名することも可能です)。(3) 検証は証明書の信頼チェーンに依存するため、信頼されていない/自己署名証明書による「有効」バッジにはほとんど意味がありません。予期しない smime.p7s はメールが正当に署名されている印として扱い、その上でメッセージの内容から送信者を判断してください。
形式の詳細
概要P7S ファイルを開くプログラム
技術的詳細
詳細仕様| 正式名称 | PKCS #7 / S/MIME デジタル署名 |
| MIME タイプ | application/pkcs7-signature |
| バイナリエンコーディング | DER (ASN.1 Distinguished Encoding Rules) - コンパクトなバイナリファイルを生成 |
| テキスト形式(アーマード) | PEM: -----BEGIN PKCS7----- と -----END PKCS7----- マーカーの間の Base64 データ |
| マジックバイト (DER) | オフセット 0 に 0x30 0x82 - ASN.1 SEQUENCE タグとそれに続く 2 バイトの長さフィールド |
| データ構造 | RFC 5652 で定義された CMS SignedData オブジェクトをカプセル化する ASN.1 SEQUENCE |
| メールでの典型的なファイル名 | smime.p7s - S/MIME 標準で規定されている固定名 |
| 含まれる内容 | 暗号化された署名値と、1つ以上の埋め込まれた X.509 v3 送信者証明書 |
| 署名タイプ | 分離型 (Detached) - メールの本文は別の MIME パートに残り、.p7s ファイルがなくても読み取り可能 |
| 署名アルゴリズム | RSA, DSA, ECDSA - 送信者の X.509 証明書のキータイプによって決定 |
| ダイジェストアルゴリズム | SHA-256, SHA-384, SHA-512; SHA-1 は RFC 8419 および RFC 9325 により非推奨 |
| 証明書形式 | X.509 v3; オフライン検証をサポートするために完全な証明書チェーンが埋め込まれる場合がある |
| 準拠仕様 | CMS RFC 5652 (元の PKCS #7 v1.5 および RFC 2630 を継承) |
| 信頼モデル | CA ベースの PKI - 署名の有効性には、信頼された認証局 (CA) への証明書チェーンが必要 |
| リリース日 | PKCS #7 v1.5 (1993, RSA); S/MIME v2 RFC 2311 (1998); CMS RFC 5652 (2009) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | www.rfc-editor.org |
P7S の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。P7S ファイルについて最初の質問をしてみましょう。