2014-10-20 70 views
3

我正在设计一个使用Xamarin的应用程序,我想通过使用证书锁定来提高我们的安全性。但我找不到办法。我可以使用android的原生方法来做到这一点,但我想知道是否有跨平台的解决方案,甚至是Windows Phone的解决方案。Xamarin跨平台证书锁定

回答

1

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

在Windows Phone 8上,您可以使用StreamSocket,连接后请拨打UpgradeToSslAsync,然后阅读证书详细信息。

在Windows Phone 8.1也可以使用 var uri = new Uri("https://someuri.com/"); var httpClient = new HttpClient(); var httpResponseMessage = await httpClient.GetAsync(uri); var certificate = httpResponseMessage.RequestMessage.TransportInformation.ServerCertificate;

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

SecureBlackbox也许能帮助一个跨平台的解决方案,但我只用它与Windows Phone 7.xa同时。