问题描述
我们使用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 (将#修改为@)