Skip to content

Commit 7668cb0

Browse files
committed
Merge branch 'feature/openssl-ecdsa-certificate-compatibility' into 3.2
2 parents 3405ec0 + 2459a86 commit 7668cb0

6 files changed

Lines changed: 80 additions & 35 deletions

File tree

composer.lock

Lines changed: 35 additions & 34 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Signer/Ecdsa/KeyParser.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ private function getKeyContent(Key $key, $header)
8888
$match = null;
8989

9090
preg_match(
91-
'/^[\-]{5}BEGIN ' . $header . '[\-]{5}(.*)[\-]{5}END ' . $header . '[\-]{5}$/',
91+
'/[\-]{5}BEGIN ' . $header . '[\-]{5}(.*)[\-]{5}END ' . $header . '[\-]{5}/',
9292
str_replace([PHP_EOL, "\n", "\r"], '', $key->getContent()),
9393
$match
9494
);

test/functional/EcdsaTokenTest.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,36 @@ public function verifyShouldReturnTrueWhenKeyIsRight(Token $token)
249249
$this->assertTrue($token->verify($this->signer, static::$ecdsaKeys['public1']));
250250
}
251251

252+
/**
253+
* @test
254+
*
255+
* @covers Lcobucci\JWT\Builder
256+
* @covers Lcobucci\JWT\Token
257+
* @covers Lcobucci\JWT\Signature
258+
* @covers Lcobucci\JWT\Claim\Factory
259+
* @covers Lcobucci\JWT\Claim\Basic
260+
* @covers Lcobucci\JWT\Parsing\Encoder
261+
* @covers Lcobucci\JWT\Signer\Key
262+
* @covers Lcobucci\JWT\Signer\BaseSigner
263+
* @covers Lcobucci\JWT\Signer\Ecdsa
264+
* @covers Lcobucci\JWT\Signer\Ecdsa\KeyParser
265+
* @covers Lcobucci\JWT\Signer\Ecdsa\Sha256
266+
*/
267+
public function everythingShouldWorkWithAKeyWithParams()
268+
{
269+
$user = (object) ['name' => 'testing', 'email' => 'testing@abc.com'];
270+
271+
$token = (new Builder())->setId(1)
272+
->setAudience('http://client.abc.com')
273+
->setIssuer('http://api.abc.com')
274+
->set('user', $user)
275+
->setHeader('jki', '1234')
276+
->sign($this->signer, static::$ecdsaKeys['private-params'])
277+
->getToken();
278+
279+
$this->assertTrue($token->verify($this->signer, static::$ecdsaKeys['public-params']));
280+
}
281+
252282
/**
253283
* @test
254284
*

test/functional/Keys.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,10 @@ public static function createEcdsaKeys()
4444

4545
static::$ecdsaKeys = [
4646
'private' => $keychain->getPrivateKey($dir . '/ecdsa/private.key'),
47+
'private-params' => $keychain->getPrivateKey($dir . '/ecdsa/private2.key'),
4748
'public1' => $keychain->getPublicKey($dir . '/ecdsa/public1.key'),
4849
'public2' => $keychain->getPublicKey($dir . '/ecdsa/public2.key'),
50+
'public-params' => $keychain->getPublicKey($dir . '/ecdsa/public3.key'),
4951
];
5052
}
5153
}

test/functional/ecdsa/private2.key

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
-----BEGIN EC PARAMETERS-----
2+
BggqhkjOPQMBBw==
3+
-----END EC PARAMETERS-----
4+
-----BEGIN EC PRIVATE KEY-----
5+
MHcCAQEEIM6G7WZ6SqoPwrHwGXhOJkYD+ErT8dfRvrNifgBQvSb7oAoGCCqGSM49
6+
AwEHoUQDQgAE09Hkp/u0tIGdzlQ99R/sXCOr9DTZAfLex4D4Po0C1L3qUqHrzZ0m
7+
B3bAhe+pwEDQ/jqVqdzxhA9i4PqT7F4Aew==
8+
-----END EC PRIVATE KEY-----

test/functional/ecdsa/public3.key

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
-----BEGIN PUBLIC KEY-----
2+
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE09Hkp/u0tIGdzlQ99R/sXCOr9DTZ
3+
AfLex4D4Po0C1L3qUqHrzZ0mB3bAhe+pwEDQ/jqVqdzxhA9i4PqT7F4Aew==
4+
-----END PUBLIC KEY-----

0 commit comments

Comments
 (0)