@@ -239,20 +239,21 @@ end
239239
240240## Signature Validation
241241
242- Ruby SAML allows different ways to validate the signature of the SAMLResponse:
243- - You can provide the IdP X.509 public certificate at the ` idp_cert ` setting.
244- - You can provide the IdP X.509 public certificate in fingerprint format using the
245- ` idp_cert_fingerprint ` setting parameter and additionally the ` idp_cert_fingerprint_algorithm ` parameter.
246-
247- When validating the signature of redirect binding, the fingerprint is useless and the certificate
248- of the IdP is required in order to execute the validation. You can pass the option
249- ` :relax_signature_validation ` to ` SloLogoutrequest ` and ` Logoutresponse ` if want to avoid signature
250- validation if no certificate of the IdP is provided.
251-
252- In production also we highly recommend to register on the settings the IdP certificate instead
253- of using the fingerprint method. The fingerprint, is a hash, so at the end is open to a collision
254- attack that can end on a signature validation bypass. Other SAML toolkits deprecated that mechanism,
255- we maintain it for compatibility and also to be used on test environment.
242+ Ruby SAML allows different ways to validate the signature of the SAML Response:
243+ - You may provide the IdP X.509 public certificate at the ` idp_cert ` setting.
244+ - (Deprecated) You may provide the IdP X.509 public certificate in fingerprint format using the
245+ ` idp_cert_fingerprint ` and ` idp_cert_fingerprint_algorithm ` parameters.
246+
247+ In addition, you may pass the option ` :relax_signature_validation ` to ` SloLogoutrequest ` and
248+ ` Logoutresponse ` if want to skip signature validation on logout.
249+
250+ The ` idp_cert_fingerprint ` option is deprecated for the following reasons. It will be
251+ removed in Ruby SAML version 3.0.
252+ 1 . It only works with HTTP-POST binding, not HTTP-Redirect, since the full certificate
253+ is not sent in the Redirect URL parameters.
254+ 2 . It is theoretically be susceptible to collision attacks, by which a malicious
255+ actor could impersonate the IdP. (However, as of January 2025, such attacks have not
256+ been publicly demonstrated for SHA-256.)
256257
257258## Handling Multiple IdP Certificates
258259
0 commit comments