Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/tutor-pro/vendor/firebase/php-jwt/src/Key.php
Keine Baseline-Datei – Diff nur gegen leer.
1
-
1
+
<?php
2
+
3
+
namespace Firebase\JWT;
4
+
5
+
use InvalidArgumentException;
6
+
use OpenSSLAsymmetricKey;
7
+
use OpenSSLCertificate;
8
+
use TypeError;
9
+
10
+
class Key
11
+
{
12
+
/** @var string|resource|OpenSSLAsymmetricKey|OpenSSLCertificate */
13
+
private $keyMaterial;
14
+
/** @var string */
15
+
private $algorithm;
16
+
17
+
/**
18
+
* @param string|resource|OpenSSLAsymmetricKey|OpenSSLCertificate $keyMaterial
19
+
* @param string $algorithm
20
+
*/
21
+
public function __construct(
22
+
$keyMaterial,
23
+
string $algorithm
24
+
) {
25
+
if (
26
+
!\is_string($keyMaterial)
27
+
&& !$keyMaterial instanceof OpenSSLAsymmetricKey
28
+
&& !$keyMaterial instanceof OpenSSLCertificate
29
+
&& !\is_resource($keyMaterial)
30
+
) {
31
+
throw new TypeError('Key material must be a string, resource, or OpenSSLAsymmetricKey');
32
+
}
33
+
34
+
if (empty($keyMaterial)) {
35
+
throw new InvalidArgumentException('Key material must not be empty');
36
+
}
37
+
38
+
if (empty($algorithm)) {
39
+
throw new InvalidArgumentException('Algorithm must not be empty');
40
+
}
41
+
42
+
// TODO: Remove in PHP 8.0 in favor of class constructor property promotion
43
+
$this->keyMaterial = $keyMaterial;
44
+
$this->algorithm = $algorithm;
45
+
}
46
+
47
+
/**
48
+
* Return the algorithm valid for this key
49
+
*
50
+
* @return string
51
+
*/
52
+
public function getAlgorithm(): string
53
+
{
54
+
return $this->algorithm;
55
+
}
56
+
57
+
/**
58
+
* @return string|resource|OpenSSLAsymmetricKey|OpenSSLCertificate
59
+
*/
60
+
public function getKeyMaterial()
61
+
{
62
+
return $this->keyMaterial;
63
+
}
64
+
}
65
+