删除 p7m 文件扩展名

删除 p7m 文件扩展名

这次互联网没有帮上忙。我有一个 zip 存档,里面还有一个p7m扩展名。我怎样才能删除该扩展名以便查看文件?任何帮助都非常感谢。

比你!

答案1

创建一个像这样的小型 shell 脚本:

#!/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. 完毕。

答案2

不幸的是,这些答案对我都不起作用。附件在 gmail 的 Web 界面中显示为 smime.p7m,在 Thunderbird(我现在可以删除它,因为它没有帮助)中显示为 winmail.dat。

简而言之,作为命令列表,对我有用的是以下命令(假设您将 smime.p7m 下载到 ~/Downloads):

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:传输中性封装格式”,请安装 tnef 并按上面所列的步骤完成。
  • 如果成功完成,您现在应该在同一目录中拥有您的 zip 存档。
  • 否则,这个答案不会有帮助:

sudo apt remove mpack tnef

资料来源:

修复 Gmail smime.p7m 和 tnef 打开邮件(使用 winmail.dat)

如何在 Ubuntu 和 Debian Linux 上打开 winmail.dat 文件

答案3

另一种解决方案,灵感来自于之前用户3801675的脚本。

在如下~/bin目录中创建一个小型 shell 脚本: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. 在 shell 中使用命令~/bin/p7m.sh filename.pdf.p7m

或者

  1. 从文件管理器中选择filename.pdf.p7m并使用鼠标右键单击选择“使用其他应用程序打开”。然后选择上面创建的小脚本。

完毕。

通常收到的文件(附件)的扩展名为p7m如同

filename.pdf.p7m 

建议的脚本首先创建子目录

filename.pdf.p7m.out/

然后提取密钥文件和删除扩展名的signer.pem文件。filename.pdf.p7m

这两个文件保存在之前创建的文件夹中。

提取的文件使用而不是filename.pdf打开,因为 xdg-open 可以根据文件类型使用正确的应用程序打开所有类型的文件。xdg-openevince

答案4

S/Mime 的工作原理如下,它会对邮件进行加密/签名,并将其作为附件发送。Thunderbird 和 Evolution 邮件客户端都是能够显示 s/mime 附件的著名客户端。此外,关于这个问题还有很好的信息如何获取电子邮件加密的 S/MIME 证书?

相关内容