ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
Key.php
Go to the documentation of this file.
1 <?php
2 
3 namespace Firebase\JWT;
4 
8 use TypeError;
9 
10 class 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 }
getKeyMaterial()
Definition: Key.php:60
getAlgorithm()
Return the algorithm valid for this key.
Definition: Key.php:52
string $algorithm
Definition: Key.php:15
__construct( $keyMaterial, string $algorithm)
Definition: Key.php:21