C# 具有不同证书的加密/签名SOAP WCF

C# 具有不同证书的加密/签名SOAP WCF,c#,wcf,soap,C#,Wcf,Soap,我目前正在研究一种似乎相当奇怪的设置,以便与另一个实体进行通信。它们要求我实现两个SOAP端点的客户端和服务端(我认为这本身就很奇怪)。更重要的是,它们要求对消息进行签名和加密(在普通TLS之上) 我不是一个庞大的密码学专家,但根据我的理解(以及远程实体的技术人员告诉我的),我应该使用我的私钥对来自客户机的消息进行签名,然后使用他们的公钥对消息进行加密。他们做的恰恰相反。这对我来说是合乎逻辑的 然而,我的问题是:WCF似乎并不容易支持这一点。当我以前使用Spring在Java中实现SOAP服务时

我目前正在研究一种似乎相当奇怪的设置,以便与另一个实体进行通信。它们要求我实现两个SOAP端点的客户端和服务端(我认为这本身就很奇怪)。更重要的是,它们要求对消息进行签名和加密(在普通TLS之上)

我不是一个庞大的密码学专家,但根据我的理解(以及远程实体的技术人员告诉我的),我应该使用我的私钥对来自客户机的消息进行签名,然后使用他们的公钥对消息进行加密。他们做的恰恰相反。这对我来说是合乎逻辑的

然而,我的问题是:WCF似乎并不容易支持这一点。当我以前使用Spring在Java中实现SOAP服务时,有KeyManager和TrustManager的概念。通过这种方式,您可以从不同的存储中提取必要的加密位。在WCF中,每个服务/客户端只能指定一个证书

我发现这篇MSDN文章有一个可能的解决方案:

然而,对于我想象中的一个非常普遍的问题来说,它似乎太复杂了

在我开始实施上述怪物之前,我想确保我没有遗漏什么。也许我错过了一个更简单的方法?我想做的事情真的那么独特吗?WCF真的这么糟糕吗?是否有更好的.NET第三方框架更好地支持安全SOAP

提前谢谢。我快疯了