Unable to validate Signature
#0
/intproj/users/oliver/simplesamlphp/lib/SimpleSAML/XML/SAML20/AuthnResponse.
php(179): SimpleSAML_XML_Validator->__construct(Object(DOMDocument), 'ID')
#1
/intproj/users/oliver/simplesamlphp/lib/SimpleSAML/XML/SAML20/AuthnResponse.
php(403): SimpleSAML_XML_SAML20_AuthnResponse->validateSignature() #2
/intproj/users/oliver/simplesamlphp/www/saml2/sp/AssertionConsumerService.ph
p(181): SimpleSAML_XML_SAML20_AuthnResponse->process() #3 {main}
I set up the metadata and entered a certFingerprint as well as a certificate
file name, but simplesaml is not able to find the correct cert?!?
Any ideas?
If I enter the certificate content to the xmlseclibs.php file (function
verifyOpenSSL and replace $this->key) it will work.
Thanks in advance...
Oliver
> Any ideas?
What software are you using at the IdP side?
Can you somehow get an example of the authentication response that is
sent to simpleSAMLphp, and paste it to the list?
Bescause the response is from one of our customers, I would keep it
confidential and cannot post it to the list.
Is there any way to look into simplesaml (maybe by debugging) and check,
whether its a misconfiguration, incompatibility or a bug?!?
thnx
One thing I had to do which I had not done in my IdP before was to include the IdP public certificate in the response to the SP. The behavior prior to the 1.0 release is to require the public certificate in the response. SimpleSAMLphp then computes the signature from that cert and compares it to the fingerprint in the configuration file. I had not included the cert in my responses before and it could be that your IdP does not either.
Paul
> I have to agree to Paul's answer. It does not make sense to include
> the verification object with the request. That would make signing
> senseless.
Including certificate is a must when you run a CA and wants the signer
to be able to change certificates without updating metadata.
The certificate that is included is checked against the fingerprint in
the metadata which is an OK way to do signing verification.
However I totally agree that we should support including the
certificate in metadata, and support that certificate is not included
in the message. And actually, the danish developer Mads Freek told me
he has a fix for this. We hope to commit it during today.
I will just add here my reasoning for not sending the certificate in the response. As a SP, I cannot trust what is sent in the response unless I can validate the signature using information outside of the response. So while simpleSAMLphp checks the fingerprint of the included certificate against configuration (which is fully valid), I just don’t see a reason to send the certificate in the first place. Why send those bytes each time just to compute the fingerprint? Instead, the approach I took with my SP is to have the certificate read by configuration. In my case, I actually read it typically from a URL, but it’s a URL that the SP is configured to trust. It reads it one time and then caches the information. So from that point on, the SP can validate the signatures without needing the certificate in the response. Even if there were one there, it would ignore it.
When a signer is changing certificates, SPs must get the certificate anyway.
They need to calculate the fingerprint and have to change the config.
Using local certs would be a really nice feature. Looking forward to your
commit, because our IdP would like to switch back and remove the cert from
the responses as soon as it will work without it.
Thnx for support!!!
On 18.04.08 07:30, "Andreas Åkre Solberg" <andreas...@uninett.no>
wrote:
>
Paul
On 4/18/08 1:30 AM, "Andreas Åkre Solberg" <andreas...@uninett.no>
wrote:
>