使用没有certificateValidationMode的证书时出现WCF SecurityNegotiationException

时间:2015-08-19 12:46:46

标签: c# wcf ssl wcf-binding wcf-security

我使用Pluralsight Selfcert创建证书。当我在wcf服务中使用它时,它需要一个SecurityNegotiation Exception。我搜索它并找到了解决方案。我把certificateValidationMode ="无"在Web.config的clientCertificate但问题没有解决。但是如果我把这个命令放在客户端app.config上解决问题。但我不想改变我的客户配置。为什么这个命令不能在服务器端工作?还有其他方法吗?

  

X.509证书CN = QtasCert链建设失败。该   使用的证书具有无法验证的信任链。   替换证书或更改certificateValidationMode。一个   证书链已处理,但已在根证书中终止   信任提供者不信任。

fseek

1 个答案:

答案 0 :(得分:0)

我在客户端安装证书,问题解决了。

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine(@"Certificate Installer v1.0");

        var certificate = new X509Certificate2(Certificates.QTasCert, "*****");
        var rootStore = new X509Store(StoreName.Root, StoreLocation.LocalMachine);
        rootStore.Open(OpenFlags.ReadWrite);
        rootStore.Add(certificate);
        rootStore.Close();

        var myStore = new X509Store(StoreName.My, StoreLocation.LocalMachine);
        myStore.Open(OpenFlags.ReadWrite);
        myStore.Add(certificate);
        myStore.Close();

        Console.WriteLine(@"Certificate Installed Successfuly");
        Console.ReadKey();
    }
}