web-dev-qa-db-ja.com

p7mファイル拡張子を取り除く

今回はインターネットは役に立たなかった。 p7m拡張子も持つZipアーカイブがあります。ファイルを表示できるようにその拡張子を失うにはどうすればよいですか?どんな助けも大歓迎です。

あなたより!

5
JaUnCpp

p7mは、電子メールの添付ファイルによく使用される暗号化形式です。

また、Googleで簡単に調査した結果、そのファイルタイプを開くことができるLinuxツールを見つけることができませんでした。ただし、Windows( Cryptigo p7mViewer )またはOSX用のツールがいくつかあります。

Windows/OSXを実行しているコンピューターにアクセスできない場合に試すことができるのは、Windowsエミュレーターwineをインストールし、そこにWindowsビューアーをインストールしようとすることです。 。これが機能するかどうかはわかりませんが、そのファイルが重要な場合は試してみる価値があります。

別の可能な解決策は、Claws Mail、Ubuntu用のメールプログラム、および このプラグイン をインストールすることです。そのメールプログラムでこれらの.p7mファイルを表示できるかどうかもわかりません。チャットで@Toroidalからこのヒントを得たところです。

2
Byte Commander

このような小さなシェルスクリプトを作成します。

#!/bin/bash
openssl pkcs7 -inform DER -in "$1" -print_certs -out "$1.pem"
openssl smime -verify -in "$1" -inform der -noverify -signer "$1.pem" -out "$1.pdf" 2>/dev/null
rm "$1.pem"
evince "$1.pdf"
rm "$1.pdf
  1. 実行可能にする
  2. 「他のアプリケーションで開く」を選択します
  3. 上記で作成した小さなスクリプトを選択します
  4. できた.
7
user3801675

残念ながら、これらの答えはどれもうまくいきませんでした。添付ファイルは、GmailのWebインターフェースにsmime.p7mとして、Thunderbirdにはwinmail.datとして表示されました(これは役に立たなかったので削除できます)。

すぐに、コマンドのリストとして、私のために働いたのは次のことでした(あなたが〜/ Downloadsにsmime.p7mをダウンロードしたと仮定):

Sudo apt install mpack tnef
cd ~/Downloads
munpack smime.p7m
tnef winmail.dat
ls -lt
rm mail.eml winmail.dat

これがあなたにも役立つかどうかを判断するには:

  • mpackをインストールするだけ
  • smime.p7mファイルでmunpackを実行します
  • 新しいファイルが表示されます(おそらくwinmail.datという名前です)。この場合、次を実行します。

file winmail.dat # or whatever the new filename

  • 「winmail.dat:Transport Neutral Encapsulation Format」が表示された場合は、tnefをインストールし、上記のように完了します。
  • それが正常に完了すると、Zipアーカイブが同じディレクトリにあるはずです。
  • そうでない場合、この答えは役に立ちません:

Sudo apt remove mpack tnef

ソース:

Gmail smime.p7mおよびtnefオープンメール(winmail.datを使用)

buntuおよびDebian Linuxでwinmail.datファイルを開く方法

3
rcollins0618

別のソリューション、以前のuser3801675のスクリプトから着想を得たもの。

〜/ binというディレクトリにp7m.shという名前の小さなシェルスクリプトを作成します。

#!/bin/bash
#set -x
outdir="$1.out"
filename="${1##*/}" #extract filename, without path
outfile=$outdir/${filename/.p7m/}
mkdir $outdir
openssl pkcs7 -inform DER -in "$1" -print_certs -out "$outdir/signer.pem"
openssl smime -verify -in "$1" -inform der -noverify -signer  "$outdir/signer.pem" -out "$outfile" 2>/dev/null
xdg-open "$outfile"
#if you don't need extracted file uncoment the following line
#rm "$outdir/signer.pem"; rm "$outfile"; rmdir $outdir
  1. 実行可能にしますchmod + x〜/ bin/p7m.sh
  2. シェルからコマンド〜/ bin/p7m.sh filename.pdf.p7mを使用します

または

  1. ファイルマネージャからfilename.pdf.p7mを選択し、マウスを右クリックして「他のアプリケーションで開く」を選択します
  2. [完了]の上に作成された小さなスクリプトを選択します。

通常、受信したファイル(添付ファイル)の拡張子はp7mです

filename.pdf.p7m 

提案されたスクリプトは最初にサブディレクトリを作成します

filename.pdf.p7m.out/

次に、キーファイルsigner.pemとファイルfilename.pdf拡張機能の削除。p7m

2つのファイルは、以前に作成されたフォルダーに保存されます。

抽出されたファイルfilename.pdfは、evinceの代わりにxdg-openを使用して開かれます。 -openは、ファイルの種類に基づいた正しいアプリケーションを使用して、あらゆる種類のファイルを開くことができます。

これがS/Mimeの動作方法であり、メールを暗号化/署名し、添付ファイルとして送信します。 ThunderbirdおよびEvolutionメールクライアントは、どちらもs/mime添付ファイルを表示できる有名なクライアントです。また、この質問に関する良い情報があります 電子メールの暗号化のためにS/MIME証明書を取得する方法?

0