onelogin/ruby-saml — Issue #22: PingIdentity's PingFederate isn't compatible?
Author: HHRy
Created: 2011-12-08 14:54:13+00:00
State: open

I've been trying to get this version of the plugin working with Ping Identity's Ping Federate locally (we are currently running an older version of this plugin which worked fine, and need to upgrade to support another integration) - however this latest version seems to be incompatible.

The problems seem to be all happening in XmlSecurity - Firstly, I had to change:

`````ruby
base64_cert = self.elements["//ds:X509Certificate"].text #line 47
``````

to

`````ruby
base64_cert = REXML::XPath.first(self, "//ds:X509Certificate").text #line 47
``````

As REXML was having trouble with the XML which was generated - this got the document created correctly and doesn't change the meaning of the code overmuch.

Howevever, the primary problem now is that the `digest_hash` doesn't match the calculated `hash` value of the SAML Response. I think that this might be because attributes are being used, and it could be related to the previously reported issue #16.

The digest method and canonicalization method are unchanged, the digests simply just don't match up. I'm looking further into the problem just now to see if there's a way around this - has anyone encountered a similar problem?