fusionauth-issues icon indicating copy to clipboard operation
fusionauth-issues copied to clipboard

Allow to register primary and secondary "Verification key" for SAML IDP

Open konvergence opened this issue 1 year ago • 4 comments

Allow to register primary and secondary "Verification key" for SAML IDP

Problem

EntraID and ADFS allow a secondary certificate to be generated before the primary certificate expires, but continues to sign with the primary certificate for a certain period of time. This allows applications to define 2 certificates (primary and secondary) and not be blocked when the IdP switches over to signing assertions.

Solution

If fusionauth allowed 2 “Verification keys” (primary and secondary) to be defined on a SAMLv2 IdP, this would avoid having to undergo the IdP assertion signature changeover.

Alternatives/workarounds

No workaround, we have to change the “verification key” when the SAMLv2 IdP changes the assertion signature. This will stop authentication until the signature is changed.

Additional context

I think that there should have the same issue on other SAMLv2 IdP

Related

  • https://github.com/FusionAuth/fusionauth-issues/issues/1361

How to vote

Please give us a thumbs up or thumbs down as a reaction to help us prioritize this feature. Feel free to comment if you have a particular need or comment on how this feature should work.

konvergence avatar Nov 13 '24 08:11 konvergence

@konvergence, thanks so much for submitting this issue! We have a large backlog of work so I can't commit to when we'll address this, but we really appreciate you submitting it.

mooreds avatar Nov 18 '24 23:11 mooreds

Perhaps if we could define a verification key made up of the 2 certificates, this would limit the impact?

konvergence avatar Nov 19 '24 05:11 konvergence

I haven't looked at the code or tests so I'm not sure of the implementation details.

mooreds avatar Nov 19 '24 13:11 mooreds

Hmm.. does this already work? The configured verification key is used for sure when using redirect bindings, but when using a POST bindings where the SAML request contains KeyInfo, I think we will try and resolve the verification key dynamically using the KeyInfo, and then fall back to the configured key if that doesn't work.

robotdan avatar Oct 09 '25 19:10 robotdan