title: DotNetOpenAuth: Message signature was incorrect
body: <p>I'm getting a "Message signature was incorrect" exception when trying to authenticate with MyOpenID and Yahoo.</p>
  
  <p>I'm using pretty much the ASP.NET MVC sample code that came with DotNetOpenAuth 3.4.2</p>
  
  <pre><code>public ActionResult Authenticate(string openid)
  {
      var openIdRelyingParty = new OpenIdRelyingParty();
      var authenticationResponse = openIdRelyingParty.GetResponse();
  
      if (authenticationResponse == null)
      {
          // Stage 2: User submitting identifier
          Identifier identifier;
  
          if (Identifier.TryParse(openid, out identifier))
          {
              var realm = new Realm(Request.Url.Root() + "openid");
              var authenticationRequest = openIdRelyingParty.CreateRequest(openid, realm);
              authenticationRequest.RedirectToProvider();
          }
          else
          {
              return RedirectToAction("login", "home");
          }
      }
      else
      {
          // Stage 3: OpenID provider sending assertion response
          switch (authenticationResponse.Status)
          {
              case AuthenticationStatus.Authenticated:
              {
                  // TODO
              }
              case AuthenticationStatus.Failed:
              {
                  throw authenticationResponse.Exception;
              }
          }
      }
  
      return new EmptyResult();
  }
  </code></pre>
  
  <p>Working fine with Google, AOL and others. However, Yahoo and MyOpenID fall into the AuthenticationStatus.Failed case with the following exception:</p>
  
  <pre><code>DotNetOpenAuth.Messaging.Bindings.InvalidSignatureException: Message signature was incorrect.
     at DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.ProcessIncomingMessage(IProtocolMessage message) in c:\Users\andarno\git\dotnetopenid\src\DotNetOpenAuth\OpenId\ChannelElements\SigningBindingElement.cs:line 139
     at DotNetOpenAuth.Messaging.Channel.ProcessIncomingMessage(IProtocolMessage message) in c:\Users\andarno\git\dotnetopenid\src\DotNetOpenAuth\Messaging\Channel.cs:line 992
     at DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.ProcessIncomingMessage(IProtocolMessage message) in c:\Users\andarno\git\dotnetopenid\src\DotNetOpenAuth\OpenId\ChannelElements\OpenIdChannel.cs:line 172
     at DotNetOpenAuth.Messaging.Channel.ReadFromRequest(HttpRequestInfo httpRequest) in c:\Users\andarno\git\dotnetopenid\src\DotNetOpenAuth\Messaging\Channel.cs:line 386
     at DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.GetResponse(HttpRequestInfo httpRequestInfo) in c:\Users\andarno\git\dotnetopenid\src\DotNetOpenAuth\OpenId\RelyingParty\OpenIdRelyingParty.cs:line 540
  </code></pre>
  
  <p>Appears that others are having the same problem: <a href="http://trac.dotnetopenauth.net:8000/ticket/172" rel="noreferrer">http://trac.dotnetopenauth.net:8000/ticket/172</a></p>
  
  <p>Does anyone have a workaround?</p>