Пристала ко мне девочка-менеджер с вопросом, суть которого следующая:
Один
из клиентов начал слать ей зашифрованные письма
Зашифрованное вложение |
Когда она попыталась пообщаться с противоположной стороной, ей прислали
инструкцию о переходе на защищенный электронный документооборот и не поверите:
она тоже была зашифрована!
Для того чтоб добыть эту инструкцию пришлось
попотеть, но в итоге я нашел скрипт, который после исправления ошибок
заработал и позволил прочитать о чем речь:
#!/bin/bash
# (c) 2017 - ingPicerno.it
#set -x
outdir="out"
filename="${1##*/}" #extract filename, without path
outfile=$outdir/${filename/.p7m/}
mkdir $outdir
openssl pkcs7 -inform DER -in $filename -print_certs -out "$outdir/signer.pem"
openssl smime -verify -in $filename -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
Привожу ровно в том виде до которого я ее допилил, чтоб получить возможность
извлечь вложение
Каталог до запуска скрипта:
# ls
p7m.sh smime.p7m
Делаем скрипт исполняемым и запускаем:
# chmod +x p7m.sh
./p7m.sh smime.p7m
По итогам работы скрипта мы получаем в нашей папке запуска каталог out, в
котором лежит открытый ключ и расшифрованный mime файл, в моем случае с именем
'smime'
Содержимое исходного каталога и созданного:
# ls
out p7m.sh smime.p7m
# ls out/
signer.pem smime
Теперь нам требуется добыть из mime файла его содержимое, в моем случае вложение. Для этого требуется установить утилиту для работы с MIME (Multipurpose Internet Mail Extensions) содержимым:
sudo apt install mpack
Переходим в папку с mime архивом и распаковываем его:
# cd out
# munpack smime
tempdesc.txt: File exists
image002.gif (image/gif)
=Xutf-8XBX0IbQvdGB0YLRg9GA0LrRhtGW0Y8gKNC3INC+0L/QuNGB0L7QvCDRgdGC0LLQvg==X=XXX=Xutf-8XBX0YDQtdC90L3RjyDQtNC+0LrRg9C80LXQvdGC0ZbQsiDRh9C10YDQtdC3IA==X=XXX=Xutf-8XBX0YTQvtGA0LzRgykuZG9jeA==X= (application/vnd.openxmlformats-officedocument.wordprocessingml.document)
В моем конкретном случае имя файла содержало символ слэша и файл извлекся в
виде вложенного в каталог, а по дефолту он должен извлечся в каталог запуска
(если вас интересуют все части письма, а не только вложение, добавьте ключ
-t)
Перемещаю добытый файл в каталог out и присваиваю ему читабельное имя
(сделал с помощью пкм, назвал document).
Теперь мой каталог out имеет
следуещее содержимое:
# ls
document signer.pem smime
У нас на руках вложение, но мы не знаем его расширения, это можно сделать так:
# file document
document: Microsoft Word 2007+
Видим, что имеем дело с файлом Microsoft Word 2007+, которому соответствует
расширение .docx
Переименовываем наш document в document.docx, после чего открываем с помощью
офисного приложения
- Эпилог
-
Получив доступ к содержимому письма, я выяснил, что клиент сообщает своим
поставщикам, о том, что он переходит исключительно на документооборот
средствами тендерной площадки и сообщения отправляемые иными способами
обрабатываться не будут.
Таким образом от меня реализация поддержки на нашей стороне не требуется и на этом все.
Но зачем его было слать на обычную почту в зашифрованном виде?
Комментариев нет:
Отправить комментарий