使用 'Basic128Sha256Rsa15' 的 WCF 客户端错误

WCF Client error using 'Basic128Sha256Rsa15'

通过我的 WCF 客户端配置文件从使用 SHA1 加密转换为 SHA256 加密时,我收到以下错误。这是针对 Windows 2003 服务器上的 .NET 3.5 客户端 运行。 我已经对发现的 SAML 数据使用 SHA256 进行了相关更改 here

来自我的 app.config 的片段:

  <customBinding>
    <binding name="HAServiceBrokerSOAP11BindingHewitt">
      <security defaultAlgorithmSuite="Basic128Sha256Rsa15"

我在客户端错误日志中收到的错误消息:

System.InvalidOperationException: 绑定 ('CustomBinding', 'http://tempuri.org/') 已使用不支持的安全算法套件 'Basic128Sha256Rsa15' 配置

我终于开始工作了。我会 post 我的决定,以防其他人通过搜索登陆这里。 我尝试过的一件事对我不起作用但可能对其他人有用,那就是使用公共语言运行时 4.0 版。 CLR 2.0 版用于 .NET 3.5 程序集。这是我在元素之后添加到我的配置文件中的行:

  <startup useLegacyV2RuntimeActivationPolicy="true">
        <supportedRuntime version="v4.0"/>
        <supportedRuntime version="v2.0.50727"/>
   </startup>

最终对我有用的是将代码从 VS 2008 .NET 3.5 升级到 VS 2010 .NET 4.0 并重新编译整个程序集。 VS 2008 不支持 .NET 4.0。.NET 4.0 程序集使用 CLR 4.0 版本。