Current File : //home/tradevaly/prioyshi.com/project/vendor/namshi/jose/tests/Namshi/JOSE/Test/BCJWSTest.php |
<?php
namespace Namshi\JOSE\Test;
use Namshi\JOSE\Base64\Base64Encoder;
use Namshi\JOSE\JWS;
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.
*/
class BCJWSTest extends TestCase
{
const SSL_KEY_PASSPHRASE = 'tests';
public function testTestBC()
{
$data = array(
array('order_nr' => 'ae123123'),
array('username' => 'asdasdasd'),
array('anything' => '!@#$%^&*()_+'),
);
foreach ($data as $payload) {
$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));
$t = $jwsOld->getTokenString();
$jwsNew = JWS::load($t);
$this->assertTrue($jwsNew->verify(openssl_pkey_get_public(SSL_KEYS_PATH.'public.key')));
}
}
}