Как я могу подтвердить, какой конкретный открытый ключ S/MIME использовался для шифрования электронной почты?

CentOS 5.8

Есть ли простой способ узнать, какой конкретный открытый ключ использовался для шифрования электронной почты?

Мой почтовый шлюз не может расшифровать входящее сообщение S/MIME, и я подозреваю, что удаленный отправитель мог использовать устаревший открытый ключ, который больше не используется и не соответствует моему личному ключу.

Есть ли простой способ узнать, соответствует ли открытый ключ, используемый отправителем, личному ключу, который у меня есть?

Аналогично, есть ли способ сделать это для зашифрованных электронных писем PGP?

В идеале я ищу что-то, что можно проверить с помощью командной строки Linux или встроенных инструментов Windows без необходимости находиться на рабочем столе пользователя или загружать все ключи на мой рабочий стол (в случае, если это происходит для нескольких пользователей).

2 ответа

Для этого вы можете использовать инструмент S/MIME шлюза шифрования электронной почты DJIGZO (www.djigzo.com), но, возможно, это немного излишне - устанавливать его только для этой цели (для этого требуется Java)

Чтобы увидеть детали сообщения, используйте:

java -cp djigzo.jar mitm.common.tools.SMIME -r -in НЕКОТОРЫЕ-MIME-MESSAGE.eml

Пример выходного фрагмента:

============================== Зашифрованное сообщение

Алгоритм шифрования: RC2, размер ключа: 128

Получатель 0

..... CN = MITM Test CA, L = Амстердам, ST = NH, C = NL / 115FCD741088707366E9727452C9770 // 1.2.840.113549.1.1.1

==============================

Получатель шифрования отображается как пары эмитент / серийный номер

Вместо установки шлюза вы можете использовать DJIGZO для Android. Вы можете использовать его, например, чтобы открыть сообщение MIME (.eml) с SD-карты. Даже если сообщение не может быть расшифровано, если ключ не был найден, вы можете просмотреть получателей шифрования, открыв слой шифрования, долго щелкнув по слою шифрования и затем выбрав "Просмотр получателей шифрования". Это даст вам список всех пар эмитент / серийный номер или "идентификаторы ключей субъекта" сертификатов, которыми было зашифровано сообщение.

Приложение для Android можно бесплатно загрузить с:

https://play.google.com/store/apps/details?id=com.djigzo.android.application

Естественно, для этого вам понадобится устройство Android:)

Для GnuPG, похоже, вы можете использовать --list-packets для этого, немного окольным путем. В соответствии с Как я могу узнать всех получателей зашифрованного сообщения GPG, вы можете сделать

gpg --list-packets $FILENAME

Каждая строка начинается с :pubkey enc packet один открытый ключ получателя.

Это дает вам список идентификаторов ключей, для которых данный файл был зашифрован, который вы можете сравнить с тем, что у вас есть. Обратите внимание, что при этом отображается идентификатор ключа шифрования, который не обязательно совпадает с обычно отображаемым идентификатором ключа (это может быть подраздел).

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