ILIAS  release_8 Revision v8.24
Key.php
Go to the documentation of this file.
1<?php
2
3namespace Firebase\JWT;
4
5use InvalidArgumentException;
6use OpenSSLAsymmetricKey;
7use OpenSSLCertificate;
8use TypeError;
9
10class Key
11{
13 private $keyMaterial;
15 private string $algorithm;
16
21 public function __construct(
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
52 public function getAlgorithm(): string
53 {
54 return $this->algorithm;
55 }
56
60 public function getKeyMaterial()
61 {
62 return $this->keyMaterial;
63 }
64}
string $algorithm
Definition: Key.php:15
getAlgorithm()
Return the algorithm valid for this key.
Definition: Key.php:52
getKeyMaterial()
Definition: Key.php:60
__construct( $keyMaterial, string $algorithm)
Definition: Key.php:21