You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Validate received Signatures before xmlseclibs processes them: no DOCTYPE, a single SignedInfo, CanonicalizationMethod, SignatureMethod, Reference, DigestValue and SignatureValue, only the Transforms and canonicalization algorithms used by SAML (XPath Transforms were evaluated before any cryptographic check), a Reference URI that identifies exactly one element of the same document and no RetrievalMethod/EncryptedKey in the KeyInfo
Encrypted NameIDs are now always generated with rsa-oaep-mgf1p key transport (rsa-1_5 was used with aes128-cbc)
Utils::castKey keeps the X.509 certificate of the key
Reject unsupported SigAlg values on the HTTP-Redirect binding also when several IdP signing certificates are configured
Validate received encrypted elements before decrypting them: accepted data and key transport algorithms, and no nested EncryptedKey/RetrievalMethod references (they were followed without limit, exhausting the memory)
Add the 'allowRSA15KeyTransport' and 'allowCBCEncryption' security settings (true by default) to reject rsa-1_5 key transport and CBC data encryption
Add the $allowRSA15KeyTransport and $allowCBCEncryption parameters (true by default) to LogoutRequest::getNameIdData() and LogoutRequest::getNameId()
Report every decryption failure with the same error (ValidationError::DECRYPTION_FAILED) and replace invalid encrypted keys by a deterministic key (RFC 3218), with the same work whatever the padding of the encrypted key
Use strict === and !== at string comparison
getSelfPort now returns an integer.
When $_SERVER['Forwarded-Proto'] contains an array, now the first value is used in setSelfProtocol.
In strict mode with wantMessagesSigned, verify the signature of a Response with an EncryptedAssertion before decrypting it (if it is not signed or the signature is invalid the assertion is not decrypted and isValid() reports the cause). The EncryptedID of a LogoutRequest is decrypted after its signature is verified
Load XML documents with LIBXML_NONET
Fix the decryption of an EncryptedID inside an EncryptedAssertion (it failed with an algorithm mismatch)
Reject decrypted EncryptedID content that is not an element (a text node made LogoutRequest::getNameIdData fail with a PHP Error)
Fix Utils::validateSign crash when the signature has no certificate and the IdP is identified by fingerprint
Added clarification on reverse-proxy scenario (Path Prefix)