Skip to content

Commit add45eb

Browse files
committed
Merge branch 'release/4.3'
2 parents d32d599 + 690d1ba commit add45eb

4 files changed

Lines changed: 16 additions & 11 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# 4.3.2
2+
**Bugfix**
3+
* Secure the way the verifySignature method is used #104
4+
15
# 4.3.1
26
**Bugfix**
37
* Update metadata.xml template reference

src/Entity/HostedEntities.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ private function generateUrl($routeDefinition)
142142

143143
$context = $this->router->getContext();
144144

145-
$context->fromRequest($this->requestStack->getMasterRequest());
145+
$context->fromRequest($this->requestStack->getMainRequest());
146146

147147
$url = $this->router->generate($route, $parameters, RouterInterface::ABSOLUTE_URL);
148148

src/Http/ReceivedAuthnRequestQueryString.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -288,9 +288,10 @@ public function getSignedRequestPayload()
288288
*/
289289
public function verify(XMLSecurityKey $key)
290290
{
291-
if ($key->verifySignature($this->getSignedRequestPayload(), $this->getDecodedSignature())) {
292-
return true;
291+
$isVerified = $key->verifySignature($this->getSignedRequestPayload(), $this->getDecodedSignature());
292+
if ($isVerified !== 1) {
293+
return false;
293294
}
294-
return false;
295+
return true;
295296
}
296297
}

src/Signing/SignatureVerifier.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
use Psr\Log\LoggerInterface;
2222
use RobRichards\XMLSecLibs\XMLSecurityKey;
2323
use SAML2\Certificate\Key;
24-
use SAML2\Certificate\KeyLoader as KeyLoader;
24+
use SAML2\Certificate\KeyLoader;
2525
use SAML2\Certificate\X509;
2626
use Surfnet\SamlBundle\Entity\ServiceProvider;
2727
use Surfnet\SamlBundle\Http\ReceivedAuthnRequestQueryString;
@@ -151,13 +151,13 @@ public function isSignedWith(AuthnRequest $request, X509 $publicKey)
151151
$key = new XMLSecurityKey(XMLSecurityKey::RSA_SHA256, array('type' => 'public'));
152152
$key->loadKey($publicKey->getCertificate());
153153

154-
if ($key->verifySignature($request->getSignedRequestQuery(), $request->getSignature())) {
155-
$this->logger->debug('Signature VERIFIED');
156-
return true;
154+
$isVerified = $key->verifySignature($request->getSignedRequestQuery(), $request->getSignature());
155+
if ($isVerified !== 1) {
156+
$this->logger->debug('Signature NOT VERIFIED');
157+
return false;
157158
}
158159

159-
$this->logger->debug('Signature NOT VERIFIED');
160-
161-
return false;
160+
$this->logger->debug('Signature VERIFIED');
161+
return true;
162162
}
163163
}

0 commit comments

Comments
 (0)