Почтовый клиент 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 без каких-либо инженерных усилий и, возможно, вообще не будут.

bmike
источник