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.
Zur Liste
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 +