Bugfix. Validate signed response from IdP with Idp public key #27
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@jkmu Thanks for creating this awesome library for doing SAML2 authentication!!!
I have found something, which might be a bug. I was also getting the error: "Saml2Exception: Assertion signature could not be verified" which is mentioned in #24
The last part of the method "SamlValidator.GetValidatedAssertion" is checking the signature of the "Assertion" received from the IdP. The signature is checked using the ServiceProvider certificate, which I think is incorrect. The signature should be checked based on IdP's public key, because we need to ensure that the Assertion-object was created by the IdP.
To not accidently break stuff, I have changed the implementation to check the signature against all trusted keys. I have added a method to the IConfigurationProvider to get all the trusted keys