Laravel version update
Laravel version update
This commit is contained in:
@@ -8,7 +8,7 @@ use PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
/**
|
||||
* BC test for base64 url-safe fix
|
||||
* Test that tokens generated the old way (non url-safe) will work with url-safe base64 decoding
|
||||
* Test that tokens generated the old way (non url-safe) will work with url-safe base64 decoding.
|
||||
*/
|
||||
class BCJWSTest extends TestCase
|
||||
{
|
||||
@@ -17,22 +17,21 @@ class BCJWSTest extends TestCase
|
||||
public function testTestBC()
|
||||
{
|
||||
$data = array(
|
||||
array("order_nr" => "ae123123"),
|
||||
array("username" => "asdasdasd"),
|
||||
array("anything" => "!@#$%^&*()_+")
|
||||
array('order_nr' => 'ae123123'),
|
||||
array('username' => 'asdasdasd'),
|
||||
array('anything' => '!@#$%^&*()_+'),
|
||||
);
|
||||
|
||||
foreach ($data as $payload) {
|
||||
$jwsOld = new JWS(array("alg" => "RS256"));
|
||||
$jwsOld = new JWS(array('alg' => 'RS256'));
|
||||
$jwsOld->setEncoder(new Base64Encoder());
|
||||
$jwsOld->setPayload($payload);
|
||||
$jwsOld->sign(openssl_pkey_get_private(SSL_KEYS_PATH . "private.key", self::SSL_KEY_PASSPHRASE));
|
||||
$jwsOld->sign(openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', self::SSL_KEY_PASSPHRASE));
|
||||
|
||||
$t = $jwsOld->getTokenString();
|
||||
|
||||
$jwsNew = JWS::load($t);
|
||||
$this->assertTrue($jwsNew->verify(openssl_pkey_get_public(SSL_KEYS_PATH . "public.key")));
|
||||
$this->assertTrue($jwsNew->verify(openssl_pkey_get_public(SSL_KEYS_PATH.'public.key')));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
|
||||
namespace Namshi\JOSE\Test;
|
||||
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
use Namshi\JOSE\JWS;
|
||||
use DateTime;
|
||||
use Namshi\JOSE\JWS;
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
use Prophecy\Argument;
|
||||
use Namshi\JOSE\Signer\OpenSSL\HS256;
|
||||
use Namshi\JOSE\Base64\Base64UrlSafeEncoder;
|
||||
|
||||
class JWSTest extends TestCase
|
||||
{
|
||||
@@ -13,11 +15,11 @@ class JWSTest extends TestCase
|
||||
|
||||
public function setup()
|
||||
{
|
||||
$date = new DateTime('tomorrow');
|
||||
$data = array(
|
||||
'a' => 'b'
|
||||
$date = new DateTime('tomorrow');
|
||||
$data = array(
|
||||
'a' => 'b',
|
||||
);
|
||||
$this->jws = new JWS(array('alg' => 'RS256'));
|
||||
$this->jws = new JWS(array('alg' => 'RS256'));
|
||||
$this->jws->setPayload($data);
|
||||
}
|
||||
|
||||
@@ -26,37 +28,37 @@ class JWSTest extends TestCase
|
||||
*/
|
||||
public function testLoadingUnsecureJwsWithNoneAlgo()
|
||||
{
|
||||
$date = new DateTime('tomorrow');
|
||||
$data = array(
|
||||
'a' => 'b',
|
||||
'exp' => $date->format('U')
|
||||
$date = new DateTime('tomorrow');
|
||||
$data = array(
|
||||
'a' => 'b',
|
||||
'exp' => $date->format('U'),
|
||||
);
|
||||
$this->jws = new JWS(array('alg' => 'None'));
|
||||
$this->jws = new JWS(array('alg' => 'None'));
|
||||
$this->jws->setPayload($data);
|
||||
$this->jws->sign('111');
|
||||
|
||||
$jws = JWS::load($this->jws->getTokenString());
|
||||
$jws = JWS::load($this->jws->getTokenString());
|
||||
$this->assertFalse($jws->verify('111'));
|
||||
|
||||
$payload = $jws->getPayload();
|
||||
$this->assertEquals('b', $payload['a']);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @expectedException InvalidArgumentException
|
||||
*/
|
||||
public function testLoadingUnsecureJwsWithLowercaseNone()
|
||||
{
|
||||
$date = new DateTime('tomorrow');
|
||||
$data = array(
|
||||
'a' => 'b',
|
||||
'exp' => $date->format('U')
|
||||
$date = new DateTime('tomorrow');
|
||||
$data = array(
|
||||
'a' => 'b',
|
||||
'exp' => $date->format('U'),
|
||||
);
|
||||
$this->jws = new JWS(array('alg' => 'none'));
|
||||
$this->jws = new JWS(array('alg' => 'none'));
|
||||
$this->jws->setPayload($data);
|
||||
$this->jws->sign('111');
|
||||
|
||||
$jws = JWS::load($this->jws->getTokenString());
|
||||
$jws = JWS::load($this->jws->getTokenString());
|
||||
$this->assertFalse($jws->verify('111'));
|
||||
|
||||
$payload = $jws->getPayload();
|
||||
@@ -65,16 +67,16 @@ class JWSTest extends TestCase
|
||||
|
||||
public function testAllowingUnsecureJws()
|
||||
{
|
||||
$date = new DateTime('tomorrow');
|
||||
$data = array(
|
||||
'a' => 'b',
|
||||
'exp' => $date->format('U')
|
||||
$date = new DateTime('tomorrow');
|
||||
$data = array(
|
||||
'a' => 'b',
|
||||
'exp' => $date->format('U'),
|
||||
);
|
||||
$this->jws = new JWS(array('alg' => 'None'));
|
||||
$this->jws = new JWS(array('alg' => 'None'));
|
||||
$this->jws->setPayload($data);
|
||||
$this->jws->sign('111');
|
||||
|
||||
$jws = JWS::load($this->jws->getTokenString(), true);
|
||||
$jws = JWS::load($this->jws->getTokenString(), true);
|
||||
$this->assertTrue($jws->verify('111'));
|
||||
|
||||
$payload = $jws->getPayload();
|
||||
@@ -83,35 +85,35 @@ class JWSTest extends TestCase
|
||||
|
||||
public function testRestrictingTheAlgorithmsKo()
|
||||
{
|
||||
$this->jws = new JWS(array('alg' => 'HS256'));
|
||||
$this->jws = new JWS(array('alg' => 'HS256'));
|
||||
$this->jws->sign('12345');
|
||||
|
||||
$jws = JWS::load($this->jws->getTokenString());
|
||||
$jws = JWS::load($this->jws->getTokenString());
|
||||
$this->assertFalse($jws->verify('12345', 'RS256'));
|
||||
}
|
||||
|
||||
public function testRestrictingTheAlgorithmsOk()
|
||||
{
|
||||
$date = new DateTime('tomorrow');
|
||||
$data = array(
|
||||
'a' => 'b',
|
||||
'exp' => $date->format('U')
|
||||
$date = new DateTime('tomorrow');
|
||||
$data = array(
|
||||
'a' => 'b',
|
||||
'exp' => $date->format('U'),
|
||||
);
|
||||
$this->jws = new JWS(array('alg' => 'HS256'));
|
||||
$this->jws = new JWS(array('alg' => 'HS256'));
|
||||
$this->jws->setPayload($data);
|
||||
$this->jws->sign('123');
|
||||
|
||||
$jws = JWS::load($this->jws->getTokenString());
|
||||
$jws = JWS::load($this->jws->getTokenString());
|
||||
$this->assertTrue($jws->verify('123', 'HS256'));
|
||||
}
|
||||
|
||||
public function testVerificationRS256()
|
||||
{
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH . "private.key", self::SSL_KEY_PASSPHRASE);
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', self::SSL_KEY_PASSPHRASE);
|
||||
$this->jws->sign($privateKey);
|
||||
|
||||
$jws = JWS::load($this->jws->getTokenString());
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH . "public.key");
|
||||
$jws = JWS::load($this->jws->getTokenString());
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH.'public.key');
|
||||
$this->assertTrue($jws->verify($public_key));
|
||||
|
||||
$payload = $jws->getPayload();
|
||||
@@ -120,11 +122,11 @@ class JWSTest extends TestCase
|
||||
|
||||
public function testVerificationRS256KeyAsString()
|
||||
{
|
||||
$privateKey = file_get_contents(TEST_DIR . "/private.key");//, self::SSL_KEY_PASSPHRASE);
|
||||
$privateKey = file_get_contents(TEST_DIR.'/private.key');
|
||||
$this->jws->sign($privateKey, self::SSL_KEY_PASSPHRASE);
|
||||
|
||||
$jws = JWS::load($this->jws->getTokenString());
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH . "public.key");
|
||||
$jws = JWS::load($this->jws->getTokenString());
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH.'public.key');
|
||||
$this->assertTrue($jws->verify($public_key));
|
||||
|
||||
$payload = $jws->getPayload();
|
||||
@@ -147,7 +149,7 @@ class JWSTest extends TestCase
|
||||
|
||||
public function testVerificationThatTheJWSIsSigned()
|
||||
{
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH . "private.key", self::SSL_KEY_PASSPHRASE);
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', self::SSL_KEY_PASSPHRASE);
|
||||
$this->jws->sign($privateKey);
|
||||
$this->assertTrue($this->jws->isSigned());
|
||||
}
|
||||
@@ -162,11 +164,11 @@ class JWSTest extends TestCase
|
||||
*/
|
||||
public function testWrongVerificationRS256()
|
||||
{
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH . "private.key", self::SSL_KEY_PASSPHRASE);
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', self::SSL_KEY_PASSPHRASE);
|
||||
$this->jws->sign($privateKey);
|
||||
|
||||
$jws = JWS::load('eyJhbGciOiJ0ZXN0In0=.eyJhbGciOiJ0ZXN0In0=.eyJhbGciOiJ0ZXN0In0=');
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH . "public.key");
|
||||
$jws = JWS::load('eyJhbGciOiJ0ZXN0In0=.eyJhbGciOiJ0ZXN0In0=.eyJhbGciOiJ0ZXN0In0=');
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH.'public.key');
|
||||
$this->assertFalse($jws->verify($public_key));
|
||||
}
|
||||
|
||||
@@ -189,31 +191,29 @@ class JWSTest extends TestCase
|
||||
public function testSignAndVerifyWithFalsePublicKey()
|
||||
{
|
||||
$public_key = false;
|
||||
$jwsHMAC = new JWS(array('alg' => 'HS256'));
|
||||
$jwsHMAC = new JWS(array('alg' => 'HS256'));
|
||||
|
||||
$jwsHMAC->sign(false);
|
||||
$jws = JWS::load($jwsHMAC->getTokenString());
|
||||
|
||||
$this->assertFalse($jws->verify($public_key));
|
||||
|
||||
}
|
||||
|
||||
public function testSignAndVerifyWithEmptyStringPublicKey()
|
||||
{
|
||||
$public_key = false;
|
||||
$jwsHMAC = new JWS(array('alg' => 'HS256'));
|
||||
$jwsHMAC = new JWS(array('alg' => 'HS256'));
|
||||
|
||||
$jwsHMAC->sign('');
|
||||
$jws = JWS::load($jwsHMAC->getTokenString());
|
||||
|
||||
$this->assertFalse($jws->verify($public_key));
|
||||
|
||||
}
|
||||
|
||||
public function testLoadingWithAnyOrderOfHeaders()
|
||||
{
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH . "private.key", self::SSL_KEY_PASSPHRASE);
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH . "public.key");
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', self::SSL_KEY_PASSPHRASE);
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH.'public.key');
|
||||
|
||||
$this->jws = new JWS(array('alg' => 'RS256', 'custom' => '1'));
|
||||
|
||||
@@ -231,14 +231,18 @@ class JWSTest extends TestCase
|
||||
|
||||
public function testSignAndVerifyWithSecLib()
|
||||
{
|
||||
$jwsRSA = new JWS(array('alg' => 'RS256'), 'SecLib');
|
||||
$data = array('a' => 'b',);
|
||||
if (version_compare(PHP_VERSION, '7.0.0-dev') >= 0) {
|
||||
$this->setExpectedException('InvalidArgumentException');
|
||||
}
|
||||
|
||||
$jwsRSA = new JWS(array('alg' => 'RS256'), 'SecLib');
|
||||
$data = array('a' => 'b');
|
||||
$jwsRSA->setPayload($data);
|
||||
|
||||
$jwsRSA->sign(file_get_contents(SSL_KEYS_PATH . "private.key"), 'tests');
|
||||
$jwsRSA->sign(file_get_contents(SSL_KEYS_PATH.'private.key'), 'tests');
|
||||
$jws = JWS::load($jwsRSA->getTokenString(), false, null, 'SecLib');
|
||||
|
||||
$this->assertTrue($jws->verify(file_get_contents(SSL_KEYS_PATH . "public.key", 'RS256')));
|
||||
$this->assertTrue($jws->verify(file_get_contents(SSL_KEYS_PATH.'public.key', 'RS256')));
|
||||
}
|
||||
|
||||
public function testConstructionFromHeader()
|
||||
@@ -255,14 +259,36 @@ class JWSTest extends TestCase
|
||||
$header['test'] = true;
|
||||
$this->jws->setHeader($header);
|
||||
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH . "private.key", self::SSL_KEY_PASSPHRASE);
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', self::SSL_KEY_PASSPHRASE);
|
||||
$this->jws->sign($privateKey);
|
||||
|
||||
$jws = JWS::load($this->jws->getTokenString());
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH . "public.key");
|
||||
$jws = JWS::load($this->jws->getTokenString());
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH.'public.key');
|
||||
$headerFromSig = $jws->getHeader();
|
||||
|
||||
$this->assertSame($headerFromSig['test'], true);
|
||||
$this->assertTrue($jws->verify($public_key));
|
||||
}
|
||||
|
||||
public function testVerificationWithJsonThatContainsWhitespace()
|
||||
{
|
||||
$header = '{
|
||||
"alg": "HS256"
|
||||
}';
|
||||
|
||||
$payload = '{
|
||||
"a": "b"
|
||||
}';
|
||||
|
||||
$encoder = new Base64UrlSafeEncoder();
|
||||
$signer = new HS256();
|
||||
|
||||
$token = sprintf('%s.%s', $encoder->encode($header), $encoder->encode($payload));
|
||||
$signature = $encoder->encode($signer->sign($token, '123'));
|
||||
$jwsToken = sprintf('%s.%s', $token, $signature);
|
||||
|
||||
$jws = JWS::load($jwsToken);
|
||||
|
||||
$this->assertTrue($jws->verify('123'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
namespace Namshi\JOSE\Test;
|
||||
|
||||
use Namshi\JOSE\Base64\Base64UrlSafeEncoder;
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
use Namshi\JOSE\JWT;
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
class JWTTest extends TestCase
|
||||
{
|
||||
@@ -15,7 +15,17 @@ class JWTTest extends TestCase
|
||||
$jwt = new JWT($payload, $header);
|
||||
$encoder = new Base64UrlSafeEncoder();
|
||||
|
||||
$this->assertEquals(sprintf("%s.%s", $encoder->encode(json_encode($header)), $encoder->encode(json_encode($payload))), $jwt->generateSigninInput());
|
||||
$this->assertEquals(sprintf('%s.%s', $encoder->encode(json_encode($header)), $encoder->encode(json_encode($payload))), $jwt->generateSigninInput());
|
||||
}
|
||||
|
||||
public function testGenerationOfTheSigninInputCanHandleSlashes()
|
||||
{
|
||||
$encoder = new Base64UrlSafeEncoder();
|
||||
$json_string = '{"a":"/b/"}';
|
||||
$encoded_json_string = $encoder->encode($json_string);
|
||||
$jwt = new JWT(json_decode($json_string, true), json_decode($json_string, true));
|
||||
|
||||
$this->assertEquals(sprintf('%s.%s', $encoded_json_string, $encoded_json_string), $jwt->generateSigninInput());
|
||||
}
|
||||
|
||||
public function testPayload()
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
namespace Namshi\JOSE\Test\OpenSSL\Signer;
|
||||
|
||||
use Namshi\JOSE\Signer\OpenSSL\ES256;
|
||||
use \PHPUnit_Framework_TestCase as TestCase;
|
||||
use Namshi\JOSE\Test\Signer\SecLib\SecLibTestCase;
|
||||
|
||||
class ES256Test extends TestCase
|
||||
class ES256Test extends SecLibTestCase
|
||||
{
|
||||
|
||||
public function setup()
|
||||
{
|
||||
parent::setup();
|
||||
// https://github.com/sebastianbergmann/phpunit/issues/1356
|
||||
if (defined('HHVM_VERSION')) {
|
||||
$this->markTestSkipped();
|
||||
}
|
||||
$this->privateKey = openssl_pkey_get_private(SSL_KEYS_PATH . "private.es256.key");
|
||||
$this->public = openssl_pkey_get_public(SSL_KEYS_PATH . "public.es256.key");
|
||||
$this->signer = new ES256;
|
||||
$this->privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.es256.key');
|
||||
$this->public = openssl_pkey_get_public(SSL_KEYS_PATH.'public.es256.key');
|
||||
$this->signer = new ES256();
|
||||
}
|
||||
|
||||
public function testVerificationWorksProperly()
|
||||
@@ -32,7 +32,7 @@ class ES256Test extends TestCase
|
||||
*/
|
||||
public function testWrongKeyCurve()
|
||||
{
|
||||
$privateKey512 = openssl_pkey_get_private(SSL_KEYS_PATH . "private.es512.key");
|
||||
$privateKey512 = openssl_pkey_get_private(SSL_KEYS_PATH.'private.es512.key');
|
||||
$this->signer->sign('aaa', $privateKey512);
|
||||
}
|
||||
|
||||
@@ -40,5 +40,4 @@ class ES256Test extends TestCase
|
||||
{
|
||||
$this->assertInternalType('string', $this->signer->sign('aaa', $this->privateKey));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
namespace Namshi\JOSE\Test\OpenSSL\Signer;
|
||||
|
||||
use Namshi\JOSE\Signer\OpenSSL\ES384;
|
||||
use \PHPUnit_Framework_TestCase as TestCase;
|
||||
use Namshi\JOSE\Test\Signer\SecLib\SecLibTestCase;
|
||||
|
||||
class ES384Test extends TestCase
|
||||
class ES384Test extends SecLibTestCase
|
||||
{
|
||||
|
||||
public function setup()
|
||||
{
|
||||
parent::setup();
|
||||
// https://github.com/sebastianbergmann/phpunit/issues/1356
|
||||
if (defined('HHVM_VERSION')) {
|
||||
$this->markTestSkipped();
|
||||
}
|
||||
$this->privateKey = openssl_pkey_get_private(SSL_KEYS_PATH . "private.es384.key", 'tests');
|
||||
$this->public = openssl_pkey_get_public(SSL_KEYS_PATH . "public.es384.key");
|
||||
$this->signer = new ES384;
|
||||
$this->privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.es384.key', 'tests');
|
||||
$this->public = openssl_pkey_get_public(SSL_KEYS_PATH.'public.es384.key');
|
||||
$this->signer = new ES384();
|
||||
}
|
||||
|
||||
public function testVerificationWorksProperly()
|
||||
@@ -30,5 +30,4 @@ class ES384Test extends TestCase
|
||||
{
|
||||
$this->assertInternalType('string', $this->signer->sign('aaa', $this->privateKey));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
namespace Namshi\JOSE\Test\OpenSSL\Signer;
|
||||
|
||||
use Namshi\JOSE\Signer\OpenSSL\ES512;
|
||||
use \PHPUnit_Framework_TestCase as TestCase;
|
||||
use Namshi\JOSE\Test\Signer\SecLib\SecLibTestCase;
|
||||
|
||||
class ES512Test extends TestCase
|
||||
class ES512Test extends SecLibTestCase
|
||||
{
|
||||
|
||||
public function setup()
|
||||
{
|
||||
parent::setup();
|
||||
// https://github.com/sebastianbergmann/phpunit/issues/1356
|
||||
if (defined('HHVM_VERSION')) {
|
||||
$this->markTestSkipped();
|
||||
}
|
||||
$this->privateKey = openssl_pkey_get_private(SSL_KEYS_PATH . "private.es512.key");
|
||||
$this->public = openssl_pkey_get_public(SSL_KEYS_PATH . "public.es512.key");
|
||||
$this->signer = new ES512;
|
||||
$this->privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.es512.key');
|
||||
$this->public = openssl_pkey_get_public(SSL_KEYS_PATH.'public.es512.key');
|
||||
$this->signer = new ES512();
|
||||
}
|
||||
|
||||
public function testVerificationWorksProperly()
|
||||
@@ -30,5 +30,4 @@ class ES512Test extends TestCase
|
||||
{
|
||||
$this->assertInternalType('string', $this->signer->sign('aaa', $this->privateKey));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,13 +3,13 @@
|
||||
namespace Namshi\JOSE\Test\OpenSSL\Signer;
|
||||
|
||||
use Namshi\JOSE\Signer\OpenSSL\HS256;
|
||||
use \PHPUnit_Framework_TestCase as TestCase;
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
class HS256Test extends TestCase
|
||||
{
|
||||
public function testSigningAndVerificationWorkProperly()
|
||||
{
|
||||
$signer = new HS256;
|
||||
$signer = new HS256();
|
||||
$signature = $signer->sign('aaa', 'foo');
|
||||
$this->assertEquals($signature, base64_decode('P2Pb8e2Ja4P4YnTZ3EF002RKpUpOnfjIy0uLNT0R1J0='));
|
||||
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
namespace Namshi\JOSE\Test\OpenSSL\Signer;
|
||||
|
||||
use \PHPUnit_Framework_TestCase as TestCase;
|
||||
use Namshi\JOSE\Signer\OpenSSL\HS384;
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
class HS384Test extends TestCase
|
||||
{
|
||||
public function testSigningAndVerificationWorkProperly()
|
||||
{
|
||||
$signer = new HS384;
|
||||
$signer = new HS384();
|
||||
$signature = $signer->sign('aaa', 'foo');
|
||||
|
||||
$this->assertEquals($signature, base64_decode('W6Cd7qZknNYIXOxTrpEWFFwfuX0e2j59hTH4kVFh5o+9rcnfNtphLg4V8YXfkXGF'));
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
namespace Namshi\JOSE\Test\OpenSSL\Signer;
|
||||
|
||||
use \PHPUnit_Framework_TestCase as TestCase;
|
||||
use Namshi\JOSE\Signer\OpenSSL\HS512;
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
class HS512Test extends TestCase
|
||||
{
|
||||
public function testSigningAndVerificationWorkProperly()
|
||||
{
|
||||
$signer = new HS512;
|
||||
$signer = new HS512();
|
||||
$signature = $signer->sign('aaa', 'foo');
|
||||
|
||||
$this->assertEquals($signature, base64_decode('GysqRX8GoD6BCTrI5sJy1ptn9A7vbDlvFOnaAxO/t+BD8KVrVAUVcHMxgM68ZNxnUNkb7kNSq3YxkCV4pBvTjg=='));
|
||||
|
||||
@@ -2,20 +2,22 @@
|
||||
|
||||
namespace Namshi\JOSE\Test\OpenSSL\Signer;
|
||||
|
||||
use \PHPUnit_Framework_TestCase as TestCase;
|
||||
use Namshi\JOSE\Signer\OpenSSL\RS256;
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
class PublicKeyTest extends TestCase
|
||||
class KeyFormatTest extends TestCase
|
||||
{
|
||||
public function setup()
|
||||
{
|
||||
$this->privateKeyResource = openssl_pkey_get_private(SSL_KEYS_PATH . "private.key", 'tests');
|
||||
$this->privateKeyString = "-----BEGIN PRIVATE KEY-----\nMIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAN91kQxBuaze3WjI\nCNjeR/HD8E3kDzp89+Lhtn3tMish4yQxhNl6BEkabuS3pUj3WDP6+AFjBVqA1j3f\nu8Wqu7hRJDPHOs2kCII+LhIqvqQTLx/nvNOUhW2DimKn0HuHnlwJODq0MHFJEq5R\nrJH+mFGsP9yMGz4MxA04E2RVbUJRAgMBAAECgYEAjrDrO3Fo2GvD5Jn/lER0mnxt\nIb/kvYt5WyaYutbRN1u/SKhaVeklfWzkrSZb5DkV2LOE1JXfoEgvBnms1O9OSJXw\nqDrFF7NDebw95g6JzI+SbkIHw0Cb+/E9K92FjvW3Bi8j9PKIa8c/dpwIAIirc/q8\nuhSTf4WoIOHSFbSaQPECQQD1Wi9vynJLI5lShOs0wPomZOwNrXa73Lj8ciZC4oPS\nt6tWjbLnLsP+vTSLUyEYeQGsjdbY+y5siJmAqnV/ShB9AkEA6Sgna9gQw4dXN0jB\nSjOZSjl4S2/H3wHatclrvlYfbJVU6GlIlqWGaUkdFvCuEr9iXJAY4zpEQ4P370EZ\ntsyVZQJBAOZu/X6RNSc9GBNYo0+4rzjAMLPn50wp0dPHogfPlt+hgVqZWx2l3o6y\nRVdVjA/gFqJp1Q+VWdS1tvYRIqmadkECQCVdqQuwgedEHmcewtNod42crjmwvWBx\nBKMTl6/WT4zwVb41eUujVWo0LHRLuCoK//GDqmloIh6L3MU8MqnIGb0CQFWcpD4/\nroCkMblk0hPoQPpyapJexc438x7XuEGFEhyxxauqC5R4YFKCf+KBS2gZgr4GSwBU\nQww+qZ3eRYM7faM=\n-----END PRIVATE KEY-----";
|
||||
$this->privateKeyFilePath = SSL_KEYS_PATH . 'private-ne.key';
|
||||
$this->publicKeyResource = openssl_pkey_get_public(SSL_KEYS_PATH . "public.key");
|
||||
$this->publicKeyString = "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDfdZEMQbms3t1oyAjY3kfxw/BN\n5A86fPfi4bZ97TIrIeMkMYTZegRJGm7kt6VI91gz+vgBYwVagNY937vFqru4USQz\nxzrNpAiCPi4SKr6kEy8f57zTlIVtg4pip9B7h55cCTg6tDBxSRKuUayR/phRrD/c\njBs+DMQNOBNkVW1CUQIDAQAB\n-----END PUBLIC KEY-----";
|
||||
$this->publicKeyFilePath = SSL_KEYS_PATH . 'public-ne.key';
|
||||
$this->signer = new RS256;
|
||||
$this->privateKeyResource = openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', 'tests');
|
||||
$this->privateKeyString = "-----BEGIN PRIVATE KEY-----\nMIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAN91kQxBuaze3WjI\nCNjeR/HD8E3kDzp89+Lhtn3tMish4yQxhNl6BEkabuS3pUj3WDP6+AFjBVqA1j3f\nu8Wqu7hRJDPHOs2kCII+LhIqvqQTLx/nvNOUhW2DimKn0HuHnlwJODq0MHFJEq5R\nrJH+mFGsP9yMGz4MxA04E2RVbUJRAgMBAAECgYEAjrDrO3Fo2GvD5Jn/lER0mnxt\nIb/kvYt5WyaYutbRN1u/SKhaVeklfWzkrSZb5DkV2LOE1JXfoEgvBnms1O9OSJXw\nqDrFF7NDebw95g6JzI+SbkIHw0Cb+/E9K92FjvW3Bi8j9PKIa8c/dpwIAIirc/q8\nuhSTf4WoIOHSFbSaQPECQQD1Wi9vynJLI5lShOs0wPomZOwNrXa73Lj8ciZC4oPS\nt6tWjbLnLsP+vTSLUyEYeQGsjdbY+y5siJmAqnV/ShB9AkEA6Sgna9gQw4dXN0jB\nSjOZSjl4S2/H3wHatclrvlYfbJVU6GlIlqWGaUkdFvCuEr9iXJAY4zpEQ4P370EZ\ntsyVZQJBAOZu/X6RNSc9GBNYo0+4rzjAMLPn50wp0dPHogfPlt+hgVqZWx2l3o6y\nRVdVjA/gFqJp1Q+VWdS1tvYRIqmadkECQCVdqQuwgedEHmcewtNod42crjmwvWBx\nBKMTl6/WT4zwVb41eUujVWo0LHRLuCoK//GDqmloIh6L3MU8MqnIGb0CQFWcpD4/\nroCkMblk0hPoQPpyapJexc438x7XuEGFEhyxxauqC5R4YFKCf+KBS2gZgr4GSwBU\nQww+qZ3eRYM7faM=\n-----END PRIVATE KEY-----";
|
||||
$this->privateKeyFilePath = SSL_KEYS_PATH.'private-ne.key';
|
||||
$this->publicKeyResource = openssl_pkey_get_public(SSL_KEYS_PATH.'public.key');
|
||||
$this->publicKeyString = "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDfdZEMQbms3t1oyAjY3kfxw/BN\n5A86fPfi4bZ97TIrIeMkMYTZegRJGm7kt6VI91gz+vgBYwVagNY937vFqru4USQz\nxzrNpAiCPi4SKr6kEy8f57zTlIVtg4pip9B7h55cCTg6tDBxSRKuUayR/phRrD/c\njBs+DMQNOBNkVW1CUQIDAQAB\n-----END PUBLIC KEY-----";
|
||||
$this->publicKeyFilePath = SSL_KEYS_PATH.'public-ne.key';
|
||||
$this->badPrivateKeyString = "-----BEGIN PRIVATE KEY-----\nfoo\nbar\n-----END PRIVATE KEY-----";
|
||||
$this->badPrivateKeyFilePath = SSL_KEYS_PATH.'nonexistant.key';
|
||||
$this->signer = new RS256();
|
||||
}
|
||||
|
||||
public function testStringKeyWorksProperly()
|
||||
@@ -38,4 +40,28 @@ class PublicKeyTest extends TestCase
|
||||
$this->assertInternalType('bool', $this->signer->verify($this->publicKeyResource, $encrypted, 'aaa'));
|
||||
$this->assertTrue($this->signer->verify($this->publicKeyResource, $encrypted, 'aaa'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @requires PHPUnit 5.4
|
||||
*/
|
||||
public function testBadStringKeyThrowsException()
|
||||
{
|
||||
$this->expectException(\RuntimeException::class);
|
||||
$this->signer->sign('aaa', $this->badPrivateKeyString);
|
||||
}
|
||||
|
||||
/**
|
||||
* @requires PHPUnit 5.4
|
||||
*/
|
||||
public function testFilePathKeyThrowsException()
|
||||
{
|
||||
if(defined('HHVM_VERSION')) {
|
||||
// in HHVM, openssl_pkey_get_(public|private) throws an error when
|
||||
// passed a file path that cannot be found
|
||||
$this->expectException('PHPUnit_Framework_Error');
|
||||
} else {
|
||||
$this->expectException(\RuntimeException::class);
|
||||
}
|
||||
$this->signer->sign('aaa', $this->badPrivateKeyFilePath);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,21 +2,21 @@
|
||||
|
||||
namespace Namshi\JOSE\Test\OpenSSL\Signer;
|
||||
|
||||
use \PHPUnit_Framework_TestCase as TestCase;
|
||||
use Namshi\JOSE\Signer\OpenSSL\None;
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
class noneTest extends TestCase
|
||||
class NoneTest extends TestCase
|
||||
{
|
||||
public function testVerificationWorksProperly()
|
||||
{
|
||||
$signer = new none;
|
||||
$signer = new none();
|
||||
|
||||
$this->assertTrue($signer->verify('bar', '', 'aaa'));
|
||||
}
|
||||
|
||||
public function testSigningWorksProperly()
|
||||
{
|
||||
$signer = new none;
|
||||
$signer = new none();
|
||||
$signature = $signer->sign('aaa', 'foo');
|
||||
|
||||
$this->assertTrue($signature === '');
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
namespace Namshi\JOSE\Test\OpenSSL\Signer;
|
||||
|
||||
use \PHPUnit_Framework_TestCase as TestCase;
|
||||
use Namshi\JOSE\Signer\OpenSSL\RS256;
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
class RS256Test extends TestCase
|
||||
{
|
||||
public function setup()
|
||||
{
|
||||
$this->privateKey = openssl_pkey_get_private(SSL_KEYS_PATH . "private.key", 'tests');
|
||||
$this->public = openssl_pkey_get_public(SSL_KEYS_PATH . "public.key");
|
||||
$this->signer = new RS256;
|
||||
$this->privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', 'tests');
|
||||
$this->public = openssl_pkey_get_public(SSL_KEYS_PATH.'public.key');
|
||||
$this->signer = new RS256();
|
||||
}
|
||||
|
||||
public function testVerificationWorksProperly()
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
namespace Namshi\JOSE\Test\OpenSSL\Signer;
|
||||
|
||||
use \PHPUnit_Framework_TestCase as TestCase;
|
||||
use Namshi\JOSE\Signer\OpenSSL\RS384;
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
class RS384Test extends TestCase
|
||||
{
|
||||
public function setup()
|
||||
{
|
||||
$this->privateKey = openssl_pkey_get_private(SSL_KEYS_PATH . "private.key", 'tests');
|
||||
$this->public = openssl_pkey_get_public(SSL_KEYS_PATH . "public.key");
|
||||
$this->signer = new RS384;
|
||||
$this->privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', 'tests');
|
||||
$this->public = openssl_pkey_get_public(SSL_KEYS_PATH.'public.key');
|
||||
$this->signer = new RS384();
|
||||
}
|
||||
|
||||
public function testVerificationWorksProperly()
|
||||
|
||||
@@ -2,16 +2,16 @@
|
||||
|
||||
namespace Namshi\JOSE\Test\OpenSSL\Signer;
|
||||
|
||||
use \PHPUnit_Framework_TestCase as TestCase;
|
||||
use Namshi\JOSE\Signer\OpenSSL\RS512;
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
class RS512Test extends TestCase
|
||||
{
|
||||
public function setup()
|
||||
{
|
||||
$this->privateKey = openssl_pkey_get_private(SSL_KEYS_PATH . "private.key", 'tests');
|
||||
$this->public = openssl_pkey_get_public(SSL_KEYS_PATH . "public.key");
|
||||
$this->signer = new RS512;
|
||||
$this->privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', 'tests');
|
||||
$this->public = openssl_pkey_get_public(SSL_KEYS_PATH.'public.key');
|
||||
$this->signer = new RS512();
|
||||
}
|
||||
|
||||
public function testVerificationWorksProperly()
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace Namshi\JOSE\Test\SecLib\Signer;
|
||||
namespace Namshi\JOSE\Test\Signer\SecLib;
|
||||
|
||||
use Namshi\JOSE\Signer\SecLib\RS256;
|
||||
use \PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
class RS256Test extends TestCase {
|
||||
class RS256TEST extends SecLibTestCase
|
||||
{
|
||||
public function setup()
|
||||
{
|
||||
$this->privateKey = file_get_contents(SSL_KEYS_PATH . "private.key");
|
||||
$this->public = file_get_contents(SSL_KEYS_PATH . "public.key");
|
||||
$this->password = 'tests';
|
||||
$this->signer = new RS256();
|
||||
parent::setup();
|
||||
|
||||
$this->privateKey = file_get_contents(SSL_KEYS_PATH.'private.key');
|
||||
$this->public = file_get_contents(SSL_KEYS_PATH.'public.key');
|
||||
$this->password = 'tests';
|
||||
$this->signer = new RS256();
|
||||
}
|
||||
|
||||
public function testVerificationWorksProperly()
|
||||
@@ -25,5 +27,4 @@ class RS256Test extends TestCase {
|
||||
{
|
||||
$this->assertInternalType('string', $this->signer->sign('aaa', $this->privateKey, $this->password));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Namshi\JOSE\Test\SecLib\Signer;
|
||||
namespace Namshi\JOSE\Test\Signer\SecLib;
|
||||
|
||||
use Namshi\JOSE\Signer\SecLib\RS384;
|
||||
use \PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
class RS384Test extends TestCase {
|
||||
class RS384Test extends SecLibTestCase
|
||||
{
|
||||
public function setup()
|
||||
{
|
||||
$this->privateKey = file_get_contents(SSL_KEYS_PATH . "private.key");
|
||||
$this->public = file_get_contents(SSL_KEYS_PATH . "public.key");
|
||||
$this->password = 'tests';
|
||||
$this->signer = new RS384();
|
||||
parent::setup();
|
||||
|
||||
$this->privateKey = file_get_contents(SSL_KEYS_PATH.'private.key');
|
||||
$this->public = file_get_contents(SSL_KEYS_PATH.'public.key');
|
||||
$this->password = 'tests';
|
||||
$this->signer = new RS384();
|
||||
}
|
||||
|
||||
public function testVerificationWorksProperly()
|
||||
|
||||
@@ -1,18 +1,19 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace Namshi\JOSE\Test\SecLib\Signer;
|
||||
namespace Namshi\JOSE\Test\Signer\SecLib;
|
||||
|
||||
use Namshi\JOSE\Signer\SecLib\RS512;
|
||||
use \PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
class RS512Test extends TestCase {
|
||||
class RS512Test extends SecLibTestCase
|
||||
{
|
||||
public function setup()
|
||||
{
|
||||
$this->privateKey = file_get_contents(SSL_KEYS_PATH . "private.key");
|
||||
$this->public = file_get_contents(SSL_KEYS_PATH . "public.key");
|
||||
$this->password = 'tests';
|
||||
$this->signer = new RS512();
|
||||
parent::setup();
|
||||
|
||||
$this->privateKey = file_get_contents(SSL_KEYS_PATH.'private.key');
|
||||
$this->public = file_get_contents(SSL_KEYS_PATH.'public.key');
|
||||
$this->password = 'tests';
|
||||
$this->signer = new RS512();
|
||||
}
|
||||
|
||||
public function testVerificationWorksProperly()
|
||||
|
||||
17
vendor/namshi/jose/tests/Namshi/JOSE/Test/Signer/SecLib/SecLibTestCase.php
vendored
Normal file
17
vendor/namshi/jose/tests/Namshi/JOSE/Test/Signer/SecLib/SecLibTestCase.php
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace Namshi\JOSE\Test\Signer\SecLib;
|
||||
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
class SecLibTestCase extends TestCase
|
||||
{
|
||||
public function setup()
|
||||
{
|
||||
if (version_compare(PHP_VERSION, '7.0.0-dev') >= 0) {
|
||||
$this->markTestSkipped("phpseclib 1.0.0(LTS), even the latest 2.0.0, doesn't support PHP7 yet");
|
||||
}
|
||||
|
||||
parent::setUp();
|
||||
}
|
||||
}
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
namespace Namshi\JOSE\Test;
|
||||
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
use Namshi\JOSE\SimpleJWS;
|
||||
use DateTime;
|
||||
use Namshi\JOSE\SimpleJWS;
|
||||
use PHPUnit_Framework_TestCase as TestCase;
|
||||
|
||||
class SimpleJWSTest extends TestCase
|
||||
{
|
||||
@@ -12,42 +12,96 @@ class SimpleJWSTest extends TestCase
|
||||
|
||||
public function setup()
|
||||
{
|
||||
$date = new DateTime('tomorrow');
|
||||
$data = array(
|
||||
'a' => 'b',
|
||||
'exp' => $date->format('U')
|
||||
$date = new DateTime('tomorrow');
|
||||
$data = array(
|
||||
'a' => 'b',
|
||||
'exp' => $date->format('U'),
|
||||
);
|
||||
$this->jws = new SimpleJWS(array('alg' => 'RS256'));
|
||||
$this->jws = new SimpleJWS(array('alg' => 'RS256'));
|
||||
$this->jws->setPayload($data);
|
||||
}
|
||||
|
||||
public function testConstruction()
|
||||
{
|
||||
$this->assertSame($this->jws->getHeader(), array('alg' => 'RS256', 'typ' => 'JWS'));
|
||||
$this->assertRegExp('/^\d+$/', $this->jws->getPayload()['iat'], 'iat property has integer value (from construction)');
|
||||
$this->assertTrue(is_int($this->jws->getPayload()['iat']), 'iat property should be integer value (from construction)');
|
||||
}
|
||||
|
||||
public function testValidationOfAValidSimpleJWS()
|
||||
{
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH . "private.key", self::SSL_KEY_PASSPHRASE);
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', self::SSL_KEY_PASSPHRASE);
|
||||
$this->jws->sign($privateKey);
|
||||
|
||||
$jws = SimpleJWS::load($this->jws->getTokenString());
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH . "public.key");
|
||||
$jws = SimpleJWS::load($this->jws->getTokenString());
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH.'public.key');
|
||||
$this->assertTrue($jws->isValid($public_key, 'RS256'));
|
||||
}
|
||||
|
||||
public function testValidationOfInvalidSimpleJWS()
|
||||
{
|
||||
$date = new DateTime('yesterday');
|
||||
$date = new DateTime('yesterday');
|
||||
$this->jws->setPayload(array(
|
||||
'exp' => $date->format('U')
|
||||
'exp' => $date->format('U'),
|
||||
));
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH . "private.key", self::SSL_KEY_PASSPHRASE);
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', self::SSL_KEY_PASSPHRASE);
|
||||
$this->jws->sign($privateKey);
|
||||
|
||||
$jws = SimpleJWS::load($this->jws->getTokenString());
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH . "public.key");
|
||||
$jws = SimpleJWS::load($this->jws->getTokenString());
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH.'public.key');
|
||||
$this->assertFalse($jws->isValid($public_key, 'RS256'));
|
||||
}
|
||||
|
||||
public function testValidationOfValidSimpleJWSWithStringIat()
|
||||
{
|
||||
$date = new DateTime('tomorrow');
|
||||
$data = array(
|
||||
'a' => 'b',
|
||||
'exp' => $date->format('U'),
|
||||
'iat' => time()
|
||||
);
|
||||
$this->jws->setPayload($data);
|
||||
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', self::SSL_KEY_PASSPHRASE);
|
||||
$this->jws->sign($privateKey);
|
||||
|
||||
$jws = SimpleJWS::load($this->jws->getTokenString());
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH.'public.key');
|
||||
$this->assertTrue($jws->isValid($public_key, 'RS256'));
|
||||
}
|
||||
|
||||
public function testValidationOfValidSimpleJWSWithExpAsInt()
|
||||
{
|
||||
$date = new DateTime('tomorrow');
|
||||
$data = array(
|
||||
'a' => 'b',
|
||||
'exp' => $date->getTimestamp(),
|
||||
'iat' => time()
|
||||
);
|
||||
$this->jws->setPayload($data);
|
||||
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', self::SSL_KEY_PASSPHRASE);
|
||||
$this->jws->sign($privateKey);
|
||||
|
||||
$jws = SimpleJWS::load($this->jws->getTokenString());
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH.'public.key');
|
||||
$this->assertTrue($jws->isValid($public_key, 'RS256'));
|
||||
}
|
||||
|
||||
public function testValidationOfInvalidSimpleJWSWithExpAsInt()
|
||||
{
|
||||
$date = new DateTime('yesterday');
|
||||
$data = array(
|
||||
'a' => 'b',
|
||||
'exp' => $date->getTimestamp(),
|
||||
'iat' => time()
|
||||
);
|
||||
$this->jws->setPayload($data);
|
||||
|
||||
$privateKey = openssl_pkey_get_private(SSL_KEYS_PATH.'private.key', self::SSL_KEY_PASSPHRASE);
|
||||
$this->jws->sign($privateKey);
|
||||
|
||||
$jws = SimpleJWS::load($this->jws->getTokenString());
|
||||
$public_key = openssl_pkey_get_public(SSL_KEYS_PATH.'public.key');
|
||||
$this->assertFalse($jws->isValid($public_key, 'RS256'));
|
||||
}
|
||||
}
|
||||
|
||||
6
vendor/namshi/jose/tests/bootstrap.php
vendored
6
vendor/namshi/jose/tests/bootstrap.php
vendored
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
$loader = require __DIR__ . '/../vendor/autoload.php';
|
||||
$loader->add("Namshi\\JOSE\\Test", __DIR__);
|
||||
$loader = require __DIR__.'/../vendor/autoload.php';
|
||||
$loader->add('Namshi\\JOSE\\Test', __DIR__);
|
||||
|
||||
define('TEST_DIR', __DIR__);
|
||||
define('SSL_KEYS_PATH', "file://" . TEST_DIR . DIRECTORY_SEPARATOR);
|
||||
define('SSL_KEYS_PATH', 'file://'.TEST_DIR.DIRECTORY_SEPARATOR);
|
||||
|
||||
Reference in New Issue
Block a user