| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- namespace Firebase\JWT;
- use InvalidArgumentException;
- use OpenSSLAsymmetricKey;
- class Key
- {
- /** @var string $algorithm */
- private $algorithm;
- /** @var string|resource|OpenSSLAsymmetricKey $keyMaterial */
- private $keyMaterial;
- /**
- * @param string|resource|OpenSSLAsymmetricKey $keyMaterial
- * @param string $algorithm
- */
- public function __construct($keyMaterial, $algorithm)
- {
- if (
- !is_string($keyMaterial)
- && !is_resource($keyMaterial)
- && !$keyMaterial instanceof OpenSSLAsymmetricKey
- ) {
- throw new InvalidArgumentException('Type error: $keyMaterial must be a string, resource, or OpenSSLAsymmetricKey');
- }
- if (empty($keyMaterial)) {
- throw new InvalidArgumentException('Type error: $keyMaterial must not be empty');
- }
- if (!is_string($algorithm)|| empty($keyMaterial)) {
- throw new InvalidArgumentException('Type error: $algorithm must be a string');
- }
- $this->keyMaterial = $keyMaterial;
- $this->algorithm = $algorithm;
- }
- /**
- * Return the algorithm valid for this key
- *
- * @return string
- */
- public function getAlgorithm()
- {
- return $this->algorithm;
- }
- /**
- * @return string|resource|OpenSSLAsymmetricKey
- */
- public function getKeyMaterial()
- {
- return $this->keyMaterial;
- }
- }
|