摘要
我正在编写一个需要向REST Api发出请求的Xamarin.Forms应用程序。它需要使用客户端证书在与后端通信时建立双向ssl。
如果可能的话,我希望所有这些都可以在PCL 中完成。最好的方法是什么?
到目前为止我有什么
Xamarin.Forms不能包含包System.Net.Security
。因此,我无法使用System.Net.Http.HttpClient
中的普通HttpClient和客户端证书。所以我需要一个不同的加密包,以及一个与这个包兼容的不同的http客户端。
我找到了C#的Bouncy Castle发行版,它似乎能够处理创建和管理客户端证书。但我还没有找到一个可以实际使用Org.BouncyCastle.X509X509Certificate
设置双向SSL的http客户端。
修改 所以似乎没有办法在共享代码中使用客户端证书(如果我错了,请赐教我!)。我将不得不使用DependencyService来创建库的iOS和Android实现,使用不同的HTTP堆栈。
答案 0 :(得分:0)
我知道你对PCL的看法。我写了这个库,它是一个.NET标准库,也是PCL的目标,因此它可以与Xamarin Forms一起使用:
https://bitbucket.org/MelbourneDeveloper/restclient-.net/overview
有几个样本可以让它与Xamarin Forms一起运行。至于你提到的使用证书,我不确定你需要做什么特别的事情,但我可能是错的。如果您可以告诉我更多关于特别需要使用此证书的内容,我可以考虑将该功能添加到库中。