因此,我正在使用我们的系统管理员为我们在此处开发的Web工具设置本地身份验证(使用ADFS)。
我已经完成了设置过程,并且在运行项目时我们遇到了异常:
"根据验证程序,远程证书无效。"
[AuthenticationException: The remote certificate is invalid according to the validation procedure.]
System.Net.TlsStream.EndWrite(IAsyncResult asyncResult) +231
System.Net.PooledStream.EndWrite(IAsyncResult asyncResult) +15
System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar) +119
现在,当我将这段代码插入StartupAuth.cs时,我能够真正到达登录页面
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateCertificate);
...
static bool ValidateCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
{
return true;
}
但在登录时,系统又抛出了另一个异常。我们也不想总是验证证书。有趣的是,当系统管理员转换为自签名证书时,我们甚至无法访问登录页面。我们正在使用通配符证书,但我想知道这是否是问题所在。
我们的系统管理员认为我们可能只需购买一张签名合格的证书,但我想知道我的配置是否存在配置问题。
编辑:进一步调查后,我收到了一条有意义的错误消息。这是调试输出(我用' xxx'替换了证书序列号和网址):
Looking at Security Cert. Issuers...
System.Security.Cryptography.X509Certificates.X509Chain
CN=xxxxx.xxxx.org
Checking elements in X509 Chain:
UntrustedRoot
A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.
答案 0 :(得分:1)
我们已经能够通过将ADFS服务器上的证书安装到“受信任的根证书颁发机构”下的我的开发计算机上来解决安全证书问题。