Also accept an RSA key with crlf

This commit is contained in:
Ron Arts 2017-10-30 16:21:17 +01:00
parent cc98b5ec16
commit 4563685375
4 changed files with 16 additions and 2 deletions

4
.gitattributes vendored
View File

@ -10,4 +10,6 @@
/phpunit.xml.dist export-ignore /phpunit.xml.dist export-ignore
/CHANGELOG.md export-ignore /CHANGELOG.md export-ignore
/CONTRIBUTING.md export-ignore /CONTRIBUTING.md export-ignore
/README.md export-ignore /README.md export-ignore
+*.crlf eol=crlf

View File

@ -14,7 +14,7 @@ namespace League\OAuth2\Server;
class CryptKey class CryptKey
{ {
const RSA_KEY_PATTERN = const RSA_KEY_PATTERN =
'/^(-----BEGIN (RSA )?(PUBLIC|PRIVATE) KEY-----\n)(.|\n)+(-----END (RSA )?(PUBLIC|PRIVATE) KEY-----)$/'; '/^(-----BEGIN (RSA )?(PUBLIC|PRIVATE) KEY-----)(.|\n|\r)+(-----END (RSA )?(PUBLIC|PRIVATE) KEY-----)$/';
/** /**
* @var string * @var string

View File

@ -21,6 +21,12 @@ class CryptKeyTest extends \PHPUnit_Framework_TestCase
$this->assertEquals('file://' . $keyFile, $key->getKeyPath()); $this->assertEquals('file://' . $keyFile, $key->getKeyPath());
$this->assertEquals('secret', $key->getPassPhrase()); $this->assertEquals('secret', $key->getPassPhrase());
$keyFile = __DIR__ . '/Stubs/public.key.crlf';
$key = new CryptKey($keyFile, 'secret');
$this->assertEquals('file://' . $keyFile, $key->getKeyPath());
$this->assertEquals('secret', $key->getPassPhrase());
} }
public function testKeyFileCreation() public function testKeyFileCreation()

View File

@ -0,0 +1,6 @@
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDOBcFjGUlo3BJ9zjwQLgAHn6Oy
5Si0uB7MublTiPob8rWTiCE4weAFqzPoAB07vB0t0f8c1R8rmwHMD5ljWPBgJ8Fe
wtwAUzprOBcau6DWukd/TKxXWeVLAl/NZxijI+jR5QDBYLNBtj1G4LBVHMmINd3r
yCycbf9ac3rcC8zhrQIDAQAB
-----END PUBLIC KEY-----