ファイルを知る、使いこなす。
.p7m

CMS署名・暗号化コンテナ

証明書・鍵

P7MはCMS等の署名・暗号化コンテナで使われる拡張子です。document.pdf.p7mのように元文書名が付くことがありますが、すべてPDFとは限りません。中身の取り出し、署名検証、暗号化データの復号を区別します。

主な用途
署名付き・暗号化されたコンテンツを包む
中身の種類
バイナリデータ
目次・よくある質問・根拠資料を見る

内容の最終確認: · 編集:Kai

開き方・操作手順

使っている環境や目的の項目を開いて、手順を確認してください。

CMS・電子署名対応ビューアー / OpenSSL

原本を残し、対応アプリで内容を確認する方法です。

  1. 送信元と署名・暗号化の目的を確認します。
  2. 対応ビューアーでコンテナの種類と含まれる文書を確認します。
  3. 署名検証の結果を確認してから、必要な内容を別ファイルへ取り出します。
受け取ったファイルの条件を調べる

必要な付属ファイルや設定を、開く前に確認します。

  1. DER・PEM・S/MIME等の格納条件を確認します。
  2. 署名者、証明書チェーンと検証に必要な条件を確認します。
  3. 暗号化の場合は正規の受信者の鍵等が必要か確認します。

操作名・対応状況はアプリ・OS・版によって異なります。変更する前に原本を残してください。

開けないとき:症状から確認

  • PDFとして読めない:先にコンテナを対応ツールで扱います。
  • 取り出せたが検証失敗:抽出と署名の有効性は別です。
  • 証明書エラー:チェーン、時刻等の検証条件を確認します。
  • 復号できない:受信者の鍵・証明書と配布条件を確認します。

P7M → 内包文書のコピー

  1. 対応ツールで種類を確認し、必要な検証・復号を行って別名で取り出します。
  2. 内包内容の種類、署名者、検証結果と原本の保管条件を確認します。

内包文書だけでは元の署名コンテナを保持しません。検証記録とP7M原本も必要に応じ保管します。

「読めた」と「検証できた」を分ける

署名付きコンテンツは抽出できても、署名や証明書の検証が成功するとは限りません。検証を省くオプションで開けたことを有効性の根拠にせず、受け手の検証条件を確認します。

この手順の根拠:IETF · RFC 5652: Cryptographic Message Syntax / OpenSSL project · openssl-cms

具体例:受け渡し前にここを確認

例:PDF付きP7Mを受け取ったら原本を残し、対応ビューアーで署名者と結果を確認し、閲覧用PDFは派生コピーとして管理します。

この手順の根拠:IETF · RFC 5652: Cryptographic Message Syntax / OpenSSL project · openssl-cms

関連形式との違い

関連形式との違い
形式・方法用途と引き継ぐ情報
.p7m署名付き・暗号化されたコンテンツを包む
PDF / P7SPDFは文書本体、P7Sは署名等に使われ、コンテナの条件を確認します。
P7M → 内包文書のコピー内包文書だけでは元の署名コンテナを保持しません。検証記録とP7M原本も必要に応じ保管します。

取り扱いと安全性

秘密鍵を変換サイトへ送らず、署名原本を保管して信頼できるツールで処理します。

よくある質問

P7Sとの違いは?

P7Sは分離署名等で見かけますが、拡張子だけで構造は断定せず対応ツールで確認します。

P7Mは全部PDF?

内包内容は他の形式でもあり得ます。元の種類を確認します。

署名検証を省けば有効性を確認できる?

省略して読めることと検証成功は別です。必要な署名・証明書の検証条件を満たして確認します。

形式の基本情報:正式名称・MIME type・管理団体
名称
CMS Signed or Encrypted Container
管理・仕様
IETF
MIME type
用途・配信元の指定を確認してください。拡張子だけでMIME typeは確定できません。

公式・一次情報

  • 標準仕様RFC 5652: Cryptographic Message Syntax

    署名・暗号化・内包コンテンツのCMS構造。

    IETF · リンク確認:
  • ソフトウェア公式openssl-cms

    CMSの解析、署名検証と復号の条件。

    OpenSSL project · リンク確認: