54 lines
1.4 KiB
PHP
54 lines
1.4 KiB
PHP
|
<?php
|
||
|
namespace Lcobucci\JWT;
|
||
|
|
||
|
use Lcobucci\JWT\Signer\Keychain;
|
||
|
|
||
|
/**
|
||
|
* @author Luís Otávio Cobucci Oblonczyk <lcobucci@gmail.com>
|
||
|
*/
|
||
|
trait Keys
|
||
|
{
|
||
|
/**
|
||
|
* @var array
|
||
|
*/
|
||
|
protected static $rsaKeys;
|
||
|
|
||
|
/**
|
||
|
* @var array
|
||
|
*/
|
||
|
protected static $ecdsaKeys;
|
||
|
|
||
|
/**
|
||
|
* @beforeClass
|
||
|
*/
|
||
|
public static function createRsaKeys()
|
||
|
{
|
||
|
$keychain = new Keychain();
|
||
|
$dir = 'file://' . __DIR__;
|
||
|
|
||
|
static::$rsaKeys = [
|
||
|
'private' => $keychain->getPrivateKey($dir . '/rsa/private.key'),
|
||
|
'public' => $keychain->getPublicKey($dir . '/rsa/public.key'),
|
||
|
'encrypted-private' => $keychain->getPrivateKey($dir . '/rsa/encrypted-private.key', 'testing'),
|
||
|
'encrypted-public' => $keychain->getPublicKey($dir . '/rsa/encrypted-public.key')
|
||
|
];
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @beforeClass
|
||
|
*/
|
||
|
public static function createEcdsaKeys()
|
||
|
{
|
||
|
$keychain = new Keychain();
|
||
|
$dir = 'file://' . __DIR__;
|
||
|
|
||
|
static::$ecdsaKeys = [
|
||
|
'private' => $keychain->getPrivateKey($dir . '/ecdsa/private.key'),
|
||
|
'private-params' => $keychain->getPrivateKey($dir . '/ecdsa/private2.key'),
|
||
|
'public1' => $keychain->getPublicKey($dir . '/ecdsa/public1.key'),
|
||
|
'public2' => $keychain->getPublicKey($dir . '/ecdsa/public2.key'),
|
||
|
'public-params' => $keychain->getPublicKey($dir . '/ecdsa/public3.key'),
|
||
|
];
|
||
|
}
|
||
|
}
|