В настоящее время мы используем Mailman в качестве менеджера списков рассылки. Mailman изменяет содержание почтовых сообщений. Проблема в том, что некоторые из наших пользователей отправляют сообщения с цифровой подписью, и изменение нарушает подпись. Я видел такое поведение с Apple Mail, Outlook и Thunderbird.
Проблема, по-видимому, в следующем: подписанные сообщения S / MIME реализованы с помощью Content-Type: multipart/signed;
Тип содержимого MIME. Почтальон упаковывает это в Content-Type: multipart/mixed
Тип содержимого MIME. Ни один из читателей почты не заглядывает внутрь внешнего mixed
для внутреннего signed
.
Мы не сможем починить клиентов. Есть ли способ изменить Mailman, чтобы у него не было такого поведения?
Mailman, вероятно, настроен на добавление верхнего или нижнего колонтитула к каждому сообщению. Проверить msg-header
и msg-footer
параметры, доступные на странице [Параметры без дайджеста].
Также важно убедиться, что pass_mime_types
включает application/pkcs7-signature
как один из разрешенных типов в разделе [Контентная фильтрация].
Когда Mailman настроен на добавление верхнего или нижнего колонтитула, он изменяет сообщение, создавая новую часть MIME и объединяя ее с корневой частью исходного сообщения. Причина такого поведения объясняется более подробно на Почтальон вики (wiki.list.org).
Хотя исходное подписанное сообщение все еще не повреждено, похоже, что большинство почтовых клиентов правильно интерпретируют подпись SMIME только в том случае, если multipart / signed является корневой частью MIME. В качестве теста я удалил лишние части MIME, вставленные почтальоном из одного из моих тестовых сообщений, и повторно отправил его, и подпись была правильно проверена моим почтовым клиентом.
Проблема не в отсутствии «сообразительности» почтовых клиентов.
Скорее это проблема безопасности. Видеть Ошибка 578295 - подпись S / MIME не отображается / не проверяется во вложенном MIME-сообщении.
Цитата:
Сообщение не подписано, если оно подписано частично. В частности, в контексте Thunderbird, если мы утверждали, что сообщение было подписано, если была подписана только его часть, злоумышленник мог прикрепить подписанное содержимое к сообщению, которое никогда не отображалось, и создавало впечатление подписанного сообщения в пользовательском интерфейсе.
Таким образом, для почтового клиента правильно показывать отсутствие или недействительную подпись частично подписанного составного сообщения.