2016-10-07 3 views
2

Резюме
Я пишу приложение Xamarin.Forms, что нужно сделать запросы к REST Апи. Он должен использовать сертификат клиента для установки 2-way ssl, когда он разговаривает с бэкэнд.Вызов RESTful службы с сертификатом клиента в Xamarin.Forms

Я хотел бы, чтобы все это было сделано в PCL , если это возможно. Каков наилучший способ сделать это?

То, что я до сих пор
Xamarin.Forms не может включать в себя пакет System.Net.Security. Из-за этого я не могу использовать обычный HttpClient от System.Net.Http.HttpClient с клиентскими сертификатами. Поэтому мне нужен другой криптографический пакет и другой клиент http, совместимый с этим пакетом.

Я нашел распределение Bouncy Castle для C#, которое, похоже, способно обрабатывать создание и управление клиентским сертификатом. Но я не нашел http-клиента, который действительно может использовать Org.BouncyCastle.X509X509Certificate для настройки двухстороннего SSL.

Редактировать Так кажется, что нет никакой возможности использовать сертификаты клиентов в общем коде (пожалуйста, просветите меня, если я ошибаюсь!). Мне нужно будет использовать DependencyService для создания iOS и реализации библиотеки на базе Android, используя различные HTTP-стеки.

+0

AFAIK, ваше право правильное, нет возможности использовать клиентский сертификат в PCL –

+0

. К сожалению, мы получили тот же ответ от разработчиков на Xamarin. Таким образом, мы собираемся с 3 вариантами реализации платформы, чтобы узнать, сколько времени потребуется. –

ответ

0

Я знаю, как вы относитесь к PCL. Я написал эту библиотеку, которая представляет собой библиотеку .NET Standard, который также нацелен на PCL, так что он может быть использован с Xamarin форм:

https://bitbucket.org/MelbourneDeveloper/restclient-.net/overview

Есть несколько образцов на получении этого работать с Xamarin форм. Что касается использования сертификата, как вы упомянули, я не уверен, что вам нужно делать что-то особенное, но я могу ошибаться. Если вы можете сказать мне немного больше о том, что необходимо для использования этого сертификата, в частности, я мог бы взглянуть на добавление функций в библиотеку.

Смежные вопросы