【发布时间】:2020-04-20 06:12:35
【问题描述】:
我有一个使用 ServicePointManager.ServerCertificateValidationCallback 类和方法实现证书固定的 Xamarin.Forms 应用。在 Android 和 iOS 上,这可以正常工作,因为它将允许连接到其证书密钥已固定的预期服务,而不允许连接那些我没有连接的服务。
但是,在 UWP 上,无论证书密钥是否已固定,都允许所有连接。我已从证书验证方法明确返回 false 并且仍然允许连接。我确信正在执行检查,因为我已经调试并逐步完成了证书验证方法。
即使我从验证检查中返回 false,有什么可能导致连接继续进行?
ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertficate;
private static bool ValidateServerCertficate(
object sender,
X509Certificate certificate,
X509Chain chain,
SslPolicyErrors sslPolicyErrors
)
{
return false;
}
【问题讨论】:
-
回调确实触发了,所以情况不一样。
-
ValidateServerCertficate在你身边打电话吗? -
ValidateServerCertificate 被调用,但返回值与是否允许连接无关
标签: c# xamarin xamarin.forms uwp .net-standard