Избавление от расширения файла 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
- Сделайте это исполняемым
- Выберите "открыть с другим приложением"
- Выберите маленький скрипт, созданный выше
- Готово.
К сожалению, ни один из этих ответов не помог мне. Вложение отображалось в веб-интерфейсе 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)
Другое решение, вдохновленное сценарием предыдущего пользователя 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
- Сделайте его исполняемым chmod +x ~/bin/p7m.sh
- из оболочки используйте команду ~/bin/p7m.sh filename.pdf.p7m
или же
- В файловом менеджере выберите filename.pdf.p7m и, щелкнув правой кнопкой мыши, выберите "открыть в другом приложении".
- Выберите маленький скрипт, созданный выше 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
файл, если нужно.