IIS 7上承载的WCF无法验证消息的安全性
我有一个托管在IIS7上的WCF服务,它使用自签名证书来提供HTTPS连接IIS 7上承载的WCF无法验证消息的安全性,wcf,ssl,iis-7,self-signed,Wcf,Ssl,Iis 7,Self Signed,我有一个托管在IIS7上的WCF服务,它使用自签名证书来提供HTTPS连接 服务器位于美国,但使用它的客户端在中东。为了让客户端能够使用该服务,我必须将服务器的时间和时区更改为客户端所在的国家。 此配置正在运行(现在几乎一年了),但从2天前开始,一些客户端停止工作并出现以下错误: 验证邮件的安全性时出错 如果我将服务器时间更改为在不工作的客户机之前一小时,这些客户机将能够使用该服务,但以前工作的客户机停止工作并收到相同的错误 有人知道我如何解决这个问题吗。 谢谢您可以从两个方面解决这个问题:如果
服务器位于美国,但使用它的客户端在中东。为了让客户端能够使用该服务,我必须将服务器的时间和时区更改为客户端所在的国家。 此配置正在运行(现在几乎一年了),但从2天前开始,一些客户端停止工作并出现以下错误:
验证邮件的安全性时出错 如果我将服务器时间更改为在不工作的客户机之前一小时,这些客户机将能够使用该服务,但以前工作的客户机停止工作并收到相同的错误 有人知道我如何解决这个问题吗。谢谢您可以从两个方面解决这个问题:如果您的IIS中安装了AppFabric或类似的东西,您可以开始为您的服务编写跟踪文件。这应该可以让您很好地了解服务器端出了什么问题 在客户端,在不接触服务器的情况下,您可能希望检查是否可以得到比.NET喜欢给出的“某些安全性问题不起作用”更具体的错误。尝试编写一个控制台应用程序来调用您的服务,并检查那里的SSL错误
namespace ServiceTestConsole
{
using System;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
internal class Program
{
internal static void Main()
{
ServicePointManager.ServerCertificateValidationCallback = ValidateServerCertificate;
// add a service reference and call your service here
Console.WriteLine("Press any key to continue");
Console.ReadKey();
}
private static bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslpolicyerrors)
{
Console.WriteLine("SSL Policy Error(s): " + sslpolicyerrors);
return true;
}
}
}