gpt4 book ai didi

c# - UWP ServicePointManager.ServerCertificateValidationCallback

转载 作者:行者123 更新时间:2023-12-01 22:58:10 32 4
gpt4 key购买 nike

我有一个 Xamarin.Forms 应用程序,它利用 ServicePointManager.ServerCertificateValidationCallback 类和方法实现证书固定。在 Android 和 iOS 上,这可以正常工作,因为它将允许连接到已固定证书 key 的预期服务,并禁止连接那些我还没有固定的服务。

但是,在 UWP 上,无论证书 key 是否已固定,都允许所有连接。我已从证书验证方法显式返回 false,并且仍然允许连接。我确信在我调试并逐步完成证书验证方法时正在执行检查。

尽管我从验证检查中返回 false,但什么可能导致连接继续进行?

ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertficate;
private static bool ValidateServerCertficate(
object sender,
X509Certificate certificate,
X509Chain chain,
SslPolicyErrors sslPolicyErrors
)
{
return false;
}

最佳答案

我能够通过以下方式解决此问题:

  1. 在 UWP 项目中,双击 Package.appxmanifest 文件
  2. 在“声明”菜单下,从“可用声明”下拉列表中选择“证书”
  3. 点击“添加”按钮
  4. 选择“独家信任”选项

这会将以下 xml 放入 Package.appxmanifest 文件中:

<Extensions>
<Extension Category="windows.certificates">
<Certificates>
<TrustFlags ExclusiveTrust="true" />
</Certificates>
</Extension>
</Extensions>

关于c# - UWP ServicePointManager.ServerCertificateValidationCallback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59548774/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com