Xamarin中的证书验证

问题描述

我们使用c#模块发出http请求。由于是https,因此涉及证书。来自服务器的证书是自签名的,因此我们将公共根证书安装在Windows 10的信任存储区中。在httpWebRequest中,我们分配证书回调处理程序

httpWebRequest.ServerCertificateValidationCallback = CertificateValidationCallback;

然后我们处理回调并添加额外的验证

private bool CertificateValidationCallback(object sender,X509Certificate certificate,X509Chain chain,SslPolicyErrors sslPolicyErrors)
        {
            switch (sslPolicyErrors)
            {
                case SslPolicyErrors.None:
                    return true;
                case SslPolicyErrors.RemoteCertificateNameMismatch:
                    return CommonNameValidator.ValidateCertificate(certificate.Subject);
                default:
                    return false;
            }
        } 

仅当Windows 10的信任存储区中安装了公共根证书时,该代码才能验证证书是否正确。否则,它无法构建证书链。 问题是我们是否要迁移到xamarinios并使用IOS(在我们的iPad中为iPad)安装了公共根证书才能使验证生效?我们应该更改验证码吗? 预先感谢您的帮助:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)