我有这段代码可以将 X509Certificate 添加到 SOAP 消息并对其进行签名:
//Convert X509Certificate (Config.clientCertificate) to X509Certifica2 to use later on security token.
X509Certificate2 certificate = new X509Certificate2(Config.clientCertificate);
//Create security token
X509SecurityToken certToken = new X509SecurityToken(certificate);
//Add WS-Security to proxy class client and sign message
webserviceClient.RequestSoapContext.Security.Tokens.Add(certToken);
webserviceClient.RequestSoapContext.Security.Elements.Add(new MessageSignature(certToken));
但是 Visual Studio 会显示一条带有此消息的警告:
SoapContext.Security 已过时。考虑从 SendSecurityFilter 或 ReceiveSecurityFilter 派生并创建生成这些过滤器的自定义策略断言。
我正在使用这个程序集:Windows dll 项目(不是 WCF)上的 Microsoft.Web.Services3。
拜托,任何人都可以提供一些帮助来实现 SendSecurityFilter 以及如何使用客户端证书创建自定义策略断言?
我在互联网上找到了一些关于这种技术的教程,但都使用了 UsernameToken,我不知道如何翻译它以使用 X509Certificate。
它正在工作,但我想要一个没有此警告的更新代码。
非常感谢。此致。