Избавление от расширения файла p7m

На этот раз интернет не помог. У меня есть zip-архив, который также имеет расширение p7m. Как я могу потерять это расширение, чтобы я мог просматривать файлы? Любая помощь приветствуется.

Чем ты!

6 ответов

Решение

p7m - это формат шифрования, который часто используется для вложений электронной почты.

Я также не смог найти инструмент Linux, который сможет открыть файл этого типа после быстрого исследования Google. Однако существуют некоторые инструменты для Windows (например, http://www.cryptigo.eu/p7mViewer/) или OSX.

Если у вас нет доступа к компьютеру под управлением Windows/OSX, вы можете установить винный эмулятор Windows и попробовать установить в нем средство просмотра Windows. Я не могу сказать вам, будет ли это работать, но стоит попробовать, если этот файл важен для вас.

Другим возможным решением может быть установка Claws Mail, почтовой программы для Ubuntu и этого плагина. Я не уверен, позволяет ли это просматривать файлы.p7m с помощью этой почтовой программы, я только что получил эту подсказку от @Toroidal в чате.

Создайте небольшой скрипт оболочки, как этот:

#!/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. Готово.

К сожалению, ни один из этих ответов не помог мне. Вложение отображалось в веб-интерфейсе gmail как 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
  • запустите munpack для файла smime.p7m
  • Должен появиться новый файл (возможно, с именем 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)

Как открыть файлы winmail.dat в Ubuntu и Debian Linux

Другое решение, вдохновленное сценарием предыдущего пользователя 3801675.

Создайте небольшой скрипт оболочки в каталоге ~/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. Выберите маленький скрипт, созданный выше Done.

Обычно полученный файл (вложение) имеет расширение p7m, как в

filename.pdf.p7m 

Предлагаемый скрипт сначала создает подкаталог

filename.pdf.p7m.out/

затем извлекает файл ключа signer.pem и файл filename.pdf, удаляя расширение .p7m

Два файла сохраняются в ранее созданной папке.

Извлеченный файл filename.pdf открывается с помощью xdg-open вместо evince, поскольку xdg-open может открывать все виды файлов, используя правильное приложение в зависимости от типа файла.

Так работает S/Mime, он подписывает / подписывает письмо и отправляет его в виде вложения. Почтовые клиенты Thunderbird и Evolution являются известными клиентами, которые могут отображать вложения s / mime. Также есть хорошая информация по этому вопросу. Как получить сертификат S/MIME для шифрования электронной почты?

В настоящее время (не уверен, что это работает в версии 2015 годаopenssl) можно использовать только

      openssl smime -inform DER -in smime.p7m -verify -out email_body

openssl smimeсам может получить сертификаты от.p7mфайл, если нужно.

Другие вопросы по тегам