3

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

4

1 回答 1

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 中使用过它。

于 2014-11-24T22:24:11.297 回答