Как прочитать сертификат из системной цепочки для ключей в IOS для взаимной аутентификации в клиенте SAP fiori

Мы реализуем сценарий, в котором мы разрабатываем собственный клиент fiori (SAP) для устройства IOS. Сначала приложение обращается к обратному прокси-серверу F5 для взаимной аутентификации. Здесь приложение (собственное) должно прочитать сертификат пользователя из системной цепочки ключей устройства и представить его серверу F5 для аутентификации.

Сертификат пользователя будет установлен как часть регистрации в Microsoft Intune на устройстве. Итак, MDM, который мы здесь используем, — это Microsoft Intune. В соответствии с решением, предоставленным SAP, файл p12 должен быть включен в папку ресурсов проекта X-code при создании клиента fiori, что невозможно из-за политик безопасности клиента. Таким образом, он должен считываться динамически, когда пользователь запускает приложение, и представлять его прокси-серверу для дальнейшей аутентификации.

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

Заранее спасибо.....


person Pavan Kandalam    schedule 16.05.2017    source источник
comment
Вы когда-нибудь находили решение этой проблемы? Мы сталкиваемся практически с одним и тем же сценарием, и мне было бы интересно узнать, смогли ли вы его решить.   -  person Casey    schedule 29.09.2017
comment
Нет, нам пришлось изменить нашу архитектуру, поскольку IOS не сможет поддерживать чтение сертификата из своей корневой цепочки для ключей.   -  person Pavan Kandalam    schedule 06.11.2017
comment
Балансировщики нагрузки F5 могут вызвать дополнительную проблему... балансировщики нагрузки могут захотеть, чтобы вы отправляли nil на 2-й запрос клиента вместо сертификата   -  person Stephen J    schedule 01.08.2018


Ответы (3)


Ниже приведены некоторые параметры, которые можно использовать для предоставления сертификата клиента приложению ios fiori.

  1. Поставщик сертификатов SAP Afaria. Устройство должно использовать SAP afaria в качестве MDM
  2. Поставщик сертификатов SAP Mobile Secure. Устройство должно использовать мобильную безопасную облачную платформу SAP в качестве MDM.
  3. Получение стороннего приложения единого входа, которое может импортировать сертификат клиента в свою цепочку ключей, а затем совместное использование цепочки ключей приложения единого входа с приложением fiori.
  4. Включение файла p12 сертификата клиента в комплект приложения или загрузка файла p12 в контейнер приложения во время выполнения, а затем использование поставщика сертификата Kapsel File для добавления сертификата в цепочку ключей приложения.
  5. Отправьте файл сертификата клиента в виде вложения электронной почты и позвольте пользователю импортировать сертификат в клиент fiori.
  6. Внедрение настраиваемого поставщика сертификатов с использованием SDK стороннего поставщика решения MDM для импорта сертификата клиента в цепочку ключей приложения. Использование стороннего поставщика сертификатов
person Community    schedule 24.05.2017

В этом блоге Приложение F: Использование OAuth с Kapsel есть раздел, в котором показано, как одно приложение загружает сертификат в свою цепочку для ключей, а затем второе приложение использует цепочку для ключей первого приложения, чтобы оно могло получить доступ к сертификату.

Существует также концепция написания собственного кода, реализующего интерфейс, который плагин входа в систему будет использовать для вызова, когда ему потребуется сертификат. Подробнее это описано на странице Использование X.509 Интерфейс поставщика сертификатов для интеграции со сторонними поставщиками сертификатов и SAP Mobile SDK

person Community    schedule 18.05.2017
comment
Блог Приложение F: Использование OAuth с Kapsel продемонстрировало, как предоставить сертификат в одном пакете приложений, и другие приложения могут его использовать. Но проблема в том, что в производственной системе у нас почти 5000 пользователей, и у каждого пользователя есть свой уникальный сертификат, который будет установлен на связке ключей. Следовательно, файл p12 не может быть объединен при архивировании приложения, это может привести к тому, что у всех пользователей будет 5000 различных приложений. Кроме того, не могли бы вы сообщить нам, можно ли использовать соединение NSUrl из IOS для решения этой проблемы? Если да, то как мы можем интегрировать этот нативный код в наш проект? - person Pavan Kandalam; 20.05.2017

Используйте строку base64 и импортируйте ее с помощью параметров, InTune или URL-адреса. Параметры MDM не зашифрованы, поэтому я рекомендую использовать ссылку. Вы можете добавить к этому дополнительную безопасность, зашифровав его, что превратит его в строку. Просто учтите, что сертификат base64 до и после шифрования при импорте.

person Stephen J    schedule 01.08.2018