Почтовый клиент iPad - IMAP с клиентскими сертификатами X.509?


11

Короткая версия: Кто-нибудь знает, должны ли клиентские сертификаты X.509 работать на iPad для почты IMAP? Я трачу свое время, пытаясь получить функцию, которая не работает, чтобы работать? Если встроенное почтовое приложение не поддерживает IMAP с клиентскими сертификатами X.509 (т. Е. Они работают только с учетными записями Microsoft Exchange ActiveSync), существуют ли какие-либо сторонние приложения, которые это делают?

Интересует только iOS 5.1 или новее; 5.1 - это версия, с которой я тестировал.


Я администратор сети, которая требуется политикой для использования клиентских сертификатов X.509 для защиты всех внешних связей, включая наш почтовый сервер IMAP (Cyrus IMAPd) и SMTP-сервер (postfix). Ни один из них не примет соединение без предоставления клиентом действительного сертификата клиента X.509. Отключение требования сертификата клиента не вариант для меня, и мы не можем туннелировать трафик через VPN по аналогичным причинам.

Теперь у нас есть пользователи iPad, которые хотят подключиться к нашей сети, и для нас это проблема iPad.

Для пользователей на настольных компьютерах мы обычно устанавливаем Thunderbird, так как он имеет надежный IMAP с отличной поддержкой сертификатов клиентов; он «просто работает» и одинаков для поддержки на любой платформе. Это не вариант для iPad.

К сожалению, встроенное почтовое приложение iPad не справляется с клиентскими сертификатами для IMAP. Я могу установить корневой сертификат нашей организации и клиентский сертификат пользователя с помощью утилиты конфигурации iPhone. Оба отображаются как «проверенные» в «Настройки-> Общие-> Профили». Затем iPad принимает наш сервер как доверенный и пропускает любые предупреждения о том, что идентификация сервера не проверяется.

Почте по-прежнему не удается отправить клиентский сертификат, когда он требуется, поэтому сервер прекращает рукопожатие. Он не предлагает пользователю выбрать один и не отправляет автоматически установленный клиентский сертификат для пользователя, который соответствует сертификату CA, представленному сервером.

Изучение потока трафика между клиентом и сервером показывает, что согласование TLS завершается неудачно, когда iPad отвечает пустым набором клиентских сертификатов, когда сервер запрашивает клиентские сертификаты. См. ниже.

При подключении к внутренней сети через зашифрованный WiFi, где для получения почты не требуется сертификат клиента, устройство подключается и загружает почту просто отлично. Внешний доступ (общедоступный WiFi или через 3G) не выполняется, независимо от того, использую ли я порт IMAP 993 с установленным флажком «Использовать SSL», или порт 143 IMAP + TLS с установленным флажком «Использовать SSL» или без него. Помимо очевидного отсутствия поддержки согласования сертификата клиента для IMAP, это идеально.

Ссылки на поддержку клиентских сертификатов в документации по Apple «Поддержка предприятия» появляются только там, где обсуждается Microsoft Exchange ActiveSync и где обсуждается поддержка Cisco VPN.

На дискуссионных форумах Apple есть несколько вопросов, но нет недавних и нет полезных ответов. Я бы сослался на них, но форумы Apple в данный момент «не работают».

В качестве обходного пути я, вероятно, могу настроить заблокированную VPN, используя поддержку автоматического VPN-подключения iPad, чтобы общаться с IPSec VPN с аутентификацией клиента, который может общаться только с серверами IMAP и SMTP на соответствующих портах плюс DNS, и ничего больше. Это был бы довольно отвратительный хак, чтобы совершить его.


КСТАТИ, клиент <-> сервер разговор:

  • C -> S TLSv1 Клиент Привет
  • S -> C TLSv1 Сервер Здравствуйте
  • S -> C Сертификат TLSv1, Запрос сертификата, Сервер Hello Done (Отправляет сертификат сервера, подписывает корневой сертификат, DN принятого клиента, подписавшего сертификат, который совпадает с корнем, подписавшим сертификат сервера)
  • C -> Сертификат TLSv1 (пустой набор сертификатов, включая 0 сертификатов)
  • S -> C TLSv1 Ошибка рукопожатия

Другими словами, сервер говорит: «Это я, я ожидаю, что вы предоставите сертификат, подписанный уполномоченным органом для подтверждения того, кто вы есть», а клиент отвечает: «Хм, мои бумаги находятся в этом пустом конверте. Послушайте, казуар! "

На клиенте установлен корневой сертификат и установлен клиентский сертификат с DN подписавшего, требуемым сервером.


В этом руководстве Apple упоминает о поддержке сертификатов x.509 при включенном SSL. Сам документ говорит только об основанных на стандартах сервисах (IMAP, CalDAV и т. Д.) И нигде не упоминает ActiveSync. Это говорит мне, что это должно быть возможно. Я думаю, проблема в том, что это не типичная установка, и у меня нет личного опыта использования IMAP в корпоративной среде (мы являемся магазином Exchange).
— Биспимус

Я знаю, что это не бесплатно, но вы также можете посмотреть в Apple AppleCare OS Support . Даже самый низкий уровень этого сервиса должен охватывать выяснение решения этой проблемы. Я хотел бы помочь лично.
— Биспимус

Спасибо за щедрость. Я на самом деле ушел с этой работы (на 12 лет), и теперь я полностью свободен от забот о глючной поддержке сертификатов клиентов в… ну, во всем, правда. Это явно интересует других, поэтому я надеюсь, что здесь есть гуру iOS, который сможет раскрыть секретный рецепт. Мое личное сильное подозрение заключается в том, что клиентские сертификаты X.509, вероятно, не предназначены для работы ни с чем, кроме Exchange ActiveSync.
— Крейг Рингер,

1
Крейг. Если бы вы написали все, что вы знаете, в качестве ответа - даже эти комментарии были бы хорошими, чтобы связать вещи. Самое замечательное, что посты могут сидеть здесь долго и по-прежнему быть доступными для поиска. Ответ «это было больно, мы искали, и ничего не получалось, поэтому мы пошли дальше», было бы полезно и стоило награды IMO.
— bmike

@bmike Я бы хотел, но поскольку я не тестировал более новые устройства iOS, я оставлю это кому-то, у кого есть.
— Крейг Рингер

Ответы:


1

Похоже, вопрос касается использования X.509 для аутентификации в службе IMAP, которая не поддерживается iOS. Шифрование и подписи электронной почты S / MIME могут выполняться на iOS, но для аутентификации почтовых служб все равно будет использоваться имя пользователя / пароль по SSL или TLS.


1
Действительно удивительно, что Apple не может быть обеспокоена поддержкой такой базовой функции безопасности. Особенно, когда их библиотеки SSL уже поддерживают это.
— Крейг Рингер

Еще один путь, который Apple игнорирует на iOS, - поддержка GSSAPI.
— Брайан Топпинг

1

См. Комментарии выше, где спрашивающий сообщает, что они никогда не заставляли это работать.

Таким образом, в iOS 5.1 сертификаты X.509 не будут легко использоваться для защиты электронной почты на iOS без каких-либо инженерных усилий и, возможно, вообще не будут.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.