| @@ -493,7 +493,7 @@ | ||
| 493 | 493 | * namespaces needed to parse the XML. | 
| 494 | 494 | */ | 
| 495 | 495 | $xml = '<root xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" '. | 
| 496 | - 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' . | |
| 496 | + 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' . | |
| 497 | 497 | $decrypted . | 
| 498 | 498 | '</root>'; | 
| 499 | 499 | |
| @@ -246,7 +246,7 @@ discard block | ||
| 246 | 246 | } | 
| 247 | 247 | |
| 248 | 248 |          foreach ($namespaces as $prefix => $uri) { | 
| 249 | - $newElement->setAttributeNS($uri, $prefix . ':__ns_workaround__', 'tmp'); | |
| 249 | + $newElement->setAttributeNS($uri, $prefix.':__ns_workaround__', 'tmp'); | |
| 250 | 250 | $newElement->removeAttributeNS($uri, '__ns_workaround__'); | 
| 251 | 251 | } | 
| 252 | 252 | |
| @@ -279,7 +279,7 @@ discard block | ||
| 279 | 279 | case 'true': | 
| 280 | 280 | return true; | 
| 281 | 281 | default: | 
| 282 | -                throw new \Exception('Invalid value of boolean attribute ' . var_export($attributeName, true) . ': ' . var_export($value, true)); | |
| 282 | +                throw new \Exception('Invalid value of boolean attribute '.var_export($attributeName, true).': '.var_export($value, true)); | |
| 283 | 283 | } | 
| 284 | 284 | } | 
| 285 | 285 | |
| @@ -423,7 +423,7 @@ discard block | ||
| 423 | 423 | $symKeyInfoAlgo = $symmetricKeyInfo->getAlgorithm(); | 
| 424 | 424 | |
| 425 | 425 |              if (in_array($symKeyInfoAlgo, $blacklist, true)) { | 
| 426 | -                throw new \Exception('Algorithm disabled: ' . var_export($symKeyInfoAlgo, true)); | |
| 426 | +                throw new \Exception('Algorithm disabled: '.var_export($symKeyInfoAlgo, true)); | |
| 427 | 427 | } | 
| 428 | 428 | |
| 429 | 429 |              if ($symKeyInfoAlgo === XMLSecurityKey::RSA_OAEP_MGF1P && $inputKeyAlgo === XMLSecurityKey::RSA_1_5) { | 
| @@ -439,9 +439,9 @@ discard block | ||
| 439 | 439 | /* Make sure that the input key format is the same as the one used to encrypt the key. */ | 
| 440 | 440 |              if ($inputKeyAlgo !== $symKeyInfoAlgo) { | 
| 441 | 441 | throw new \Exception( | 
| 442 | - 'Algorithm mismatch between input key and key used to encrypt ' . | |
| 443 | - ' the symmetric key for the message. Key was: ' . | |
| 444 | - var_export($inputKeyAlgo, true) . '; message was: ' . | |
| 442 | + 'Algorithm mismatch between input key and key used to encrypt '. | |
| 443 | + ' the symmetric key for the message. Key was: '. | |
| 444 | + var_export($inputKeyAlgo, true).'; message was: '. | |
| 445 | 445 | var_export($symKeyInfoAlgo, true) | 
| 446 | 446 | ); | 
| 447 | 447 | } | 
| @@ -455,20 +455,20 @@ discard block | ||
| 455 | 455 | /* To protect against "key oracle" attacks, we need to be able to create a | 
| 456 | 456 | * symmetric key, and for that we need to know the key size. | 
| 457 | 457 | */ | 
| 458 | -                throw new \Exception('Unknown key size for encryption algorithm: ' . var_export($symmetricKey->type, true)); | |
| 458 | +                throw new \Exception('Unknown key size for encryption algorithm: '.var_export($symmetricKey->type, true)); | |
| 459 | 459 | } | 
| 460 | 460 | |
| 461 | 461 |              try { | 
| 462 | 462 | $key = $encKey->decryptKey($symmetricKeyInfo); | 
| 463 | 463 |                  if (strlen($key) != $keySize) { | 
| 464 | 464 | throw new \Exception( | 
| 465 | -                        'Unexpected key size (' . strlen($key) * 8 . 'bits) for encryption algorithm: ' . | |
| 465 | +                        'Unexpected key size ('.strlen($key)*8.'bits) for encryption algorithm: '. | |
| 466 | 466 | var_export($symmetricKey->type, true) | 
| 467 | 467 | ); | 
| 468 | 468 | } | 
| 469 | 469 |              } catch (\Exception $e) { | 
| 470 | 470 | /* We failed to decrypt this key. Log it, and substitute a "random" key. */ | 
| 471 | -                Utils::getContainer()->getLogger()->error('Failed to decrypt symmetric key: ' . $e->getMessage()); | |
| 471 | +                Utils::getContainer()->getLogger()->error('Failed to decrypt symmetric key: '.$e->getMessage()); | |
| 472 | 472 | /* Create a replacement key, so that it looks like we fail in the same way as if the key was correctly padded. */ | 
| 473 | 473 | |
| 474 | 474 | /* We base the symmetric key on the encrypted key and private key, so that we always behave the | 
| @@ -477,7 +477,7 @@ discard block | ||
| 477 | 477 | $encryptedKey = $encKey->getCipherValue(); | 
| 478 | 478 | $pkey = openssl_pkey_get_details($symmetricKeyInfo->key); | 
| 479 | 479 | $pkey = sha1(serialize($pkey), true); | 
| 480 | - $key = sha1($encryptedKey . $pkey, true); | |
| 480 | + $key = sha1($encryptedKey.$pkey, true); | |
| 481 | 481 | |
| 482 | 482 | /* Make sure that the key has the correct length. */ | 
| 483 | 483 |                  if (strlen($key) > $keySize) { | 
| @@ -492,8 +492,8 @@ discard block | ||
| 492 | 492 | /* Make sure that the input key has the correct format. */ | 
| 493 | 493 |              if ($inputKeyAlgo !== $symKeyAlgo) { | 
| 494 | 494 | throw new \Exception( | 
| 495 | - 'Algorithm mismatch between input key and key in message. ' . | |
| 496 | - 'Key was: ' . var_export($inputKeyAlgo, true) . '; message was: ' . | |
| 495 | + 'Algorithm mismatch between input key and key in message. '. | |
| 496 | + 'Key was: '.var_export($inputKeyAlgo, true).'; message was: '. | |
| 497 | 497 | var_export($symKeyAlgo, true) | 
| 498 | 498 | ); | 
| 499 | 499 | } | 
| @@ -502,7 +502,7 @@ discard block | ||
| 502 | 502 | |
| 503 | 503 | $algorithm = $symmetricKey->getAlgorithm(); | 
| 504 | 504 |          if (in_array($algorithm, $blacklist, true)) { | 
| 505 | -            throw new \Exception('Algorithm disabled: ' . var_export($algorithm, true)); | |
| 505 | +            throw new \Exception('Algorithm disabled: '.var_export($algorithm, true)); | |
| 506 | 506 | } | 
| 507 | 507 | |
| 508 | 508 | /** @var string $decrypted */ | 
| @@ -514,8 +514,8 @@ discard block | ||
| 514 | 514 | * namespaces needed to parse the XML. | 
| 515 | 515 | */ | 
| 516 | 516 | $xml = '<root xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" '. | 
| 517 | - 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' . | |
| 518 | - $decrypted . | |
| 517 | + 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'. | |
| 518 | + $decrypted. | |
| 519 | 519 | '</root>'; | 
| 520 | 520 | |
| 521 | 521 |          try { | 
| @@ -554,7 +554,7 @@ discard block | ||
| 554 | 554 | * Something went wrong during decryption, but for security | 
| 555 | 555 | * reasons we cannot tell the user what failed. | 
| 556 | 556 | */ | 
| 557 | -            Utils::getContainer()->getLogger()->error('Decryption failed: ' . $e->getMessage()); | |
| 557 | +            Utils::getContainer()->getLogger()->error('Decryption failed: '.$e->getMessage()); | |
| 558 | 558 |              throw new \Exception('Failed to decrypt XML element.', 0, $e); | 
| 559 | 559 | } | 
| 560 | 560 | } | 
| @@ -716,7 +716,7 @@ discard block | ||
| 716 | 716 |          $regex = '/^(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.\\d{1,9})?Z$/D'; | 
| 717 | 717 |          if (preg_match($regex, $time, $matches) == 0) { | 
| 718 | 718 | throw new \Exception( | 
| 719 | - 'Invalid SAML2 timestamp passed to xsDateTimeToTimestamp: ' . $time | |
| 719 | + 'Invalid SAML2 timestamp passed to xsDateTimeToTimestamp: '.$time | |
| 720 | 720 | ); | 
| 721 | 721 | } | 
| 722 | 722 | |
| @@ -22,8 +22,8 @@ | ||
| 22 | 22 | return sprintf( | 
| 23 | 23 | '%s%s%s', | 
| 24 | 24 | $this->truncateStatus($responseStatus['Code']), | 
| 25 | - $responseStatus['SubCode'] ? '/' . $this->truncateStatus($responseStatus['SubCode']) : '', | |
| 26 | - $responseStatus['Message'] ? ' ' . $responseStatus['Message'] : '' | |
| 25 | + $responseStatus['SubCode'] ? '/'.$this->truncateStatus($responseStatus['SubCode']) : '', | |
| 26 | + $responseStatus['Message'] ? ' '.$responseStatus['Message'] : '' | |
| 27 | 27 | ); | 
| 28 | 28 | } | 
| 29 | 29 | |
| @@ -62,11 +62,11 @@ | ||
| 62 | 62 | */ | 
| 63 | 63 | private $encryptionKey; | 
| 64 | 64 | |
| 65 | - /** | |
| 66 | - * The earliest time this assertion is valid, as an UNIX timestamp. | |
| 67 | - * | |
| 68 | - * @var int | |
| 69 | - */ | |
| 65 | + /** | |
| 66 | + * The earliest time this assertion is valid, as an UNIX timestamp. | |
| 67 | + * | |
| 68 | + * @var int | |
| 69 | + */ | |
| 70 | 70 | private $notBefore; | 
| 71 | 71 | |
| 72 | 72 | /** | 
| @@ -277,7 +277,7 @@ discard block | ||
| 277 | 277 | |
| 278 | 278 |          if ($xml->getAttribute('Version') !== '2.0') { | 
| 279 | 279 | /* Currently a very strict check. */ | 
| 280 | -            throw new \Exception('Unsupported version: ' . $xml->getAttribute('Version')); | |
| 280 | +            throw new \Exception('Unsupported version: '.$xml->getAttribute('Version')); | |
| 281 | 281 | } | 
| 282 | 282 | |
| 283 | 283 |          $this->issueInstant = Utils::xsDateTimeToTimestamp($xml->getAttribute('IssueInstant')); | 
| @@ -379,7 +379,7 @@ discard block | ||
| 379 | 379 | continue; | 
| 380 | 380 | } | 
| 381 | 381 |              if ($node->namespaceURI !== Constants::NS_SAML) { | 
| 382 | -                throw new \Exception('Unknown namespace of condition: ' . var_export($node->namespaceURI, true)); | |
| 382 | +                throw new \Exception('Unknown namespace of condition: '.var_export($node->namespaceURI, true)); | |
| 383 | 383 | } | 
| 384 | 384 |              switch ($node->localName) { | 
| 385 | 385 | case 'AudienceRestriction': | 
| @@ -402,7 +402,7 @@ discard block | ||
| 402 | 402 | /* Currently ignored. */ | 
| 403 | 403 | break; | 
| 404 | 404 | default: | 
| 405 | -                    throw new \Exception('Unknown condition: ' . var_export($node->localName, true)); | |
| 405 | +                    throw new \Exception('Unknown condition: '.var_export($node->localName, true)); | |
| 406 | 406 | } | 
| 407 | 407 | } | 
| 408 | 408 | } | 
| @@ -589,7 +589,7 @@ discard block | ||
| 589 | 589 | } | 
| 590 | 590 | |
| 591 | 591 |              if ($type === 'xs:integer') { | 
| 592 | - $this->attributes[$attributeName][] = (int)$value->textContent; | |
| 592 | + $this->attributes[$attributeName][] = (int) $value->textContent; | |
| 593 | 593 |              } else { | 
| 594 | 594 | $this->attributes[$attributeName][] = trim($value->textContent); | 
| 595 | 595 | } | 
| @@ -1367,7 +1367,7 @@ discard block | ||
| 1367 | 1367 | $document = $parentElement->ownerDocument; | 
| 1368 | 1368 | } | 
| 1369 | 1369 | |
| 1370 | - $root = $document->createElementNS(Constants::NS_SAML, 'saml:' . 'Assertion'); | |
| 1370 | + $root = $document->createElementNS(Constants::NS_SAML, 'saml:'.'Assertion'); | |
| 1371 | 1371 | $parentElement->appendChild($root); | 
| 1372 | 1372 | |
| 1373 | 1373 | /* Ugly hack to add another namespace declaration to the root element. */ | 
| @@ -1423,7 +1423,7 @@ discard block | ||
| 1423 | 1423 |          if ($this->encryptedNameId === null) { | 
| 1424 | 1424 | $this->nameId->toXML($subject); | 
| 1425 | 1425 |          } else { | 
| 1426 | - $eid = $subject->ownerDocument->createElementNS(Constants::NS_SAML, 'saml:' . 'EncryptedID'); | |
| 1426 | + $eid = $subject->ownerDocument->createElementNS(Constants::NS_SAML, 'saml:'.'EncryptedID'); | |
| 1427 | 1427 | $subject->appendChild($eid); | 
| 1428 | 1428 | $eid->appendChild($subject->ownerDocument->importNode($this->encryptedNameId, true)); | 
| 1429 | 1429 | } | 
| @@ -1575,7 +1575,7 @@ discard block | ||
| 1575 | 1575 |              if (is_array($this->attributesValueTypes) && array_key_exists($name, $this->attributesValueTypes)) { | 
| 1576 | 1576 | $valueTypes = $this->attributesValueTypes[$name]; | 
| 1577 | 1577 |                  if (is_array($valueTypes) && count($valueTypes) != count($values)) { | 
| 1578 | -                    throw new \Exception('Array of value types and array of values have different size for attribute '. var_export($name, true)); | |
| 1578 | +                    throw new \Exception('Array of value types and array of values have different size for attribute '.var_export($name, true)); | |
| 1579 | 1579 | } | 
| 1580 | 1580 |              } else { | 
| 1581 | 1581 | // if no type(s), default behaviour | 
| @@ -51,25 +51,25 @@ | ||
| 51 | 51 | |
| 52 | 52 | // ported from | 
| 53 | 53 | // https://github.com/simplesamlphp/simplesamlphp/blob/3d735912342767d391297cc5e13272a76730aca0/lib/SimpleSAML/Configuration.php#L1092 | 
| 54 | -        if ($configuration->hasValue($prefix . 'keys')) { | |
| 55 | - $extracted['keys'] = $configuration->getArray($prefix . 'keys'); | |
| 54 | +        if ($configuration->hasValue($prefix.'keys')) { | |
| 55 | + $extracted['keys'] = $configuration->getArray($prefix.'keys'); | |
| 56 | 56 | } | 
| 57 | 57 | |
| 58 | 58 | // ported from | 
| 59 | 59 | // https://github.com/simplesamlphp/simplesamlphp/blob/3d735912342767d391297cc5e13272a76730aca0/lib/SimpleSAML/Configuration.php#L1108 | 
| 60 | -        if ($configuration->hasValue($prefix . 'certData')) { | |
| 61 | - $extracted['certificateData'] = $configuration->getString($prefix . 'certData'); | |
| 60 | +        if ($configuration->hasValue($prefix.'certData')) { | |
| 61 | + $extracted['certificateData'] = $configuration->getString($prefix.'certData'); | |
| 62 | 62 | } | 
| 63 | 63 | |
| 64 | 64 | // ported from | 
| 65 | 65 | // https://github.com/simplesamlphp/simplesamlphp/blob/3d735912342767d391297cc5e13272a76730aca0/lib/SimpleSAML/Configuration.php#L1119 | 
| 66 | -        if ($configuration->hasValue($prefix . 'certificate')) { | |
| 67 | - $extracted['certificateData'] = $configuration->getString($prefix . 'certificate'); | |
| 66 | +        if ($configuration->hasValue($prefix.'certificate')) { | |
| 67 | + $extracted['certificateData'] = $configuration->getString($prefix.'certificate'); | |
| 68 | 68 | } | 
| 69 | 69 | |
| 70 | 70 | // ported from | 
| 71 | 71 | // https://github.com/simplesamlphp/simplesamlphp/blob/3d735912342767d391297cc5e13272a76730aca0/modules/saml/lib/Message.php#L161 | 
| 72 | -        if ($configuration->hasValue($prefix . 'certFingerprint')) { | |
| 72 | +        if ($configuration->hasValue($prefix.'certFingerprint')) { | |
| 73 | 73 |              $extracted['certificateFingerprint'] = $configuration->getArrayizeString('certFingerprint'); | 
| 74 | 74 | } | 
| 75 | 75 | |
| @@ -48,7 +48,7 @@ | ||
| 48 | 48 | public function getPrivateKey($name, $required = false) | 
| 49 | 49 |      { | 
| 50 | 50 |          $privateKeys = $this->get('privateKeys'); | 
| 51 | -        $key = array_filter($privateKeys, function (PrivateKey $key) use ($name) { | |
| 51 | +        $key = array_filter($privateKeys, function(PrivateKey $key) use ($name) { | |
| 52 | 52 | return $key->getName() === $name; | 
| 53 | 53 | }); | 
| 54 | 54 | |
| @@ -50,7 +50,7 @@ | ||
| 50 | 50 | public function getPrivateKey($name, $required = false) | 
| 51 | 51 |      { | 
| 52 | 52 |          $privateKeys = $this->get('privateKeys'); | 
| 53 | -        $key         = array_filter($privateKeys, function (PrivateKey $key) use ($name) { | |
| 53 | +        $key         = array_filter($privateKeys, function(PrivateKey $key) use ($name) { | |
| 54 | 54 | return $key->getName() === $name; | 
| 55 | 55 | }); | 
| 56 | 56 | |
| @@ -53,8 +53,8 @@ | ||
| 53 | 53 | const CM_BEARER = 'urn:oasis:names:tc:SAML:2.0:cm:bearer'; | 
| 54 | 54 | |
| 55 | 55 | /** | 
| 56 | - * Holder-of-Key subject confirmation method. | |
| 57 | - */ | |
| 56 | + * Holder-of-Key subject confirmation method. | |
| 57 | + */ | |
| 58 | 58 | const CM_HOK = 'urn:oasis:names:tc:SAML:2.0:cm:holder-of-key'; | 
| 59 | 59 | |
| 60 | 60 | /** | 
| @@ -75,7 +75,7 @@ discard block | ||
| 75 | 75 | break; | 
| 76 | 76 | |
| 77 | 77 | default: | 
| 78 | -                throw new \Exception('Unknown key type for encryption: ' . $key->type); | |
| 78 | +                throw new \Exception('Unknown key type for encryption: '.$key->type); | |
| 79 | 79 | } | 
| 80 | 80 | |
| 81 | 81 | $this->encryptedData = $enc->encryptNode($symmetricKey); | 
| @@ -112,7 +112,7 @@ discard block | ||
| 112 | 112 | $document = $parentElement->ownerDocument; | 
| 113 | 113 | } | 
| 114 | 114 | |
| 115 | - $root = $document->createElementNS(Constants::NS_SAML, 'saml:' . 'EncryptedAssertion'); | |
| 115 | + $root = $document->createElementNS(Constants::NS_SAML, 'saml:'.'EncryptedAssertion'); | |
| 116 | 116 | $parentElement->appendChild($root); | 
| 117 | 117 | |
| 118 | 118 | $root->appendChild($document->importNode($this->encryptedData, true)); | 
| @@ -51,8 +51,8 @@ discard block | ||
| 51 | 51 | $privateKey = SimpleSAML_Utilities::loadPrivateKey($srcMetadata); | 
| 52 | 52 | $publicKey = SimpleSAML_Utilities::loadPublicKey($srcMetadata); | 
| 53 | 53 |              if ($privateKey !== null && $publicKey !== null && isset($publicKey['PEM'])) { | 
| 54 | - $keyCertData = $privateKey['PEM'] . $publicKey['PEM']; | |
| 55 | - $file = SimpleSAML_Utilities::getTempDir() . '/' . sha1($keyCertData) . '.pem'; | |
| 54 | + $keyCertData = $privateKey['PEM'].$publicKey['PEM']; | |
| 55 | + $file = SimpleSAML_Utilities::getTempDir().'/'.sha1($keyCertData).'.pem'; | |
| 56 | 56 |                  if (!file_exists($file)) { | 
| 57 | 57 | SimpleSAML_Utilities::writeFile($file, $keyCertData); | 
| 58 | 58 | } | 
| @@ -71,11 +71,11 @@ discard block | ||
| 71 | 71 |                  if ($key['type'] !== 'X509Certificate') { | 
| 72 | 72 | continue; | 
| 73 | 73 | } | 
| 74 | - $certData .= "-----BEGIN CERTIFICATE-----\n" . | |
| 75 | - chunk_split($key['X509Certificate'], 64) . | |
| 74 | + $certData .= "-----BEGIN CERTIFICATE-----\n". | |
| 75 | + chunk_split($key['X509Certificate'], 64). | |
| 76 | 76 | "-----END CERTIFICATE-----\n"; | 
| 77 | 77 | } | 
| 78 | - $peerCertFile = SimpleSAML_Utilities::getTempDir() . '/' . sha1($certData) . '.pem'; | |
| 78 | + $peerCertFile = SimpleSAML_Utilities::getTempDir().'/'.sha1($certData).'.pem'; | |
| 79 | 79 |              if (!file_exists($peerCertFile)) { | 
| 80 | 80 | SimpleSAML_Utilities::writeFile($peerCertFile, $certData); | 
| 81 | 81 | } | 
| @@ -100,7 +100,7 @@ discard block | ||
| 100 | 100 | |
| 101 | 101 | // Add soap-envelopes | 
| 102 | 102 | $request = $msg->toSignedXML(); | 
| 103 | - $request = self::START_SOAP_ENVELOPE . $request->ownerDocument->saveXML($request) . self::END_SOAP_ENVELOPE; | |
| 103 | + $request = self::START_SOAP_ENVELOPE.$request->ownerDocument->saveXML($request).self::END_SOAP_ENVELOPE; | |
| 104 | 104 | |
| 105 | 105 | Utils::getContainer()->debugMessage($request, 'out'); | 
| 106 | 106 | |
| @@ -225,7 +225,7 @@ discard block | ||
| 225 | 225 | // There is a fault element but we haven't found out what the fault string is | 
| 226 | 226 | $soapFaultString = "Unknown fault string found"; | 
| 227 | 227 | // find out the fault string | 
| 228 | - $faultStringElement = Utils::xpQuery($soapFaultElement, './soap-env:faultstring') ; | |
| 228 | + $faultStringElement = Utils::xpQuery($soapFaultElement, './soap-env:faultstring'); | |
| 229 | 229 |          if (!empty($faultStringElement)) { | 
| 230 | 230 | return $faultStringElement[0]->textContent; | 
| 231 | 231 | } |