Ssl Xamarin跨平台证书固定

Ssl Xamarin跨平台证书固定,ssl,mono,xamarin,ssl-certificate,pinning,Ssl,Mono,Xamarin,Ssl Certificate,Pinning,我正在使用Xamarin设计一个应用程序,我希望通过使用证书固定来提高我们的安全性。但是我找不到一个方法来做。我可以使用android的本机方法来实现这一点,但我想知道是否有跨平台的解决方案,或者甚至是windows phone的解决方案。在android和iOS上,您可以使用标准的.NET方式和ServicePointManager.ServerCertificateValidationCallback 在Windows Phone 8上,您可以使用StreamSocket,连接后调用upgr

我正在使用Xamarin设计一个应用程序,我希望通过使用证书固定来提高我们的安全性。但是我找不到一个方法来做。我可以使用android的本机方法来实现这一点,但我想知道是否有跨平台的解决方案,或者甚至是windows phone的解决方案。

在android和iOS上,您可以使用标准的.NET方式和
ServicePointManager.ServerCertificateValidationCallback

在Windows Phone 8上,您可以使用
StreamSocket
,连接后调用
upgradetoslasync
,然后阅读证书详细信息

在Windows Phone 8.1上,您也可以使用

var uri=新的uri(“https://someuri.com/");
var httpClient=新的httpClient();
var httpResponseMessage=等待httpClient.GetAsync(uri);
var certificate=httpResponseMessage.RequestMessage.TransportInformation.ServerCertificate;

所以不是一个跨平台的解决方案

可能能够帮助实现跨平台解决方案,但我不久前才在WindowsPhone7.x上使用过它