Submit
Path:
~
/
/
usr
/
local
/
psa
/
phpMyAdmin
/
vendor
/
web-auth
/
cose-lib
/
src
/
Algorithm
/
Signature
/
RSA
/
File Content:
RSA.php
<?php declare(strict_types=1); /* * The MIT License (MIT) * * Copyright (c) 2014-2021 Spomky-Labs * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file for details. */ namespace Cose\Algorithm\Signature\RSA; use Assert\Assertion; use Cose\Algorithm\Signature\Signature; use Cose\Key\Key; use Cose\Key\RsaKey; use InvalidArgumentException; abstract class RSA implements Signature { public function sign(string $data, Key $key): string { $key = $this->handleKey($key); Assertion::true($key->isPrivate(), 'The key is not private'); if (false === openssl_sign($data, $signature, $key->asPem(), $this->getHashAlgorithm())) { throw new InvalidArgumentException('Unable to sign the data'); } return $signature; } public function verify(string $data, Key $key, string $signature): bool { $key = $this->handleKey($key); return 1 === openssl_verify($data, $signature, $key->asPem(), $this->getHashAlgorithm()); } abstract protected function getHashAlgorithm(): int; private function handleKey(Key $key): RsaKey { return new RsaKey($key->getData()); } }
Submit
FILE
FOLDER
INFO
Name
Size
Permission
Action
PS256.php
530 bytes
0644
PS384.php
530 bytes
0644
PS512.php
530 bytes
0644
PSSRSA.php
5923 bytes
0644
RS1.php
514 bytes
0644
RS256.php
516 bytes
0644
RS384.php
516 bytes
0644
RS512.php
516 bytes
0644
RSA.php
1233 bytes
0644
N4ST4R_ID | Naxtarrr