Skip to content

Commit cfd0005

Browse files
committed
Check for x509Cert of the IdP when loading settings, even if the security index was not provided
1 parent fa8ed31 commit cfd0005

1 file changed

Lines changed: 9 additions & 10 deletions

File tree

src/Saml2/Settings.php

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -552,19 +552,18 @@ public function checkIdPSettings(array $settings)
552552
$errors[] = 'idp_slo_response_url_invalid';
553553
}
554554

555-
if (isset($settings['security'])) {
556-
$security = $settings['security'];
555+
$existsX509 = isset($idp['x509cert']) && !empty($idp['x509cert']);
556+
$existsMultiX509Sign = isset($idp['x509certMulti']) && isset($idp['x509certMulti']['signing']) && !empty($idp['x509certMulti']['signing']);
557+
$existsFingerprint = isset($idp['certFingerprint']) && !empty($idp['certFingerprint']);
558+
if (!($existsX509 || $existsFingerprint || $existsMultiX509Sign)
559+
) {
560+
$errors[] = 'idp_cert_or_fingerprint_not_found_and_required';
561+
}
557562

558-
$existsX509 = isset($idp['x509cert']) && !empty($idp['x509cert']);
559-
$existsMultiX509Sign = isset($idp['x509certMulti']) && isset($idp['x509certMulti']['signing']) && !empty($idp['x509certMulti']['signing']);
563+
if (isset($settings['security'])) {
560564
$existsMultiX509Enc = isset($idp['x509certMulti']) && isset($idp['x509certMulti']['encryption']) && !empty($idp['x509certMulti']['encryption']);
561565

562-
$existsFingerprint = isset($idp['certFingerprint']) && !empty($idp['certFingerprint']);
563-
if (!($existsX509 || $existsFingerprint || $existsMultiX509Sign)
564-
) {
565-
$errors[] = 'idp_cert_or_fingerprint_not_found_and_required';
566-
}
567-
if ((isset($security['nameIdEncrypted']) && $security['nameIdEncrypted'] == true)
566+
if ((isset($settings['security']['nameIdEncrypted']) && $settings['security']['nameIdEncrypted'] == true)
568567
&& !($existsX509 || $existsMultiX509Enc)
569568
) {
570569
$errors[] = 'idp_cert_not_found_and_required';

0 commit comments

Comments
 (0)