title: SignedXml.CheckSignature() is true, but SignedXml.CheckSignature(certificate) is false
body: <p>I'm generating a SAML2 token from ADFS, signed by certificate. Now I'm trying to verify that signature, using the same certificate.</p>
  
  <pre><code>X509Certificate2 cert = LoadCert();
  XmlDocument token = LoadXmlToken(); //SAML2 token
  XmlElement signature = GetSignatureElement(token);
  
  SignedXml signedXml = new SignedXml(token);
  signedXml.LoadXml(signature);
  bool result1 = signedXml.CheckSignature();            //true
  bool result2 = signedXml.CheckSignature(cert, false); //false
  </code></pre>
  
  <p>CheckSignature() verifies signature against the public key contained in the token. 
  CheckSignature(cert, [true/false]) verifies signature against the private key from the certificate.</p>
  
  <p>How can it be that one works and the other doesn't?</p>