Xamarin跨平台证书固定

3

我正在使用Xamarin设计一款应用程序,并希望通过使用证书绑定来增强我们的安全性。但是我找不到实现它的方法。我可以使用Android本地方法来实现它,但我想知道是否有跨平台的解决方案,或者是否存在适用于Windows手机的解决方案。

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.x上使用过它。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接