.p7m ファイルの開き方
.p7m は書類ではなく封筒です。中に実際のファイル(多くは PDF)が入っており、電子署名か暗号化、あるいはその両方で包まれています。何ができるかは、そのどちらかによって完全に変わります。
.p7m
.p7s
なぜ開けないのか
- 封筒であること自体が目的です。S/MIME は改ざんを検知できるように、あるいは意図した受信者だけが読めるように書類を包みます。OS にはこの包みを開く手段がありません。
- 署名と暗号化は外から見分けがつきません。どちらも拡張子は .p7m です。署名だけなら誰でも展開できますが、暗号化されている場合は受信者の秘密鍵なしには開けません。
- 業務や行政の手続き(特にイタリアの電子請求書)でよく使われる一方、それ以外では珍しいため、初めて遭遇して手元に道具が無い、という状況になりがちです。
開き方
署名のみの場合(多くはこちら)
- 1 署名済み文書は誰でも展開できます。署名は出所を証明するもので、閲覧を制限するものではありません。
- 2 OpenSSL を使う場合: openssl smime -verify -in file.p7m -inform DER -noverify -out document.pdf
- 3 -noverify は署名者の証明書チェーン検証を省く指定です。中身だけ欲しいときはこれで十分です。誰が署名したかも検証したい場合は外してください。
- 4 OpenSSL の無い Windows では、コピーの拡張子を .p7m.p7m にすると展開できる場合がありますが、専用ツールのほうが確実です。
暗号化されている場合
- 1 暗号化に使われた証明書に対応する秘密鍵が必要です。それが無ければ開く方法はなく、どんなツールやサービスでも変わりません。
- 2 自分の証明書を持つメールソフト(Outlook、Thunderbird、Apple Mail)で受信したものなら、そのソフトで元のメールを開けば自動的に復号されます。
- 3 意図した受信者でない場合は、正しいアドレス宛に送り直してもらうか、暗号化なしで送ってもらってください。
専用ビューア
- 1 イタリアでは Dike GoSign や ArubaSign が署名済み .p7m の標準的な無料ツールです。
- 2 ただしその多くはファイルをサーバーにアップロードします。署名済みの契約書や請求書であることを考えると、使う前に一度考える価値があります。
署名か暗号化かの見分け方
テキストエディタで開くだけでも大まかに判別できます。署名済み文書はバイナリの中に元のファイル名の断片や PDF の目印が読み取れることが多く、暗号化されたものは一様に判読不能です。このサイトの判定ツールでは、どちらの場合も S/MIME の封筒として報告されます。
.p7s は署名そのもの
.p7s は分離署名で、書類を含まず別ファイルの書類に付随します。単体では取り出すべき中身がありません。